marytts / marytts-lang-hsb

Upper Sorbian language component for MaryTTS
GNU Lesser General Public License v3.0
2 stars 2 forks source link

Test with different Java versions #1

Closed psibre closed 3 years ago

psibre commented 3 years ago

From Gradle v6.7 onwards, we can actually set the Java toolchain itself to build on Java 8, e.g.,

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(8)
    }
}

But 3b0d46f055fc2112b83461467133c94cef001b36 fixes the issue of the incompatible lexicon dependency with building on Java versions higher than 8.

psibre commented 3 years ago

It might be worth shifting the sourceCompatibility requirement left to marytts/gradle-marytts-lexicon-compiler-plugin as an enhancement.

psibre commented 3 years ago

@aStereoID Please check if this PR fixes the problem you encountered!

aStereoID commented 3 years ago

@aStereoID Please check if this PR fixes the problem you encountered!

unfortunately I'm still getting that same error:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':test'.
> Could not resolve all task dependencies for configuration ':testRuntimeClasspath'.
   > Could not resolve de.serbski-institut:marytts-lexicon-hsb:0.1.0-SNAPSHOT.
     Required by:
         project :
      > No matching variant of project :marytts-lexicon-hsb was found. The consumer was configured to find a runtime of a library compatible with Java 8, packaged as a jar, and its dependencies declared externally but:
          - Variant 'apiElements' capability de.serbski-institut:marytts-lexicon-hsb:0.1.0-SNAPSHOT declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares an API of a component compatible with Java 11 and the consumer needed a runtime of a component compatible with Java 8
          - Variant 'runtimeElements' capability de.serbski-institut:marytts-lexicon-hsb:0.1.0-SNAPSHOT declares a runtime of a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component compatible with Java 11 and the consumer needed a component compatible with Java 8

Anything I have to change on my part? My java version:

../github/hsb/marytts-lang-hsb# java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
psibre commented 3 years ago

@aStereoID You're running this from the java-versions branch?

A sanity check, in case you're in a Git pit: simply add the line

sourceCompatibility = 1.8

to the marytts-lexicon-hsb/build.gradle file.

aStereoID commented 3 years ago

@aStereoID You're running this from the java-versions branch?

well...no...I actually used the default master branch. Sorry, everything works fine now.

psibre commented 3 years ago

Excellent, glad to hear the issue is fixed. Merging this to master.