Чувствительность к регистру Java компиляции Gradle - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть плагин, который я пишу для обработки сгенерированного кода от поставщика. Теперь у меня проблема в том, что генератор кода называет некоторые файлы *.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--

похоже, что я ничего не могу с этим поделать без огромного количества работы (в основном добавление нового языка в систему), мне придется написать задачу, которая в нижнем регистре всех расширений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...