dialogos-project / dialogos

The DialogOS dialog system.
https://www.dialogos.app
GNU General Public License v3.0
21 stars 8 forks source link

Diamant is leaking JUnit 4.10 as a transitive dependency #75

Closed errantlinguist closed 6 years ago

errantlinguist commented 6 years ago

As of 2018-06-1 with commit 700921a5af of DialogOS (which uses Diamant commit 700921a5af), JUnit 4.10 is leaked to the compile configuration (note: not testCompile) for software which depends on DialogOS. This breaks compilation for tests that use 4.12 due to e.g. additional methods in the latter:

./gradlew dependencyInsight --configuration compile --dependency junit
Parallel execution is an incubating feature.

> Task :dependencyInsight
junit:junit:4.10
   variant "runtime" [
      Requested attributes not found in the selected variant:
         org.gradle.usage = java-api
   ]
\--- com.googlecode.json-simple:json-simple:1.1.1
     \--- com.github.coli-saar.dialogos:Diamant:master-SNAPSHOT:700921a5af-1
          +--- com.github.coli-saar:dialogos:master-SNAPSHOT:700921a5af-1

When built using the Gradle wrapper ./gradlew build, there is no issue. However, when building through Eclipse using Eclipse's Gradle plugin, the version from compile takes precedence over testCompile.

Build environment:

timobaumann commented 6 years ago

hm. so it's actually json-simple that is leaking the dependency. I think this bug is somewhere between json-simple (unmaintained) and eclipse (hard to negotiate with). Thus I'm marking this as wontfix. However, I opened #76 because we really should not be using two JSON libraries and json-simple is probably the right one to go.

timobaumann commented 6 years ago

fixed by #76.