У меня есть плагин, который я пишу для обработки сгенерированного кода от поставщика. Теперь у меня проблема в том, что генератор кода называет некоторые файлы *.JAVA
вместо *.java
, и задача компиляции не может их забрать.
но становится страннее
dependencies {
j2cImplementation 'com.ibm.etools:marshall:6.1.0.1-20070706_1700'
j2cCompileOnly 'javax.resource:connector:1.0'
}
sourceSets {
j2c {
java {
srcDirs += "src/generated-sources/j2c/java"
}
}
}
compileJ2cJava {
source = sourceSets.j2c.allSource
}
compileJava.dependsOn compileJ2cJava
task tryit {
sourceSets.j2c.allSource.each {println(it)}
println("*")
compileJ2cJava.source.each {println(it)}
println("*")
compileJ2cJava.includes.each {println(it)}
println("*")
compileJ2cJava.excludes.each {println(it)}
}
печатает это
/formats/TPQPMI90Out.java
/formats/TPQPMI90OutRec.java
/formats/TPQPMI90OutRec_ERROR_TABLE.JAVA
/formats/TPQPMI95Out.java
/formats/TPQPMI95OutRec.java
/formats/TPQPMI95OutRec_ERROR_TABLE.JAVA
/scopes/TPQPMI90In.java
/scopes/TPQPMI90InRec.java
/scopes/TPQPMI95In.java
/scopes/TPQPMI95InRec.java
*
/formats/TPQPMI90Out.java
/formats/TPQPMI90OutRec.java
/formats/TPQPMI90OutRec_ERROR_TABLE.JAVA
/formats/TPQPMI95Out.java
/formats/TPQPMI95OutRec.java
/formats/TPQPMI95OutRec_ERROR_TABLE.JAVA
/scopes/TPQPMI90In.java
/scopes/TPQPMI90InRec.java
/scopes/TPQPMI95In.java
/scopes/TPQPMI95InRec.java
*
*
видите, задача compileJ2cJava.source.each {println(it)}
показывает, что файлы * .JAVA находятся в исходном коде, но когда он передается компилятору, компилятор никогда не получает эти два файла и ошибки с классом, который не найден.
Я в тупике, я попробовал все комбинации include
во всех местах, о которых мог подумать. Я не могу заставить его забрать эти файлы. есть идеи?
ну, я нашел причину, по которой
https://docs.gradle.org/current/javadoc/org/gradle/api/file/SourceDirectorySet.html#getFilter--
похоже, что я ничего не могу с этим поделать без огромного количества работы (в основном добавление нового языка в систему), мне придется написать задачу, которая в нижнем регистре всех расширений.