archived-codacy / sbt-codacy-coverage

Sbt plugin for uploading Scala code coverage to Codacy https://www.codacy.com
18 stars 22 forks source link

oracle jdk 10 doesn't work #53

Closed Raffaello closed 6 years ago

Raffaello commented 6 years ago

Scala Version (2.10.x / etc)

2.12.6

Operating System (Ubuntu 15.10 / MacOS 10.10 / Windows 10)

trusty

JDK (Oracle 1.8.0_72, OpenJDK 1.8.x, Azul Zing)

oracle jdk 10

Expected Behavior

should work

Actual Behavior

[error] java.lang.NoClassDefFoundError: javax/activation/MimetypesFileTypeMap
[error]     at rapture.mime.MimeTypes$.<init>(mime.scala:1544)
[error]     at rapture.mime.MimeTypes$.<clinit>(mime.scala)
[error]     at rapture.net.PostType$$anon$14.contentType(net.scala:132)
[error]     at rapture.net.PostType$$anon$14.contentType(net.scala:131)
[error]     at rapture.net.HttpSupport$$anon$1.$anonfun$doHttp$1(http.scala:159)
[error]     at rapture.core.ThrowExceptionsMode.wrap(modes.scala:199)
[error]     at rapture.net.HttpSupport$$anon$1.doHttp(http.scala:131)
[error]     at rapture.net.HttpSupport$Capability.$anonfun$httpPost$1(http.scala:78)
[error]     at rapture.core.ThrowExceptionsMode.wrap(modes.scala:199)
[error]     at rapture.net.HttpSupport$Capability.httpPost(http.scala:78)
[error]     at com.codacy.api.client.CodacyClient.post(CodacyClient.scala:59)
[error]     at com.codacy.api.service.CoverageServices.sendReport(CoverageServices.scala:21)
[error]     at com.codacy.CodacyCoveragePlugin$.$anonfun$codacyCoverageCommand$8(CodacyCoveragePlugin.scala:79)
[error]     at com.codacy.api.helpers.FileHelper$.$anonfun$withTokenAndCommit$3(FileHelper.scala:21)
m[error]    at scala.Option.map(Option.scala:146)
[error]     at com.codacy.api.helpers.FileHelper$.$anonfun$withTokenAndCommit$1(FileHelper.scala:19)
[error]     at com.codacy.api.helpers.FileHelper$.$anonfun$withCommit$2(FileHelper.scala:34)
[error]     at scala.Option.map(Option.scala:146)
[error]     at com.codacy.api.helpers.FileHelper$.withCommit(FileHelper.scala:33)
[error]     at com.codacy.api.helpers.FileHelper$.withTokenAndCommit(FileHelper.scala:18)
[error]     at com.codacy.CodacyCoveragePlugin$.com$codacy$CodacyCoveragePlugin$$codacyCoverageCommand(CodacyCoveragePlugin.scala:66)
[error]     at com.codacy.CodacyCoveragePlugin$AutoImport$.$anonfun$baseSettings$1(CodacyCoveragePlugin.scala:34)
[error]     at com.codacy.CodacyCoveragePlugin$AutoImport$.$anonfun$baseSettings$1$adapted(CodacyCoveragePlugin.scala:31)
[error]     at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error]     at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:39)
[error]     at sbt.std.Transform$$anon$4.work(System.scala:66)
[error]     at sbt.Execute.$anonfun$submit$2(Execute.scala:263)
[error]     at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error]     at sbt.Execute.work(Execute.scala:272)
[error]     at sbt.Execute.$anonfun$submit$1(Execute.scala:263)
[error]     at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:174)
[error]     at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error]     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error]     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
[error]     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error]     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
[error]     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[error]     at java.base/java.lang.Thread.run(Thread.java:844)
[error] Caused by: java.lang.ClassNotFoundException: javax.activation.MimetypesFileTypeMap
[error]     at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)
[error]     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566)
[error]     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
[error]     at rapture.mime.MimeTypes$.<init>(mime.scala:1544)
[error]     at rapture.net.PostType$$anon$14.contentType(net.scala:132)
[error]     at rapture.net.PostType$$anon$14.contentType(net.scala:131)
[error]     at rapture.net.HttpSupport$$anon$1.$anonfun$doHttp$1(http.scala:159)
[error]     at rapture.core.ThrowExceptionsMode.wrap(modes.scala:199)
[error]     at rapture.net.HttpSupport$$anon$1.doHttp(http.scala:131)
[error]     at rapture.net.HttpSupport$Capability.$anonfun$httpPost$1(http.scala:78)
[error]     at rapture.core.ThrowExceptionsMode.wrap(modes.scala:199)
[error]     at rapture.net.HttpSupport$Capability.httpPost(http.scala:78)
[error]     at com.codacy.api.client.CodacyClient.post(CodacyClient.scala:59)
[error]     at com.codacy.api.service.CoverageServices.sendReport(CoverageServices.scala:21)
[error]     at com.codacy.CodacyCoveragePlugin$.$anonfun$codacyCoverageCommand$8(CodacyCoveragePlugin.scala:79)
[error]     at com.codacy.api.helpers.FileHelper$.$anonfun$withTokenAndCommit$3(FileHelper.scala:21)
[error]     at scala.Option.map(Option.scala:146)
[error]     at com.codacy.api.helpers.FileHelper$.$anonfun$withTokenAndCommit$1(FileHelper.scala:19)
[error]     at com.codacy.api.helpers.FileHelper$.$anonfun$withCommit$2(FileHelper.scala:34)
[error]     at scala.Option.map(Option.scala:146)
[error]     at com.codacy.api.helpers.FileHelper$.withCommit(FileHelper.scala:33)
[error]     at com.codacy.api.helpers.FileHelper$.withTokenAndCommit(FileHelper.scala:18)
[error]     at com.codacy.CodacyCoveragePlugin$.com$codacy$CodacyCoveragePlugin$$codacyCoverageCommand(CodacyCoveragePlugin.scala:66)
[error]     at com.codacy.CodacyCoveragePlugin$AutoImport$.$anonfun$baseSettings$1(CodacyCoveragePlugin.scala:34)
[error]     at com.codacy.CodacyCoveragePlugin$AutoImport$.$anonfun$baseSettings$1$adapted(CodacyCoveragePlugin.scala:31)
[error]     at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error]     at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:39)
[error]     at sbt.std.Transform$$anon$4.work(System.scala:66)
[error]     at sbt.Execute.$anonfun$submit$2(Execute.scala:263)
[error]     at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error]     at sbt.Execute.work(Execute.scala:272)
[error]     at sbt.Execute.$anonfun$submit$1(Execute.scala:263)
[error]     at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:174)
[error]     at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[[31merror]     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error]     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
[error]     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error]     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
[error]     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[error]     at java.base/java.lang.Thread.run(Thread.java:844)
[error] (codacyCoverage) java.lang.NoClassDefFoundError: javax/activation/MimetypesFileTypeMap

Reproducible Test Case

have a look at this travis-ci: https://travis-ci.org/Raffaello/open-tetris/builds/404261573#L677

Raffaello commented 6 years ago

seems related to the missing JavaBeans activation framework on Travis CI.

rtfpessoa commented 6 years ago

@Raffaello that is weird. Anyway I can help?

Raffaello commented 6 years ago

@rtfpessoa Not sure, I guess it should be an explicit dependency on the sbt-codacy-coverage plugin if it is the case

rtfpessoa commented 6 years ago

@Raffaello that is really weird since we never installed anything in any machine except for JRE.

Raffaello commented 6 years ago

@rtfpessoa i think fafter jdk8 that javax extension need to be added as a dependency because it is not by default included anymore in the VM. i tested my build is working with jdk8, but not with jdk9 and 10, I mean the sbt codacyCoverage step.

this is issue is related to changes in the JDK, please see: https://stackoverflow.com/questions/46493613/what-is-the-replacement-for-javax-activation-package-in-java-9

so it seems to be enough to add this dependency in this plugin, i guess, not sure if it has to be added in one of its dependencies.

https://mvnrepository.com/artifact/com.sun.activation/javax.activation/1.2.0

// https://mvnrepository.com/artifact/com.sun.activation/javax.activation
libraryDependencies += "com.sun.activation" % "javax.activation" % "1.2.0"
xplosunn commented 6 years ago

Howdy @Raffaello

We just published version "1.3.13", which includes that dependency. Could you please let us know if it now works for you?

Raffaello commented 6 years ago

@xplosunn i think you did not publish it: http://search.maven.org/#artifactdetails%7Ccom.codacy%7Csbt-codacy-coverage%7C1.3.12%7C

i have got this error

sbt.librarymanagement.ResolveException: unresolved dependency: com.codacy#sbt-codacy-coverage;1.3.13: not found
rtfpessoa commented 6 years ago

@Raffaello just checked sonatype and seems like the version was published but not released. Will try to do it again and see if it works.

rtfpessoa commented 6 years ago

@Raffaello 1.3.14 should be released now. Just confirmed and it appears here https://oss.sonatype.org/content/repositories/releases/com/codacy/sbt-codacy-coverage_2.12_1.0/

Let us know if it works.

Raffaello commented 6 years ago

@rtfpessoa that fixed the issue thanks.