Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Gradle to 6.7 and latest Java to 15 (#359 / #363) #363

Merged
merged 5 commits into from
Oct 22, 2020

Conversation

Bukama
Copy link
Member

@Bukama Bukama commented Oct 22, 2020

@beatngu13 Please don't get mad at me, I was bored 馃懠

Update Gradle to 6.7 and latest Java to 15 (#359 / #362)

This PR also updates the JaCoCo plugin to version 0.8.6,
which adds experimental support for Java 15.
The official support for Java 15 comes with version 0.8.7,
but as of today (2020-10-22) there is only a four days old
snapshot release, which Gradle can't pick up, as it's not
on Maven central.

closes #359 
PR: #363

@Bukama Bukama changed the title Update Gradle to 6.7 and latest Java to 15 (#359 / #362) Update Gradle to 6.7 and latest Java to 15 (#359 / #363) Oct 22, 2020
@Bukama Bukama requested a review from beatngu13 October 22, 2020 10:40
@Bukama
Copy link
Member Author

Bukama commented Oct 22, 2020

If anyone has an idea why the builds fail, please post a comment. On my local machine builds with Java 15 pass without any problems. But here on Github it says it can't even compile because the dependencies would not exist.

edit: Nice IntellJ faking the Java 15build, when selecting the JDK in the project settings. When I build by hand on command line I also get exceptions, thrown by JaCoCo

Expand for stack trace
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 59
        at org.jacoco.agent.rt.internal_43f5073.asm.ClassReader.<init>(ClassReader.java:195)
        at org.jacoco.agent.rt.internal_43f5073.asm.ClassReader.<init>(ClassReader.java:176)
        at org.jacoco.agent.rt.internal_43f5073.asm.ClassReader.<init>(ClassReader.java:162)
        at org.jacoco.agent.rt.internal_43f5073.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)
        at org.jacoco.agent.rt.internal_43f5073.core.instr.Instrumenter.instrument(Instrumenter.java:75)
        at org.jacoco.agent.rt.internal_43f5073.core.instr.Instrumenter.instrument(Instrumenter.java:107)
        ... 78 more
java.util.ServiceConfigurationError: Locale provider adapter "CLDR"cannot be instantiated.
        at java.base/sun.util.locale.provider.LocaleProviderAdapter.forType(LocaleProviderAdapter.java:199)
        at java.base/sun.util.locale.provider.LocaleProviderAdapter.findAdapter(LocaleProviderAdapter.java:287)
        at java.base/sun.util.locale.provider.LocaleProviderAdapter.getAdapter(LocaleProviderAdapter.java:258)
        at java.base/java.text.DecimalFormatSymbols.getInstance(DecimalFormatSymbols.java:180)
        at java.base/java.text.DecimalFormat.<init>(DecimalFormat.java:437)
        at org.apache.logging.log4j.core.config.plugins.util.PluginRegistry.decodeCacheFiles(PluginRegistry.java:194)
        at org.apache.logging.log4j.core.config.plugins.util.PluginRegistry.loadFromMainClassLoader(PluginRegistry.java:119)
        at org.apache.logging.log4j.core.config.plugins.util.PluginManager.collectPlugins(PluginManager.java:132)
        at org.apache.logging.log4j.core.pattern.PatternParser.<init>(PatternParser.java:132)
        at org.apache.logging.log4j.core.pattern.PatternParser.<init>(PatternParser.java:113)
        at org.apache.logging.log4j.core.layout.PatternLayout.createPatternParser(PatternLayout.java:254)
        at org.apache.logging.log4j.core.layout.PatternLayout$SerializerBuilder.build(PatternLayout.java:393)
        at org.apache.logging.log4j.core.layout.PatternLayout.<init>(PatternLayout.java:139)
        at org.apache.logging.log4j.core.layout.PatternLayout.<init>(PatternLayout.java:60)
        at org.apache.logging.log4j.core.layout.PatternLayout$Builder.build(PatternLayout.java:682)
        at org.apache.logging.log4j.core.config.AbstractConfiguration.setToDefault(AbstractConfiguration.java:625)
        at org.apache.logging.log4j.core.config.DefaultConfiguration.<init>(DefaultConfiguration.java:47)
        at org.apache.logging.log4j.core.LoggerContext.<init>(LoggerContext.java:95)
        at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.createContext(ClassLoaderContextSelector.java:179)
        at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:153)
        at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:78)
        at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:65)
        at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:148)
        at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
        at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
        at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:138)
        at org.apache.logging.log4j.jul.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:34)
        at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48)
        at org.apache.logging.log4j.jul.LogManager.getLogger(LogManager.java:89)
        at java.logging/java.util.logging.LogManager.demandLogger(LogManager.java:519)
        at java.logging/java.util.logging.LogManager.demandLogger(LogManager.java:515)
        at java.logging/java.util.logging.Logger.demandLogger(Logger.java:654)
        at java.logging/java.util.logging.Logger.getLogger(Logger.java:717)
        at java.logging/java.util.logging.Logger.getLogger(Logger.java:701)
        at org.gradle.internal.logging.source.JavaUtilLoggingSystem.<init>(JavaUtilLoggingSystem.java:55)
        at org.gradle.internal.logging.services.LoggingServiceRegistry.createLoggingManagerFactory(LoggingServiceRegistry.java:136)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
        at org.gradle.internal.service.ReflectionBasedServiceMethod.invoke(ReflectionBasedServiceMethod.java:34)
        at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:846)
        at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:773)
        at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectServiceProvider.getInstance(DefaultServiceRegistry.java:563)
        at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:621)
        at org.gradle.internal.service.DefaultServiceRegistry.getFactory(DefaultServiceRegistry.java:317)
        at org.gradle.internal.service.DefaultServiceRegistry.newInstance(DefaultServiceRegistry.java:373)
        at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.createLoggingManager(SystemApplicationClassLoaderWorker.java:207)
        at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:91)
        at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
        at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
        at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
        at java.base/sun.util.locale.provider.LocaleProviderAdapter.forType(LocaleProviderAdapter.java:188)
        ... 52 more
Caused by: java.util.ServiceConfigurationError: sun.util.locale.provider.LocaleDataMetaInfo: Unable to load sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo
        at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:584)
        at java.base/java.util.ServiceLoader.loadProvider(ServiceLoader.java:856)
        at java.base/java.util.ServiceLoader$ModuleServicesLookupIterator.hasNext(ServiceLoader.java:1078)
        at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1301)
        at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1386)
        at java.base/sun.util.cldr.CLDRLocaleProviderAdapter$1.run(CLDRLocaleProviderAdapter.java:89)
        at java.base/sun.util.cldr.CLDRLocaleProviderAdapter$1.run(CLDRLocaleProviderAdapter.java:86)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:554)
        at java.base/sun.util.cldr.CLDRLocaleProviderAdapter.<init>(CLDRLocaleProviderAdapter.java:86)
        ... 58 more
Caused by: java.lang.LinkageError: loader 'platform' attempted duplicate class definition for sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo. (sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo is in module jdk.localed
ata of loader 'platform')
        at java.base/java.lang.ClassLoader.defineClass2(Native Method)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1108)
        at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:183)
        at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:784)
        at java.base/jdk.internal.loader.BuiltinClassLoader.findClassInModuleOrNull(BuiltinClassLoader.java:705)
        at java.base/jdk.internal.loader.BuiltinClassLoader.findClass(BuiltinClassLoader.java:586)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:634)
        at java.base/java.lang.Class.forName(Class.java:546)
        at java.base/java.util.ServiceLoader.loadProvider(ServiceLoader.java:854)
        ... 65 more

edit 2:
Upgraded JaCoCo to 0.8.6 (last official release) which has experimental support for Java 15. This worked locally for me.
Official Support comes with SNAPSHOT-Release 0.8.7.202010181117, but Gradle was unable to download this version.

See JaCoCo change history.

@Bukama Bukama requested a review from aepfli October 22, 2020 10:42
@Bukama Bukama marked this pull request as draft October 22, 2020 11:04
@sonarcloud
Copy link

sonarcloud bot commented Oct 22, 2020

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities (and Security Hotspot 0 Security Hotspots to review)
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@Bukama Bukama marked this pull request as ready for review October 22, 2020 11:18
@Bukama Bukama merged commit fbfc15b into junit-pioneer:master Oct 22, 2020
@Bukama Bukama deleted the bishue359/gradle67andjava15 branch October 22, 2020 13:50
@beatngu13
Copy link
Member

@Bukama thx for taking care. 馃槉馃檹

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants