From cc36407cc266b315e74e4f9ff7ffc53401a2a98f Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sun, 28 Feb 2016 16:36:58 +0100 Subject: [PATCH 1/4] Use the output of coursier resolve in test fixtures Doesn't test artifact type anymore, but these are not the main objective here --- .../com.chuusai/shapeless_2.11/2.2.+ | 4 +- .../com.chuusai/shapeless_2.11/[2.2.0,2.3-a1) | 4 +- .../argonaut-shapeless_6.1_2.11/0.2.0 | 20 +- .../argonaut-shapeless_6.1_2.11/0.2.0.jcabi | 20 +- .../coursier_2.11/1.0.0-M5 | 10 +- .../com.github.fommil.netlib/all/1.1.2 | 34 +-- .../java-logging/1.2-SNAPSHOT | 10 +- .../libphonenumber/7.0.+ | 2 +- .../libphonenumber/[7.0,7.1) | 2 +- .../org.apache.spark/spark-core_2.11/1.3.1 | 256 +++++++++--------- .../spark-core_2.11/1.3.1.jcabi | 254 ++++++++--------- .../sbtVersion_0.13_scalaVersion_2.10/0.6.6 | 36 +-- .../scala/coursier/test/CentralTests.scala | 20 +- 13 files changed, 331 insertions(+), 341 deletions(-) diff --git a/tests/shared/src/test/resources/resolutions/com.chuusai/shapeless_2.11/2.2.+ b/tests/shared/src/test/resources/resolutions/com.chuusai/shapeless_2.11/2.2.+ index be25eaf98..9f6b4dbdc 100644 --- a/tests/shared/src/test/resources/resolutions/com.chuusai/shapeless_2.11/2.2.+ +++ b/tests/shared/src/test/resources/resolutions/com.chuusai/shapeless_2.11/2.2.+ @@ -1,2 +1,2 @@ -com.chuusai:shapeless_2.11:jar:2.2.5 -org.scala-lang:scala-library:jar:2.11.7 +com.chuusai:shapeless_2.11:2.2.5:compile +org.scala-lang:scala-library:2.11.7:compile diff --git a/tests/shared/src/test/resources/resolutions/com.chuusai/shapeless_2.11/[2.2.0,2.3-a1) b/tests/shared/src/test/resources/resolutions/com.chuusai/shapeless_2.11/[2.2.0,2.3-a1) index be25eaf98..9f6b4dbdc 100644 --- a/tests/shared/src/test/resources/resolutions/com.chuusai/shapeless_2.11/[2.2.0,2.3-a1) +++ b/tests/shared/src/test/resources/resolutions/com.chuusai/shapeless_2.11/[2.2.0,2.3-a1) @@ -1,2 +1,2 @@ -com.chuusai:shapeless_2.11:jar:2.2.5 -org.scala-lang:scala-library:jar:2.11.7 +com.chuusai:shapeless_2.11:2.2.5:compile +org.scala-lang:scala-library:2.11.7:compile diff --git a/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/argonaut-shapeless_6.1_2.11/0.2.0 b/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/argonaut-shapeless_6.1_2.11/0.2.0 index 5f0ead3af..25ddd78b5 100644 --- a/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/argonaut-shapeless_6.1_2.11/0.2.0 +++ b/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/argonaut-shapeless_6.1_2.11/0.2.0 @@ -1,10 +1,10 @@ -com.chuusai:shapeless_2.11:jar:2.2.0 -com.github.alexarchambault:argonaut-shapeless_6.1_2.11:jar:0.2.0 -com.github.julien-truffaut:monocle-core_2.11:jar:1.1.0 -com.github.julien-truffaut:monocle-macro_2.11:jar:1.1.0 -io.argonaut:argonaut_2.11:jar:6.1 -org.scala-lang.modules:scala-parser-combinators_2.11:jar:1.0.2 -org.scala-lang.modules:scala-xml_2.11:jar:1.0.2 -org.scala-lang:scala-library:jar:2.11.6 -org.scala-lang:scala-reflect:jar:2.11.6 -org.scalaz:scalaz-core_2.11:jar:7.1.1 +com.chuusai:shapeless_2.11:2.2.0:compile +com.github.alexarchambault:argonaut-shapeless_6.1_2.11:0.2.0:compile +com.github.julien-truffaut:monocle-core_2.11:1.1.0:compile +com.github.julien-truffaut:monocle-macro_2.11:1.1.0:compile +io.argonaut:argonaut_2.11:6.1:compile +org.scala-lang:scala-library:2.11.6:compile +org.scala-lang:scala-reflect:2.11.6:compile +org.scala-lang.modules:scala-parser-combinators_2.11:1.0.2:compile +org.scala-lang.modules:scala-xml_2.11:1.0.2:compile +org.scalaz:scalaz-core_2.11:7.1.1:compile diff --git a/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/argonaut-shapeless_6.1_2.11/0.2.0.jcabi b/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/argonaut-shapeless_6.1_2.11/0.2.0.jcabi index 5f0ead3af..7b5a035a3 100644 --- a/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/argonaut-shapeless_6.1_2.11/0.2.0.jcabi +++ b/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/argonaut-shapeless_6.1_2.11/0.2.0.jcabi @@ -1,10 +1,10 @@ -com.chuusai:shapeless_2.11:jar:2.2.0 -com.github.alexarchambault:argonaut-shapeless_6.1_2.11:jar:0.2.0 -com.github.julien-truffaut:monocle-core_2.11:jar:1.1.0 -com.github.julien-truffaut:monocle-macro_2.11:jar:1.1.0 -io.argonaut:argonaut_2.11:jar:6.1 -org.scala-lang.modules:scala-parser-combinators_2.11:jar:1.0.2 -org.scala-lang.modules:scala-xml_2.11:jar:1.0.2 -org.scala-lang:scala-library:jar:2.11.6 -org.scala-lang:scala-reflect:jar:2.11.6 -org.scalaz:scalaz-core_2.11:jar:7.1.1 +com.chuusai:shapeless_2.11:2.2.0:compile +com.github.alexarchambault:argonaut-shapeless_6.1_2.11:0.2.0:compile +com.github.julien-truffaut:monocle-core_2.11:1.1.0:compile +com.github.julien-truffaut:monocle-macro_2.11:1.1.0:compile +io.argonaut:argonaut_2.11:6.1:compile +org.scala-lang.modules:scala-parser-combinators_2.11:1.0.2:compile +org.scala-lang.modules:scala-xml_2.11:1.0.2:compile +org.scala-lang:scala-library:2.11.6:compile +org.scala-lang:scala-reflect:2.11.6:compile +org.scalaz:scalaz-core_2.11:7.1.1:compile diff --git a/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-M5 b/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-M5 index 08db0fce1..2f8147e33 100644 --- a/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-M5 +++ b/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-M5 @@ -1,5 +1,5 @@ -com.github.alexarchambault:coursier_2.11:jar:1.0.0-M5 -org.scala-lang.modules:scala-parser-combinators_2.11:jar:1.0.4 -org.scala-lang.modules:scala-xml_2.11:jar:1.0.4 -org.scala-lang:scala-library:jar:2.11.7 -org.scalaz:scalaz-core_2.11:jar:7.1.2 +com.github.alexarchambault:coursier_2.11:1.0.0-M5:compile +org.scala-lang.modules:scala-parser-combinators_2.11:1.0.4:compile +org.scala-lang.modules:scala-xml_2.11:1.0.4:compile +org.scala-lang:scala-library:2.11.7:compile +org.scalaz:scalaz-core_2.11:7.1.2:compile diff --git a/tests/shared/src/test/resources/resolutions/com.github.fommil.netlib/all/1.1.2 b/tests/shared/src/test/resources/resolutions/com.github.fommil.netlib/all/1.1.2 index de65a7709..a8a14ae1b 100644 --- a/tests/shared/src/test/resources/resolutions/com.github.fommil.netlib/all/1.1.2 +++ b/tests/shared/src/test/resources/resolutions/com.github.fommil.netlib/all/1.1.2 @@ -1,17 +1,17 @@ -com.github.fommil.netlib:all:jar:1.1.2 -com.github.fommil.netlib:core:jar:1.1.2 -com.github.fommil.netlib:native_ref-java:jar:1.1 -com.github.fommil.netlib:native_system-java:jar:1.1 -com.github.fommil.netlib:netlib-native_ref-linux-armhf:jar:natives:1.1 -com.github.fommil.netlib:netlib-native_ref-linux-i686:jar:natives:1.1 -com.github.fommil.netlib:netlib-native_ref-linux-x86_64:jar:natives:1.1 -com.github.fommil.netlib:netlib-native_ref-osx-x86_64:jar:natives:1.1 -com.github.fommil.netlib:netlib-native_ref-win-i686:jar:natives:1.1 -com.github.fommil.netlib:netlib-native_ref-win-x86_64:jar:natives:1.1 -com.github.fommil.netlib:netlib-native_system-linux-armhf:jar:natives:1.1 -com.github.fommil.netlib:netlib-native_system-linux-i686:jar:natives:1.1 -com.github.fommil.netlib:netlib-native_system-linux-x86_64:jar:natives:1.1 -com.github.fommil.netlib:netlib-native_system-osx-x86_64:jar:natives:1.1 -com.github.fommil.netlib:netlib-native_system-win-i686:jar:natives:1.1 -com.github.fommil.netlib:netlib-native_system-win-x86_64:jar:natives:1.1 -com.github.fommil:jniloader:jar:1.1 +com.github.fommil:jniloader:1.1:compile +com.github.fommil.netlib:all:1.1.2:compile +com.github.fommil.netlib:core:1.1.2:compile +com.github.fommil.netlib:native_ref-java:1.1:compile +com.github.fommil.netlib:native_system-java:1.1:compile +com.github.fommil.netlib:netlib-native_ref-linux-armhf:1.1:compile +com.github.fommil.netlib:netlib-native_ref-linux-i686:1.1:compile +com.github.fommil.netlib:netlib-native_ref-linux-x86_64:1.1:compile +com.github.fommil.netlib:netlib-native_ref-osx-x86_64:1.1:compile +com.github.fommil.netlib:netlib-native_ref-win-i686:1.1:compile +com.github.fommil.netlib:netlib-native_ref-win-x86_64:1.1:compile +com.github.fommil.netlib:netlib-native_system-linux-armhf:1.1:compile +com.github.fommil.netlib:netlib-native_system-linux-i686:1.1:compile +com.github.fommil.netlib:netlib-native_system-linux-x86_64:1.1:compile +com.github.fommil.netlib:netlib-native_system-osx-x86_64:1.1:compile +com.github.fommil.netlib:netlib-native_system-win-i686:1.1:compile +com.github.fommil.netlib:netlib-native_system-win-x86_64:1.1:compile diff --git a/tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT b/tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT index 32fa7fc99..ea22dc5fc 100644 --- a/tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT +++ b/tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT @@ -1,5 +1,5 @@ -com.github.fommil:java-logging:jar:1.2-SNAPSHOT -org.slf4j:jcl-over-slf4j:jar:1.7.5 -org.slf4j:log4j-over-slf4j:jar:1.7.5 -org.slf4j:slf4j-api:jar:1.7.5 -org.slf4j:slf4j-jdk14:jar:1.7.5 +com.github.fommil:java-logging:1.2-SNAPSHOT:runtime +org.slf4j:jcl-over-slf4j:1.7.5:compile +org.slf4j:log4j-over-slf4j:1.7.5:compile +org.slf4j:slf4j-api:1.7.5:compile +org.slf4j:slf4j-jdk14:1.7.5:compile diff --git a/tests/shared/src/test/resources/resolutions/com.googlecode.libphonenumber/libphonenumber/7.0.+ b/tests/shared/src/test/resources/resolutions/com.googlecode.libphonenumber/libphonenumber/7.0.+ index 2c9c7326a..036eb5b28 100644 --- a/tests/shared/src/test/resources/resolutions/com.googlecode.libphonenumber/libphonenumber/7.0.+ +++ b/tests/shared/src/test/resources/resolutions/com.googlecode.libphonenumber/libphonenumber/7.0.+ @@ -1 +1 @@ -com.googlecode.libphonenumber:libphonenumber:jar:7.0.11 +com.googlecode.libphonenumber:libphonenumber:7.0.11:compile diff --git a/tests/shared/src/test/resources/resolutions/com.googlecode.libphonenumber/libphonenumber/[7.0,7.1) b/tests/shared/src/test/resources/resolutions/com.googlecode.libphonenumber/libphonenumber/[7.0,7.1) index 2c9c7326a..036eb5b28 100644 --- a/tests/shared/src/test/resources/resolutions/com.googlecode.libphonenumber/libphonenumber/[7.0,7.1) +++ b/tests/shared/src/test/resources/resolutions/com.googlecode.libphonenumber/libphonenumber/[7.0,7.1) @@ -1 +1 @@ -com.googlecode.libphonenumber:libphonenumber:jar:7.0.11 +com.googlecode.libphonenumber:libphonenumber:7.0.11:compile diff --git a/tests/shared/src/test/resources/resolutions/org.apache.spark/spark-core_2.11/1.3.1 b/tests/shared/src/test/resources/resolutions/org.apache.spark/spark-core_2.11/1.3.1 index d51bfae70..b196ffc0a 100644 --- a/tests/shared/src/test/resources/resolutions/org.apache.spark/spark-core_2.11/1.3.1 +++ b/tests/shared/src/test/resources/resolutions/org.apache.spark/spark-core_2.11/1.3.1 @@ -1,128 +1,128 @@ -aopalliance:aopalliance:jar:1.0 -asm:asm:jar:3.1 -com.clearspring.analytics:stream:jar:2.7.0 -com.esotericsoftware.kryo:kryo:jar:2.21 -com.esotericsoftware.minlog:minlog:jar:1.2 -com.esotericsoftware.reflectasm:reflectasm:jar:shaded:1.07 -com.fasterxml.jackson.core:jackson-annotations:jar:2.4.4 -com.fasterxml.jackson.core:jackson-core:jar:2.4.4 -com.fasterxml.jackson.core:jackson-databind:jar:2.4.4 -com.fasterxml.jackson.module:jackson-module-scala_2.11:jar:2.4.4 -com.google.code.findbugs:jsr305:jar:2.0.1 -com.google.guava:guava:jar:14.0.1 -com.google.inject:guice:jar:3.0 -com.google.protobuf:protobuf-java:jar:2.5.0 -com.ning:compress-lzf:jar:1.0.0 -com.sun.jersey.contribs:jersey-guice:jar:1.9 -com.sun.jersey.jersey-test-framework:jersey-test-framework-core:jar:1.9 -com.sun.jersey.jersey-test-framework:jersey-test-framework-grizzly2:jar:1.9 -com.sun.jersey:jersey-client:jar:1.9 -com.sun.jersey:jersey-core:jar:1.9 -com.sun.jersey:jersey-grizzly2:jar:1.9 -com.sun.jersey:jersey-json:jar:1.9 -com.sun.jersey:jersey-server:jar:1.9 -com.sun.xml.bind:jaxb-impl:jar:2.2.3-1 -com.thoughtworks.paranamer:paranamer:jar:2.6 -com.twitter:chill-java:jar:0.5.0 -com.twitter:chill_2.11:jar:0.5.0 -com.typesafe:config:jar:1.2.1 -commons-beanutils:commons-beanutils-core:jar:1.8.0 -commons-beanutils:commons-beanutils:jar:1.7.0 -commons-cli:commons-cli:jar:1.2 -commons-codec:commons-codec:jar:1.4 -commons-collections:commons-collections:jar:3.2.1 -commons-configuration:commons-configuration:jar:1.6 -commons-digester:commons-digester:jar:1.8 -commons-httpclient:commons-httpclient:jar:3.1 -commons-io:commons-io:jar:2.4 -commons-lang:commons-lang:jar:2.5 -commons-logging:commons-logging:jar:1.1.1 -commons-net:commons-net:jar:3.1 -io.dropwizard.metrics:metrics-core:jar:3.1.0 -io.dropwizard.metrics:metrics-graphite:jar:3.1.0 -io.dropwizard.metrics:metrics-json:jar:3.1.0 -io.dropwizard.metrics:metrics-jvm:jar:3.1.0 -io.netty:netty-all:jar:4.0.23.Final -io.netty:netty:jar:3.8.0.Final -javax.activation:activation:jar:1.1 -javax.inject:javax.inject:jar:1 -javax.servlet:javax.servlet-api:jar:3.0.1 -javax.xml.bind:jaxb-api:jar:2.2.2 -jline:jline:jar:0.9.94 -log4j:log4j:jar:1.2.17 -net.java.dev.jets3t:jets3t:jar:0.7.1 -net.jpountz.lz4:lz4:jar:1.2.0 -net.sf.py4j:py4j:jar:0.8.2.1 -org.apache.avro:avro:jar:1.7.4 -org.apache.commons:commons-compress:jar:1.4.1 -org.apache.commons:commons-lang3:jar:3.3.2 -org.apache.commons:commons-math3:jar:3.1.1 -org.apache.commons:commons-math:jar:2.1 -org.apache.curator:curator-client:jar:2.4.0 -org.apache.curator:curator-framework:jar:2.4.0 -org.apache.curator:curator-recipes:jar:2.4.0 -org.apache.hadoop:hadoop-annotations:jar:2.2.0 -org.apache.hadoop:hadoop-auth:jar:2.2.0 -org.apache.hadoop:hadoop-client:jar:2.2.0 -org.apache.hadoop:hadoop-common:jar:2.2.0 -org.apache.hadoop:hadoop-hdfs:jar:2.2.0 -org.apache.hadoop:hadoop-mapreduce-client-app:jar:2.2.0 -org.apache.hadoop:hadoop-mapreduce-client-common:jar:2.2.0 -org.apache.hadoop:hadoop-mapreduce-client-core:jar:2.2.0 -org.apache.hadoop:hadoop-mapreduce-client-jobclient:jar:2.2.0 -org.apache.hadoop:hadoop-mapreduce-client-shuffle:jar:2.2.0 -org.apache.hadoop:hadoop-yarn-api:jar:2.2.0 -org.apache.hadoop:hadoop-yarn-client:jar:2.2.0 -org.apache.hadoop:hadoop-yarn-common:jar:2.2.0 -org.apache.hadoop:hadoop-yarn-server-common:jar:2.2.0 -org.apache.hadoop:hadoop-yarn-server-nodemanager:jar:2.2.0 -org.apache.ivy:ivy:jar:2.4.0 -org.apache.mesos:mesos:jar:shaded-protobuf:0.21.0 -org.apache.spark:spark-core_2.11:jar:1.3.1 -org.apache.spark:spark-network-common_2.11:jar:1.3.1 -org.apache.spark:spark-network-shuffle_2.11:jar:1.3.1 -org.apache.zookeeper:zookeeper:jar:3.4.5 -org.codehaus.jackson:jackson-core-asl:jar:1.8.8 -org.codehaus.jackson:jackson-jaxrs:jar:1.8.3 -org.codehaus.jackson:jackson-mapper-asl:jar:1.8.8 -org.codehaus.jackson:jackson-xc:jar:1.8.3 -org.codehaus.jettison:jettison:jar:1.1 -org.eclipse.jetty.orbit:javax.servlet:jar:3.0.0.v201112011016 -org.glassfish.external:management-api:jar:3.0.0-b012 -org.glassfish.gmbal:gmbal-api-only:jar:3.0.0-b023 -org.glassfish.grizzly:grizzly-framework:jar:2.1.2 -org.glassfish.grizzly:grizzly-http-server:jar:2.1.2 -org.glassfish.grizzly:grizzly-http-servlet:jar:2.1.2 -org.glassfish.grizzly:grizzly-http:jar:2.1.2 -org.glassfish.grizzly:grizzly-rcm:jar:2.1.2 -org.glassfish:javax.servlet:jar:3.1 -org.json4s:json4s-ast_2.11:jar:3.2.10 -org.json4s:json4s-core_2.11:jar:3.2.10 -org.json4s:json4s-jackson_2.11:jar:3.2.10 -org.mortbay.jetty:jetty-util:jar:6.1.26 -org.objenesis:objenesis:jar:1.2 -org.roaringbitmap:RoaringBitmap:jar:0.4.5 -org.scala-lang.modules:scala-parser-combinators_2.11:jar:1.0.1 -org.scala-lang.modules:scala-xml_2.11:jar:1.0.1 -org.scala-lang:scala-compiler:jar:2.11.0 -org.scala-lang:scala-library:jar:2.11.2 -org.scala-lang:scala-reflect:jar:2.11.2 -org.scala-lang:scalap:jar:2.11.0 -org.slf4j:jcl-over-slf4j:jar:1.7.10 -org.slf4j:jul-to-slf4j:jar:1.7.10 -org.slf4j:slf4j-api:jar:1.7.10 -org.slf4j:slf4j-log4j12:jar:1.7.10 -org.spark-project.akka:akka-actor_2.11:jar:2.3.4-spark -org.spark-project.akka:akka-remote_2.11:jar:2.3.4-spark -org.spark-project.akka:akka-slf4j_2.11:jar:2.3.4-spark -org.spark-project.protobuf:protobuf-java:jar:2.5.0-spark -org.spark-project.spark:unused:jar:1.0.0 -org.spark-project:pyrolite:jar:2.0.1 -org.tachyonproject:tachyon-client:jar:0.5.0 -org.tachyonproject:tachyon:jar:0.5.0 -org.tukaani:xz:jar:1.0 -org.uncommons.maths:uncommons-maths:jar:1.2.2a -org.xerial.snappy:snappy-java:jar:1.1.1.6 -oro:oro:jar:2.0.8 -stax:stax-api:jar:1.0.1 -xmlenc:xmlenc:jar:0.52 +aopalliance:aopalliance:1.0:compile +asm:asm:3.1:compile +com.clearspring.analytics:stream:2.7.0:compile +com.esotericsoftware.kryo:kryo:2.21:compile +com.esotericsoftware.minlog:minlog:1.2:compile +com.esotericsoftware.reflectasm:reflectasm:1.07:compile +com.fasterxml.jackson.core:jackson-annotations:2.4.4:compile +com.fasterxml.jackson.core:jackson-core:2.4.4:compile +com.fasterxml.jackson.core:jackson-databind:2.4.4:compile +com.fasterxml.jackson.module:jackson-module-scala_2.11:2.4.4:compile +com.google.code.findbugs:jsr305:2.0.1:compile +com.google.guava:guava:14.0.1:compile +com.google.inject:guice:3.0:compile +com.google.protobuf:protobuf-java:2.5.0:compile +com.ning:compress-lzf:1.0.0:compile +com.sun.jersey:jersey-client:1.9:compile +com.sun.jersey:jersey-core:1.9:compile +com.sun.jersey:jersey-grizzly2:1.9:compile +com.sun.jersey:jersey-json:1.9:compile +com.sun.jersey:jersey-server:1.9:compile +com.sun.jersey.contribs:jersey-guice:1.9:compile +com.sun.jersey.jersey-test-framework:jersey-test-framework-core:1.9:compile +com.sun.jersey.jersey-test-framework:jersey-test-framework-grizzly2:1.9:compile +com.sun.xml.bind:jaxb-impl:2.2.3-1:compile +com.thoughtworks.paranamer:paranamer:2.6:compile +com.twitter:chill-java:0.5.0:compile +com.twitter:chill_2.11:0.5.0:compile +com.typesafe:config:1.2.1:compile +commons-beanutils:commons-beanutils:1.7.0:compile +commons-beanutils:commons-beanutils-core:1.8.0:compile +commons-cli:commons-cli:1.2:compile +commons-codec:commons-codec:1.4:compile +commons-collections:commons-collections:3.2.1:compile +commons-configuration:commons-configuration:1.6:compile +commons-digester:commons-digester:1.8:compile +commons-httpclient:commons-httpclient:3.1:compile +commons-io:commons-io:2.4:compile +commons-lang:commons-lang:2.5:compile +commons-logging:commons-logging:1.1.1:compile +commons-net:commons-net:3.1:compile +io.dropwizard.metrics:metrics-core:3.1.0:compile +io.dropwizard.metrics:metrics-graphite:3.1.0:compile +io.dropwizard.metrics:metrics-json:3.1.0:compile +io.dropwizard.metrics:metrics-jvm:3.1.0:compile +io.netty:netty:3.8.0.Final:compile +io.netty:netty-all:4.0.23.Final:compile +javax.activation:activation:1.1:compile +javax.inject:javax.inject:1:compile +javax.servlet:javax.servlet-api:3.0.1:compile +javax.xml.bind:jaxb-api:2.2.2:compile +jline:jline:0.9.94:compile +log4j:log4j:1.2.17:compile +net.java.dev.jets3t:jets3t:0.7.1:compile +net.jpountz.lz4:lz4:1.2.0:compile +net.sf.py4j:py4j:0.8.2.1:compile +org.apache.avro:avro:1.7.4:compile +org.apache.commons:commons-compress:1.4.1:compile +org.apache.commons:commons-lang3:3.3.2:compile +org.apache.commons:commons-math:2.1:compile +org.apache.commons:commons-math3:3.1.1:compile +org.apache.curator:curator-client:2.4.0:compile +org.apache.curator:curator-framework:2.4.0:compile +org.apache.curator:curator-recipes:2.4.0:compile +org.apache.hadoop:hadoop-annotations:2.2.0:compile +org.apache.hadoop:hadoop-auth:2.2.0:compile +org.apache.hadoop:hadoop-client:2.2.0:compile +org.apache.hadoop:hadoop-common:2.2.0:compile +org.apache.hadoop:hadoop-hdfs:2.2.0:compile +org.apache.hadoop:hadoop-mapreduce-client-app:2.2.0:compile +org.apache.hadoop:hadoop-mapreduce-client-common:2.2.0:compile +org.apache.hadoop:hadoop-mapreduce-client-core:2.2.0:compile +org.apache.hadoop:hadoop-mapreduce-client-jobclient:2.2.0:compile +org.apache.hadoop:hadoop-mapreduce-client-shuffle:2.2.0:compile +org.apache.hadoop:hadoop-yarn-api:2.2.0:compile +org.apache.hadoop:hadoop-yarn-client:2.2.0:compile +org.apache.hadoop:hadoop-yarn-common:2.2.0:compile +org.apache.hadoop:hadoop-yarn-server-common:2.2.0:compile +org.apache.hadoop:hadoop-yarn-server-nodemanager:2.2.0:compile +org.apache.ivy:ivy:2.4.0:compile +org.apache.mesos:mesos:0.21.0:compile +org.apache.spark:spark-core_2.11:1.3.1:compile +org.apache.spark:spark-network-common_2.11:1.3.1:compile +org.apache.spark:spark-network-shuffle_2.11:1.3.1:compile +org.apache.zookeeper:zookeeper:3.4.5:compile +org.codehaus.jackson:jackson-core-asl:1.8.8:compile +org.codehaus.jackson:jackson-jaxrs:1.8.3:compile +org.codehaus.jackson:jackson-mapper-asl:1.8.8:compile +org.codehaus.jackson:jackson-xc:1.8.3:compile +org.codehaus.jettison:jettison:1.1:compile +org.eclipse.jetty.orbit:javax.servlet:3.0.0.v201112011016:compile +org.glassfish:javax.servlet:3.1:compile +org.glassfish.external:management-api:3.0.0-b012:compile +org.glassfish.gmbal:gmbal-api-only:3.0.0-b023:compile +org.glassfish.grizzly:grizzly-framework:2.1.2:compile +org.glassfish.grizzly:grizzly-http:2.1.2:compile +org.glassfish.grizzly:grizzly-http-server:2.1.2:compile +org.glassfish.grizzly:grizzly-http-servlet:2.1.2:compile +org.glassfish.grizzly:grizzly-rcm:2.1.2:compile +org.json4s:json4s-ast_2.11:3.2.10:compile +org.json4s:json4s-core_2.11:3.2.10:compile +org.json4s:json4s-jackson_2.11:3.2.10:compile +org.mortbay.jetty:jetty-util:6.1.26:compile +org.objenesis:objenesis:1.2:compile +org.roaringbitmap:RoaringBitmap:0.4.5:compile +org.scala-lang:scala-compiler:2.11.0:compile +org.scala-lang:scala-library:2.11.2:compile +org.scala-lang:scala-reflect:2.11.2:compile +org.scala-lang:scalap:2.11.0:compile +org.scala-lang.modules:scala-parser-combinators_2.11:1.0.1:compile +org.scala-lang.modules:scala-xml_2.11:1.0.1:compile +org.slf4j:jcl-over-slf4j:1.7.10:compile +org.slf4j:jul-to-slf4j:1.7.10:compile +org.slf4j:slf4j-api:1.7.10:compile +org.slf4j:slf4j-log4j12:1.7.10:compile +org.spark-project:pyrolite:2.0.1:compile +org.spark-project.akka:akka-actor_2.11:2.3.4-spark:compile +org.spark-project.akka:akka-remote_2.11:2.3.4-spark:compile +org.spark-project.akka:akka-slf4j_2.11:2.3.4-spark:compile +org.spark-project.protobuf:protobuf-java:2.5.0-spark:compile +org.spark-project.spark:unused:1.0.0:compile +org.tachyonproject:tachyon:0.5.0:compile +org.tachyonproject:tachyon-client:0.5.0:compile +org.tukaani:xz:1.0:compile +org.uncommons.maths:uncommons-maths:1.2.2a:compile +org.xerial.snappy:snappy-java:1.1.1.6:compile +oro:oro:2.0.8:compile +stax:stax-api:1.0.1:compile +xmlenc:xmlenc:0.52:compile diff --git a/tests/shared/src/test/resources/resolutions/org.apache.spark/spark-core_2.11/1.3.1.jcabi b/tests/shared/src/test/resources/resolutions/org.apache.spark/spark-core_2.11/1.3.1.jcabi index 29f0ba550..cfe7fbc09 100644 --- a/tests/shared/src/test/resources/resolutions/org.apache.spark/spark-core_2.11/1.3.1.jcabi +++ b/tests/shared/src/test/resources/resolutions/org.apache.spark/spark-core_2.11/1.3.1.jcabi @@ -1,127 +1,127 @@ -aopalliance:aopalliance:jar:1.0 -asm:asm:jar:3.1 -com.clearspring.analytics:stream:jar:2.7.0 -com.esotericsoftware.kryo:kryo:jar:2.21 -com.esotericsoftware.minlog:minlog:jar:1.2 -com.esotericsoftware.reflectasm:reflectasm:jar:shaded:1.07 -com.fasterxml.jackson.core:jackson-annotations:jar:2.4.0 -com.fasterxml.jackson.core:jackson-core:jar:2.4.4 -com.fasterxml.jackson.core:jackson-databind:jar:2.4.4 -com.fasterxml.jackson.module:jackson-module-scala_2.11:jar:2.4.4 -com.google.code.findbugs:jsr305:jar:1.3.9 -com.google.guava:guava:jar:14.0.1 -com.google.inject:guice:jar:3.0 -com.google.protobuf:protobuf-java:jar:2.5.0 -com.ning:compress-lzf:jar:1.0.0 -com.sun.jersey.contribs:jersey-guice:jar:1.9 -com.sun.jersey.jersey-test-framework:jersey-test-framework-core:jar:1.9 -com.sun.jersey.jersey-test-framework:jersey-test-framework-grizzly2:jar:1.9 -com.sun.jersey:jersey-client:jar:1.9 -com.sun.jersey:jersey-core:jar:1.9 -com.sun.jersey:jersey-grizzly2:jar:1.9 -com.sun.jersey:jersey-json:jar:1.9 -com.sun.jersey:jersey-server:jar:1.9 -com.sun.xml.bind:jaxb-impl:jar:2.2.3-1 -com.thoughtworks.paranamer:paranamer:jar:2.6 -com.twitter:chill-java:jar:0.5.0 -com.twitter:chill_2.11:jar:0.5.0 -com.typesafe:config:jar:1.2.1 -commons-beanutils:commons-beanutils-core:jar:1.8.0 -commons-beanutils:commons-beanutils:jar:1.7.0 -commons-cli:commons-cli:jar:1.2 -commons-codec:commons-codec:jar:1.3 -commons-collections:commons-collections:jar:3.2.1 -commons-configuration:commons-configuration:jar:1.6 -commons-digester:commons-digester:jar:1.8 -commons-httpclient:commons-httpclient:jar:3.1 -commons-io:commons-io:jar:2.1 -commons-lang:commons-lang:jar:2.5 -commons-logging:commons-logging:jar:1.1.1 -commons-net:commons-net:jar:2.2 -io.dropwizard.metrics:metrics-core:jar:3.1.0 -io.dropwizard.metrics:metrics-graphite:jar:3.1.0 -io.dropwizard.metrics:metrics-json:jar:3.1.0 -io.dropwizard.metrics:metrics-jvm:jar:3.1.0 -io.netty:netty-all:jar:4.0.23.Final -io.netty:netty:jar:3.8.0.Final -javax.activation:activation:jar:1.1 -javax.inject:javax.inject:jar:1 -javax.servlet:javax.servlet-api:jar:3.0.1 -javax.xml.bind:jaxb-api:jar:2.2.2 -jline:jline:jar:0.9.94 -log4j:log4j:jar:1.2.17 -net.java.dev.jets3t:jets3t:jar:0.7.1 -net.jpountz.lz4:lz4:jar:1.2.0 -net.sf.py4j:py4j:jar:0.8.2.1 -org.apache.avro:avro:jar:1.7.4 -org.apache.commons:commons-compress:jar:1.4.1 -org.apache.commons:commons-lang3:jar:3.3.2 -org.apache.commons:commons-math3:jar:3.1.1 -org.apache.commons:commons-math:jar:2.1 -org.apache.curator:curator-client:jar:2.4.0 -org.apache.curator:curator-framework:jar:2.4.0 -org.apache.curator:curator-recipes:jar:2.4.0 -org.apache.hadoop:hadoop-annotations:jar:2.2.0 -org.apache.hadoop:hadoop-auth:jar:2.2.0 -org.apache.hadoop:hadoop-client:jar:2.2.0 -org.apache.hadoop:hadoop-common:jar:2.2.0 -org.apache.hadoop:hadoop-hdfs:jar:2.2.0 -org.apache.hadoop:hadoop-mapreduce-client-app:jar:2.2.0 -org.apache.hadoop:hadoop-mapreduce-client-common:jar:2.2.0 -org.apache.hadoop:hadoop-mapreduce-client-core:jar:2.2.0 -org.apache.hadoop:hadoop-mapreduce-client-jobclient:jar:2.2.0 -org.apache.hadoop:hadoop-mapreduce-client-shuffle:jar:2.2.0 -org.apache.hadoop:hadoop-yarn-api:jar:2.2.0 -org.apache.hadoop:hadoop-yarn-client:jar:2.2.0 -org.apache.hadoop:hadoop-yarn-common:jar:2.2.0 -org.apache.hadoop:hadoop-yarn-server-common:jar:2.2.0 -org.apache.ivy:ivy:jar:2.4.0 -org.apache.mesos:mesos:jar:shaded-protobuf:0.21.0 -org.apache.spark:spark-core_2.11:jar:1.3.1 -org.apache.spark:spark-network-common_2.11:jar:1.3.1 -org.apache.spark:spark-network-shuffle_2.11:jar:1.3.1 -org.apache.zookeeper:zookeeper:jar:3.4.5 -org.codehaus.jackson:jackson-core-asl:jar:1.8.8 -org.codehaus.jackson:jackson-jaxrs:jar:1.8.3 -org.codehaus.jackson:jackson-mapper-asl:jar:1.8.8 -org.codehaus.jackson:jackson-xc:jar:1.8.3 -org.codehaus.jettison:jettison:jar:1.1 -org.eclipse.jetty.orbit:javax.servlet:jar:3.0.0.v201112011016 -org.glassfish.external:management-api:jar:3.0.0-b012 -org.glassfish.gmbal:gmbal-api-only:jar:3.0.0-b023 -org.glassfish.grizzly:grizzly-framework:jar:2.1.2 -org.glassfish.grizzly:grizzly-http-server:jar:2.1.2 -org.glassfish.grizzly:grizzly-http-servlet:jar:2.1.2 -org.glassfish.grizzly:grizzly-http:jar:2.1.2 -org.glassfish.grizzly:grizzly-rcm:jar:2.1.2 -org.glassfish:javax.servlet:jar:3.1 -org.json4s:json4s-ast_2.11:jar:3.2.10 -org.json4s:json4s-core_2.11:jar:3.2.10 -org.json4s:json4s-jackson_2.11:jar:3.2.10 -org.mortbay.jetty:jetty-util:jar:6.1.26 -org.objenesis:objenesis:jar:1.2 -org.roaringbitmap:RoaringBitmap:jar:0.4.5 -org.scala-lang.modules:scala-parser-combinators_2.11:jar:1.0.1 -org.scala-lang.modules:scala-xml_2.11:jar:1.0.1 -org.scala-lang:scala-compiler:jar:2.11.0 -org.scala-lang:scala-library:jar:2.11.2 -org.scala-lang:scala-reflect:jar:2.11.2 -org.scala-lang:scalap:jar:2.11.0 -org.slf4j:jcl-over-slf4j:jar:1.7.10 -org.slf4j:jul-to-slf4j:jar:1.7.10 -org.slf4j:slf4j-api:jar:1.7.10 -org.slf4j:slf4j-log4j12:jar:1.7.10 -org.spark-project.akka:akka-actor_2.11:jar:2.3.4-spark -org.spark-project.akka:akka-remote_2.11:jar:2.3.4-spark -org.spark-project.akka:akka-slf4j_2.11:jar:2.3.4-spark -org.spark-project.protobuf:protobuf-java:jar:2.5.0-spark -org.spark-project.spark:unused:jar:1.0.0 -org.spark-project:pyrolite:jar:2.0.1 -org.tachyonproject:tachyon-client:jar:0.5.0 -org.tachyonproject:tachyon:jar:0.5.0 -org.tukaani:xz:jar:1.0 -org.uncommons.maths:uncommons-maths:jar:1.2.2a -org.xerial.snappy:snappy-java:jar:1.1.1.6 -oro:oro:jar:2.0.8 -stax:stax-api:jar:1.0.1 -xmlenc:xmlenc:jar:0.52 +aopalliance:aopalliance:1.0:compile +asm:asm:3.1:compile +com.clearspring.analytics:stream:2.7.0:compile +com.esotericsoftware.kryo:kryo:2.21:compile +com.esotericsoftware.minlog:minlog:1.2:compile +com.esotericsoftware.reflectasm:reflectasm:1.07:compile +com.fasterxml.jackson.core:jackson-annotations:2.4.0:compile +com.fasterxml.jackson.core:jackson-core:2.4.4:compile +com.fasterxml.jackson.core:jackson-databind:2.4.4:compile +com.fasterxml.jackson.module:jackson-module-scala_2.11:2.4.4:compile +com.google.code.findbugs:jsr305:1.3.9:compile +com.google.guava:guava:14.0.1:compile +com.google.inject:guice:3.0:compile +com.google.protobuf:protobuf-java:2.5.0:compile +com.ning:compress-lzf:1.0.0:compile +com.sun.jersey.contribs:jersey-guice:1.9:compile +com.sun.jersey.jersey-test-framework:jersey-test-framework-core:1.9:compile +com.sun.jersey.jersey-test-framework:jersey-test-framework-grizzly2:1.9:compile +com.sun.jersey:jersey-client:1.9:compile +com.sun.jersey:jersey-core:1.9:compile +com.sun.jersey:jersey-grizzly2:1.9:compile +com.sun.jersey:jersey-json:1.9:compile +com.sun.jersey:jersey-server:1.9:compile +com.sun.xml.bind:jaxb-impl:2.2.3-1:compile +com.thoughtworks.paranamer:paranamer:2.6:compile +com.twitter:chill-java:0.5.0:compile +com.twitter:chill_2.11:0.5.0:compile +com.typesafe:config:1.2.1:compile +commons-beanutils:commons-beanutils-core:1.8.0:compile +commons-beanutils:commons-beanutils:1.7.0:compile +commons-cli:commons-cli:1.2:compile +commons-codec:commons-codec:1.3:compile +commons-collections:commons-collections:3.2.1:compile +commons-configuration:commons-configuration:1.6:compile +commons-digester:commons-digester:1.8:compile +commons-httpclient:commons-httpclient:3.1:compile +commons-io:commons-io:2.1:compile +commons-lang:commons-lang:2.5:compile +commons-logging:commons-logging:1.1.1:compile +commons-net:commons-net:2.2:compile +io.dropwizard.metrics:metrics-core:3.1.0:compile +io.dropwizard.metrics:metrics-graphite:3.1.0:compile +io.dropwizard.metrics:metrics-json:3.1.0:compile +io.dropwizard.metrics:metrics-jvm:3.1.0:compile +io.netty:netty-all:4.0.23.Final:compile +io.netty:netty:3.8.0.Final:compile +javax.activation:activation:1.1:compile +javax.inject:javax.inject:1:compile +javax.servlet:javax.servlet-api:3.0.1:compile +javax.xml.bind:jaxb-api:2.2.2:compile +jline:jline:0.9.94:compile +log4j:log4j:1.2.17:compile +net.java.dev.jets3t:jets3t:0.7.1:compile +net.jpountz.lz4:lz4:1.2.0:compile +net.sf.py4j:py4j:0.8.2.1:compile +org.apache.avro:avro:1.7.4:compile +org.apache.commons:commons-compress:1.4.1:compile +org.apache.commons:commons-lang3:3.3.2:compile +org.apache.commons:commons-math3:3.1.1:compile +org.apache.commons:commons-math:2.1:compile +org.apache.curator:curator-client:2.4.0:compile +org.apache.curator:curator-framework:2.4.0:compile +org.apache.curator:curator-recipes:2.4.0:compile +org.apache.hadoop:hadoop-annotations:2.2.0:compile +org.apache.hadoop:hadoop-auth:2.2.0:compile +org.apache.hadoop:hadoop-client:2.2.0:compile +org.apache.hadoop:hadoop-common:2.2.0:compile +org.apache.hadoop:hadoop-hdfs:2.2.0:compile +org.apache.hadoop:hadoop-mapreduce-client-app:2.2.0:compile +org.apache.hadoop:hadoop-mapreduce-client-common:2.2.0:compile +org.apache.hadoop:hadoop-mapreduce-client-core:2.2.0:compile +org.apache.hadoop:hadoop-mapreduce-client-jobclient:2.2.0:compile +org.apache.hadoop:hadoop-mapreduce-client-shuffle:2.2.0:compile +org.apache.hadoop:hadoop-yarn-api:2.2.0:compile +org.apache.hadoop:hadoop-yarn-client:2.2.0:compile +org.apache.hadoop:hadoop-yarn-common:2.2.0:compile +org.apache.hadoop:hadoop-yarn-server-common:2.2.0:compile +org.apache.ivy:ivy:2.4.0:compile +org.apache.mesos:mesos:0.21.0:compile +org.apache.spark:spark-core_2.11:1.3.1:compile +org.apache.spark:spark-network-common_2.11:1.3.1:compile +org.apache.spark:spark-network-shuffle_2.11:1.3.1:compile +org.apache.zookeeper:zookeeper:3.4.5:compile +org.codehaus.jackson:jackson-core-asl:1.8.8:compile +org.codehaus.jackson:jackson-jaxrs:1.8.3:compile +org.codehaus.jackson:jackson-mapper-asl:1.8.8:compile +org.codehaus.jackson:jackson-xc:1.8.3:compile +org.codehaus.jettison:jettison:1.1:compile +org.eclipse.jetty.orbit:javax.servlet:3.0.0.v201112011016:compile +org.glassfish.external:management-api:3.0.0-b012:compile +org.glassfish.gmbal:gmbal-api-only:3.0.0-b023:compile +org.glassfish.grizzly:grizzly-framework:2.1.2:compile +org.glassfish.grizzly:grizzly-http-server:2.1.2:compile +org.glassfish.grizzly:grizzly-http-servlet:2.1.2:compile +org.glassfish.grizzly:grizzly-http:2.1.2:compile +org.glassfish.grizzly:grizzly-rcm:2.1.2:compile +org.glassfish:javax.servlet:3.1:compile +org.json4s:json4s-ast_2.11:3.2.10:compile +org.json4s:json4s-core_2.11:3.2.10:compile +org.json4s:json4s-jackson_2.11:3.2.10:compile +org.mortbay.jetty:jetty-util:6.1.26:compile +org.objenesis:objenesis:1.2:compile +org.roaringbitmap:RoaringBitmap:0.4.5:compile +org.scala-lang.modules:scala-parser-combinators_2.11:1.0.1:compile +org.scala-lang.modules:scala-xml_2.11:1.0.1:compile +org.scala-lang:scala-compiler:2.11.0:compile +org.scala-lang:scala-library:2.11.2:compile +org.scala-lang:scala-reflect:2.11.2:compile +org.scala-lang:scalap:2.11.0:compile +org.slf4j:jcl-over-slf4j:1.7.10:compile +org.slf4j:jul-to-slf4j:1.7.10:compile +org.slf4j:slf4j-api:1.7.10:compile +org.slf4j:slf4j-log4j12:1.7.10:compile +org.spark-project.akka:akka-actor_2.11:2.3.4-spark:compile +org.spark-project.akka:akka-remote_2.11:2.3.4-spark:compile +org.spark-project.akka:akka-slf4j_2.11:2.3.4-spark:compile +org.spark-project.protobuf:protobuf-java:2.5.0-spark:compile +org.spark-project.spark:unused:1.0.0:compile +org.spark-project:pyrolite:2.0.1:compile +org.tachyonproject:tachyon-client:0.5.0:compile +org.tachyonproject:tachyon:0.5.0:compile +org.tukaani:xz:1.0:compile +org.uncommons.maths:uncommons-maths:1.2.2a:compile +org.xerial.snappy:snappy-java:1.1.1.6:compile +oro:oro:2.0.8:compile +stax:stax-api:1.0.1:compile +xmlenc:xmlenc:0.52:compile diff --git a/tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6 b/tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6 index 76c6e1e6a..a8b637693 100644 --- a/tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6 +++ b/tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6 @@ -1,18 +1,18 @@ -args4j:args4j:jar:2.0.16 -com.google.code.findbugs:jsr305:jar:1.3.9 -com.google.guava:guava:jar:14.0.1 -com.google.javascript:closure-compiler:jar:v20130603 -com.google.protobuf:protobuf-java:jar:2.4.1 -com.googlecode.json-simple:json-simple:jar:1.1.1 -io.apigee:rhino:jar:1.7R5pre4 -junit:junit:jar:4.10 -org.hamcrest:hamcrest-core:jar:1.1 -org.json:json:jar:20090211 -org.scala-js:sbt-scalajs;sbtVersion=0.13;scalaVersion=2.10:jar:0.6.6 -org.scala-js:scalajs-ir_2.10:jar:0.6.6 -org.scala-js:scalajs-js-envs_2.10:jar:0.6.6 -org.scala-js:scalajs-sbt-test-adapter_2.10:jar:0.6.6 -org.scala-js:scalajs-tools_2.10:jar:0.6.6 -org.scala-lang:scala-library:jar:2.10.6 -org.scala-sbt:test-interface:jar:1.0 -org.webjars:envjs:jar:1.2 +args4j:args4j:2.0.16:compile +com.google.code.findbugs:jsr305:1.3.9:compile +com.google.guava:guava:14.0.1:compile +com.google.javascript:closure-compiler:v20130603:compile +com.google.protobuf:protobuf-java:2.4.1:compile +com.googlecode.json-simple:json-simple:1.1.1:compile +io.apigee:rhino:1.7R5pre4:compile +junit:junit:4.10:compile +org.hamcrest:hamcrest-core:1.1:compile +org.json:json:20090211:compile +org.scala-js:sbt-scalajs;sbtVersion=0.13;scalaVersion=2.10:0.6.6:compile +org.scala-js:scalajs-ir_2.10:0.6.6:compile +org.scala-js:scalajs-js-envs_2.10:0.6.6:compile +org.scala-js:scalajs-sbt-test-adapter_2.10:0.6.6:compile +org.scala-js:scalajs-tools_2.10:0.6.6:compile +org.scala-lang:scala-library:2.10.6:compile +org.scala-sbt:test-interface:1.0:compile +org.webjars:envjs:1.2:compile diff --git a/tests/shared/src/test/scala/coursier/test/CentralTests.scala b/tests/shared/src/test/scala/coursier/test/CentralTests.scala index 9067b52ad..56794c494 100644 --- a/tests/shared/src/test/scala/coursier/test/CentralTests.scala +++ b/tests/shared/src/test/scala/coursier/test/CentralTests.scala @@ -26,20 +26,6 @@ object CentralTests extends TestSuite { .runF } - def repr(dep: Dependency) = - ( - Seq( - dep.module, - dep.attributes.`type` - ) ++ - Some(dep.attributes.classifier) - .filter(_.nonEmpty) - .toSeq ++ - Seq( - dep.version - ) - ).mkString(":") - def resolutionCheck( module: Module, version: String, @@ -75,10 +61,14 @@ object CentralTests extends TestSuite { val dep0 = dep.copy( version = projOpt.fold(dep.version)(_.version) ) - repr(dep0) + (dep0.module.organization, dep0.module.name, dep0.version, dep0.configuration) } .sorted .distinct + .map { + case (org, name, ver, cfg) => + Seq(org, name, ver, cfg).mkString(":") + } for (((e, r), idx) <- expected.zip(result).zipWithIndex if e != r) println(s"Line $idx:\n expected: $e\n got: $r") From b9895ce8010e7994340161ae110a33c2c1afef3e Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sun, 28 Feb 2016 16:36:58 +0100 Subject: [PATCH 2/4] Add support for packaging attribute in POMs --- build.sbt | 6 +- .../coursier/maven/MavenRepository.scala | 25 +++++-- .../scala/coursier/maven/MavenSource.scala | 73 +++++++++++++++---- .../src/main/scala/coursier/maven/Pom.scala | 3 + .../src/main/scala/coursier/package.scala | 2 +- .../src/main/scala-2.10/coursier/ToSbt.scala | 5 +- .../scala/coursier/test/CentralTests.scala | 45 +++++++++++- .../scala/coursier/test/PomParsingTests.scala | 12 ++- .../test/scala/coursier/test/package.scala | 1 + 9 files changed, 139 insertions(+), 33 deletions(-) diff --git a/build.sbt b/build.sbt index 954449aa0..ebff0e355 100644 --- a/build.sbt +++ b/build.sbt @@ -145,7 +145,11 @@ lazy val core = crossProject import com.typesafe.tools.mima.core._ import com.typesafe.tools.mima.core.ProblemFilters._ - Seq() + Seq( + // Since 1.0.0-M10 + // New singleton object, problem for forward compatibility only + ProblemFilters.exclude[MissingTypesProblem]("coursier.maven.MavenSource$") + ) } ) .jvmSettings( diff --git a/core/shared/src/main/scala/coursier/maven/MavenRepository.scala b/core/shared/src/main/scala/coursier/maven/MavenRepository.scala index 3f7b9d57f..fbcc5852b 100644 --- a/core/shared/src/main/scala/coursier/maven/MavenRepository.scala +++ b/core/shared/src/main/scala/coursier/maven/MavenRepository.scala @@ -45,8 +45,10 @@ object MavenRepository { "test" -> Seq("runtime") ) - def defaultPublications(moduleName: String) = Seq( - "compile" -> Publication(moduleName, "jar", "jar", ""), + val defaultPackaging = "jar" + + def defaultPublications(moduleName: String, packaging: String) = Seq( + "compile" -> Publication(moduleName, packaging, MavenSource.typeExtension(packaging), ""), "docs" -> Publication(moduleName, "doc", "jar", "javadoc"), "sources" -> Publication(moduleName, "src", "jar", "sources") ) @@ -240,15 +242,22 @@ case class MavenRepository( fetch(projectArtifact(module, version, versioningValue)).flatMap { str => EitherT { - F.point { - (for { + F.point[String \/ Project] { + for { xml <- \/.fromEither(compatibility.xmlParse(str)) _ <- if (xml.label == "project") \/-(()) else -\/("Project definition not found") proj <- Pom.project(xml) - } yield proj.copy( - configurations = defaultConfigurations, - publications = defaultPublications(module.name) - )): (String \/ Project) + } yield { + val packagingOpt = Pom.packagingOpt(xml) + + proj.copy( + configurations = defaultConfigurations, + publications = defaultPublications( + module.name, + packagingOpt.getOrElse(defaultPackaging) + ) + ) + } } } } diff --git a/core/shared/src/main/scala/coursier/maven/MavenSource.scala b/core/shared/src/main/scala/coursier/maven/MavenSource.scala index ac2b71434..0d47c9839 100644 --- a/core/shared/src/main/scala/coursier/maven/MavenSource.scala +++ b/core/shared/src/main/scala/coursier/maven/MavenSource.scala @@ -85,7 +85,7 @@ case class MavenSource( ) } - overrideClassifiers match { + val publications0 = overrideClassifiers match { case Some(classifiers) => val classifiersSet = classifiers.toSet val publications = project.publications.collect { @@ -93,25 +93,68 @@ case class MavenSource( p } - val publications0 = - if (publications.isEmpty) - classifiers.map { classifier => - Publication(dependency.module.name, "jar", "jar", classifier) - } - else - publications - - publications0.map(artifactWithExtra) + // Unlike with Ivy metadata, Maven POMs don't list the available publications (~artifacts) + // so we give a chance to any classifier we're given by returning some publications + // no matter what, even if we're unsure they're available. + if (publications.isEmpty) + classifiers.map { classifier => + Publication( + dependency.module.name, + "jar", + "jar", + classifier + ) + } + else + publications case None => - Seq( - artifactWithExtra( - dependency.attributes.publication( + + val publications = + if (dependency.attributes.classifier.nonEmpty) + // FIXME We're ignoring dependency.attributes.`type` in this case + project.publications.collect { + case (_, p) if p.classifier == dependency.attributes.classifier => + p + } + else if (dependency.attributes.`type`.nonEmpty) + project.publications.collect { + case (_, p) if p.`type` == dependency.attributes.`type` => + p + } + else + project.publications.collect { + case (_, p) if p.classifier.isEmpty => + p + } + + // See comment above + if (publications.isEmpty) { + val type0 = if (dependency.attributes.`type`.isEmpty) "jar" else dependency.attributes.`type` + + Seq( + Publication( dependency.module.name, - dependency.attributes.`type` + type0, + MavenSource.typeExtension(type0), + dependency.attributes.classifier ) ) - ) + } else + publications } + + publications0.map(artifactWithExtra) } } + +object MavenSource { + + def typeExtension(`type`: String): String = + `type` match { + // see similar things in sbt-maven-resolver/src/main/scala/sbt/mavenint/MavenRepositoryResolver.scala in SBT 0.13.8 + case "eclipse-plugin" | "hk2-jar" | "orbit" | "scala-jar" | "jar" | "bundle" | "doc" | "src" => "jar" + case other => other + } + +} \ No newline at end of file diff --git a/core/shared/src/main/scala/coursier/maven/Pom.scala b/core/shared/src/main/scala/coursier/maven/Pom.scala index c0b734898..0a5e88c45 100644 --- a/core/shared/src/main/scala/coursier/maven/Pom.scala +++ b/core/shared/src/main/scala/coursier/maven/Pom.scala @@ -115,6 +115,9 @@ object Pom { } yield Profile(id, activeByDefault, activation, deps, depMgmts, properties.toMap) } + def packagingOpt(pom: Node): Option[String] = + text(pom, "packaging", "").toOption + def project(pom: Node): String \/ Project = { import Scalaz._ diff --git a/core/shared/src/main/scala/coursier/package.scala b/core/shared/src/main/scala/coursier/package.scala index 15ab6efb4..e663aba10 100644 --- a/core/shared/src/main/scala/coursier/package.scala +++ b/core/shared/src/main/scala/coursier/package.scala @@ -30,7 +30,7 @@ package object coursier { type Attributes = core.Attributes object Attributes { def apply( - `type`: String = "jar", + `type`: String = "", classifier: String = "" ): Attributes = core.Attributes(`type`, classifier) diff --git a/plugin/src/main/scala-2.10/coursier/ToSbt.scala b/plugin/src/main/scala-2.10/coursier/ToSbt.scala index 8839f8ffa..df6e4ebc9 100644 --- a/plugin/src/main/scala-2.10/coursier/ToSbt.scala +++ b/plugin/src/main/scala-2.10/coursier/ToSbt.scala @@ -2,6 +2,8 @@ package coursier import java.util.GregorianCalendar +import coursier.maven.MavenSource + import sbt._ object ToSbt { @@ -18,8 +20,9 @@ object ToSbt { def artifact(module: Module, artifact: Artifact): sbt.Artifact = sbt.Artifact( module.name, + // FIXME Get these two from publications artifact.attributes.`type`, - "jar", + MavenSource.typeExtension(artifact.attributes.`type`), Some(artifact.attributes.classifier).filter(_.nonEmpty), Nil, Some(url(artifact.url)), diff --git a/tests/shared/src/test/scala/coursier/test/CentralTests.scala b/tests/shared/src/test/scala/coursier/test/CentralTests.scala index 56794c494..974700b9c 100644 --- a/tests/shared/src/test/scala/coursier/test/CentralTests.scala +++ b/tests/shared/src/test/scala/coursier/test/CentralTests.scala @@ -7,6 +7,8 @@ import scala.async.Async.{ async, await } import coursier.Platform.fetch import coursier.test.compatibility._ +import scala.concurrent.Future + object CentralTests extends TestSuite { val repositories = Seq[Repository]( @@ -76,6 +78,21 @@ object CentralTests extends TestSuite { assert(result == expected) } + def ensureArtifactHasExtension(module: Module, version: String, extension: String): Future[Unit] = async { + val dep = Dependency(module, version, transitive = false) + val res = await(resolve(Set(dep))) + + res.artifacts match { + case Seq(artifact) => + assert(artifact.url.endsWith("." + extension)) + case other => + throw new Exception( + s"Unexpected artifact list size: ${other.size}\n" + + "Artifacts:\n" + other.map(" " + _).mkString("\n") + ) + } + } + val tests = TestSuite { 'logback{ async { @@ -86,8 +103,8 @@ object CentralTests extends TestSuite { rootDependencies = Set(dep), dependencies = Set( dep.withCompileScope, - Dependency(Module("ch.qos.logback", "logback-core"), "1.1.3").withCompileScope, - Dependency(Module("org.slf4j", "slf4j-api"), "1.7.7").withCompileScope)) + Dependency(Module("ch.qos.logback", "logback-core"), "1.1.3").withCompileScope.withJarAttributeType, + Dependency(Module("org.slf4j", "slf4j-api"), "1.7.7").withCompileScope.withJarAttributeType)) assert(res == expected) } @@ -101,8 +118,8 @@ object CentralTests extends TestSuite { rootDependencies = Set(dep), dependencies = Set( dep.withCompileScope, - Dependency(Module("org.ow2.asm", "asm-tree"), "5.0.2").withCompileScope, - Dependency(Module("org.ow2.asm", "asm"), "5.0.2").withCompileScope)) + Dependency(Module("org.ow2.asm", "asm-tree"), "5.0.2").withCompileScope.withJarAttributeType, + Dependency(Module("org.ow2.asm", "asm"), "5.0.2").withCompileScope.withJarAttributeType)) assert(res == expected) } @@ -173,6 +190,26 @@ object CentralTests extends TestSuite { "7.0.+" ) } + + 'packaging - { + * - { + // random aar-based module found on Central + ensureArtifactHasExtension( + Module("com.yandex.android", "speechkit"), + "2.5.0", + "aar" + ) + } + + * - { + // has packaging bundle - ensuring coursier gives its artifact the .jar extension + ensureArtifactHasExtension( + Module("com.google.guava", "guava"), + "17.0", + "jar" + ) + } + } } } diff --git a/tests/shared/src/test/scala/coursier/test/PomParsingTests.scala b/tests/shared/src/test/scala/coursier/test/PomParsingTests.scala index bb8452b79..290c968cb 100644 --- a/tests/shared/src/test/scala/coursier/test/PomParsingTests.scala +++ b/tests/shared/src/test/scala/coursier/test/PomParsingTests.scala @@ -21,7 +21,13 @@ object PomParsingTests extends TestSuite { """ - val expected = \/-("" -> Dependency(Module("comp", "lib"), "2.1", attributes = Attributes(classifier = "extra"))) + val expected = \/-( + "" -> Dependency( + Module("comp", "lib"), + "2.1", + attributes = Attributes(classifier = "extra") + ).withJarAttributeType + ) val result = Pom.dependency(xmlParse(depNode).right.get) @@ -90,7 +96,7 @@ object PomParsingTests extends TestSuite { None, Profile.Activation(Nil), Seq( - "" -> Dependency(Module("comp", "lib"), "0.2")), + "" -> Dependency(Module("comp", "lib"), "0.2").withJarAttributeType), Nil, Map.empty )) @@ -122,7 +128,7 @@ object PomParsingTests extends TestSuite { Profile.Activation(Nil), Nil, Seq( - "test" -> Dependency(Module("comp", "lib"), "0.2")), + "test" -> Dependency(Module("comp", "lib"), "0.2").withJarAttributeType), Map.empty )) diff --git a/tests/shared/src/test/scala/coursier/test/package.scala b/tests/shared/src/test/scala/coursier/test/package.scala index 7fe13dce0..aab39b85e 100644 --- a/tests/shared/src/test/scala/coursier/test/package.scala +++ b/tests/shared/src/test/scala/coursier/test/package.scala @@ -4,6 +4,7 @@ package object test { implicit class DependencyOps(val underlying: Dependency) extends AnyVal { def withCompileScope: Dependency = underlying.copy(configuration = "compile") + def withJarAttributeType: Dependency = underlying.copy(attributes = underlying.attributes.copy(`type` = "jar")) } implicit class ResolutionOps(val underlying: Resolution) extends AnyVal { From 5bbe01bfdd0733271a0b865955d5835775a70db6 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sun, 28 Feb 2016 16:36:58 +0100 Subject: [PATCH 3/4] Better handling of Maven scopes Actually a regression introduced when Ivy support was added Fixes https://github.com/alexarchambault/coursier/issues/178, https://github.com/alexarchambault/coursier/issues/177 --- build.sbt | 1 + .../scala/coursier/core/Definitions.scala | 8 ++- .../main/scala/coursier/core/Resolution.scala | 66 ++++++++++++++----- .../scala/coursier/test/IvyLocalTests.scala | 8 +-- .../test/scala/coursier/test/IvyTests.scala | 5 +- .../com.android.tools/sdklib/24.5.0_compile | 1 + .../com.android.tools/sdklib/24.5.0_runtime | 15 +++++ .../coursier_2.11/1.0.0-M5 | 5 -- .../coursier_2.11/1.0.0-SNAPSHOT | 5 ++ .../java-logging/1.2-SNAPSHOT | 5 -- .../java-logging/1.2-SNAPSHOT_runtime | 5 ++ .../sbtVersion_0.13_scalaVersion_2.10/0.6.6 | 18 ----- .../0.6.6_default_compile_ | 18 +++++ .../scala/coursier/test/CentralTests.scala | 33 ++++++++-- 14 files changed, 134 insertions(+), 59 deletions(-) create mode 100644 tests/shared/src/test/resources/resolutions/com.android.tools/sdklib/24.5.0_compile create mode 100644 tests/shared/src/test/resources/resolutions/com.android.tools/sdklib/24.5.0_runtime delete mode 100644 tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-M5 create mode 100644 tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-SNAPSHOT delete mode 100644 tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT create mode 100644 tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT_runtime delete mode 100644 tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6 create mode 100644 tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6_default_compile_ diff --git a/build.sbt b/build.sbt index ebff0e355..285c5c7f3 100644 --- a/build.sbt +++ b/build.sbt @@ -147,6 +147,7 @@ lazy val core = crossProject Seq( // Since 1.0.0-M10 + ProblemFilters.exclude[IncompatibleResultTypeProblem]("coursier.core.Resolution.withParentConfigurations"), // New singleton object, problem for forward compatibility only ProblemFilters.exclude[MissingTypesProblem]("coursier.maven.MavenSource$") ) diff --git a/core/shared/src/main/scala/coursier/core/Definitions.scala b/core/shared/src/main/scala/coursier/core/Definitions.scala index f178a0cab..085b00fe3 100644 --- a/core/shared/src/main/scala/coursier/core/Definitions.scala +++ b/core/shared/src/main/scala/coursier/core/Definitions.scala @@ -25,9 +25,11 @@ final case class Module( .map { case (k, v) => s"$k=$v" } .mkString(";") - override def toString = - s"$organization:$name" + - (if (attributes.nonEmpty) s";$attributesStr" else "") + def nameWithAttributes: String = + name + (if (attributes.nonEmpty) s";$attributesStr" else "") + + override def toString: String = + s"$organization:$nameWithAttributes" override final lazy val hashCode = Module.unapply(this).get.hashCode() } diff --git a/core/shared/src/main/scala/coursier/core/Resolution.scala b/core/shared/src/main/scala/coursier/core/Resolution.scala index 8a2eb6b28..eb421de65 100644 --- a/core/shared/src/main/scala/coursier/core/Resolution.scala +++ b/core/shared/src/main/scala/coursier/core/Resolution.scala @@ -280,7 +280,7 @@ object Resolution { } } - def withParentConfigurations(config: String, configurations: Map[String, Seq[String]]): Set[String] = { + def withParentConfigurations(config: String, configurations: Map[String, Seq[String]]): (String, Set[String]) = { @tailrec def helper(configs: Set[String], acc: Set[String]): Set[String] = if (configs.isEmpty) @@ -306,7 +306,20 @@ object Resolution { case None => config } - helper(Set(config0), Set.empty) + (config0, helper(Set(config0), Set.empty)) + } + + private val mavenScopes = { + val base = Map[String, Set[String]]( + "compile" -> Set("compile"), + "provided" -> Set(), + "runtime" -> Set("compile", "runtime"), + "test" -> Set() + ) + + base ++ Seq( + "default" -> base("runtime") + ) } /** @@ -347,7 +360,12 @@ object Resolution { val properties = propertiesMap(properties0) - val configurations = withParentConfigurations(from.configuration, project.configurations) + val (actualConfig, configurations) = withParentConfigurations(from.configuration, project.configurations) + + // Vague attempt at making the Maven scope model fit into the Ivy configuration one + + val config = if (actualConfig.isEmpty) defaultConfiguration else actualConfig + val keepOpt = mavenScopes.get(config) withExclusions( depsWithDependencyManagement( @@ -359,20 +377,36 @@ object Resolution { ), from.exclusions ) - .map{ - case (config, dep) => - (if (config.isEmpty) defaultConfiguration else config) -> { - if (dep.configuration.isEmpty) - dep.copy(configuration = defaultConfiguration) + .flatMap { + case (config0, dep0) => + // Dependencies from Maven verify + // dep.configuration.isEmpty + // and expect dep.configuration to be filled here + + val dep = + if (from.optional) + dep0.copy(optional = true) else - dep - } - } - .collect{case (config, dep) if configurations(config) => - if (from.optional) - dep.copy(optional = true) - else - dep + dep0 + + val config = if (config0.isEmpty) defaultConfiguration else config0 + + def default = + if (configurations(config)) + Seq(dep) + else + Nil + + if (dep.configuration.nonEmpty) + default + else + keepOpt.fold(default) { keep => + if (keep(config)) + // really keeping the from.configuration, with its fallback config part + Seq(dep.copy(configuration = from.configuration)) + else + Nil + } } } diff --git a/tests/jvm/src/test/scala/coursier/test/IvyLocalTests.scala b/tests/jvm/src/test/scala/coursier/test/IvyLocalTests.scala index 63b55c93a..8e2da8887 100644 --- a/tests/jvm/src/test/scala/coursier/test/IvyLocalTests.scala +++ b/tests/jvm/src/test/scala/coursier/test/IvyLocalTests.scala @@ -12,18 +12,18 @@ object IvyLocalTests extends TestSuite { val tests = TestSuite{ 'coursier{ val module = Module("com.github.alexarchambault", "coursier_2.11") - val version = "1.0.0-M5" + val version = coursier.util.Properties.version val extraRepo = Some(Cache.ivy2Local) - // Assume this module (and the sub-projects it depends on) is published locally - CentralTests.resolutionCheck( + // Assuming this module (and the sub-projects it depends on) is published locally + * - CentralTests.resolutionCheck( module, version, extraRepo ) - async { + * - async { val res = await(CentralTests.resolve( Set(Dependency(module, version)), extraRepo = extraRepo diff --git a/tests/jvm/src/test/scala/coursier/test/IvyTests.scala b/tests/jvm/src/test/scala/coursier/test/IvyTests.scala index 03d54bd14..0b6bc6a56 100644 --- a/tests/jvm/src/test/scala/coursier/test/IvyTests.scala +++ b/tests/jvm/src/test/scala/coursier/test/IvyTests.scala @@ -7,7 +7,7 @@ import utest._ object IvyTests extends TestSuite { - // only tested on the JVM for lack of support of XML attributes in our XML wrappers + // only tested on the JVM for lack of support of XML attributes in the platform-dependent XML stubs val tests = TestSuite { 'dropInfoAttributes - { @@ -23,7 +23,8 @@ object IvyTests extends TestSuite { "[revision]/[type]s/[artifact](-[classifier]).[ext]", dropInfoAttributes = true ) - ) + ), + configuration = "default(compile)" ) } } diff --git a/tests/shared/src/test/resources/resolutions/com.android.tools/sdklib/24.5.0_compile b/tests/shared/src/test/resources/resolutions/com.android.tools/sdklib/24.5.0_compile new file mode 100644 index 000000000..ad3573e9d --- /dev/null +++ b/tests/shared/src/test/resources/resolutions/com.android.tools/sdklib/24.5.0_compile @@ -0,0 +1 @@ +com.android.tools:sdklib:24.5.0:compile diff --git a/tests/shared/src/test/resources/resolutions/com.android.tools/sdklib/24.5.0_runtime b/tests/shared/src/test/resources/resolutions/com.android.tools/sdklib/24.5.0_runtime new file mode 100644 index 000000000..b94a46af8 --- /dev/null +++ b/tests/shared/src/test/resources/resolutions/com.android.tools/sdklib/24.5.0_runtime @@ -0,0 +1,15 @@ +com.android.tools:annotations:24.5.0:runtime +com.android.tools:common:24.5.0:runtime +com.android.tools:dvlib:24.5.0:runtime +com.android.tools:sdklib:24.5.0:runtime +com.android.tools.layoutlib:layoutlib-api:24.5.0:runtime +com.google.code.gson:gson:2.2.4:runtime +com.google.guava:guava:17.0:runtime +com.intellij:annotations:12.0:runtime +commons-codec:commons-codec:1.4:runtime +commons-logging:commons-logging:1.1.1:runtime +net.sf.kxml:kxml2:2.3.0:runtime +org.apache.commons:commons-compress:1.8.1:runtime +org.apache.httpcomponents:httpclient:4.1.1:runtime +org.apache.httpcomponents:httpcore:4.1:runtime +org.apache.httpcomponents:httpmime:4.1:runtime diff --git a/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-M5 b/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-M5 deleted file mode 100644 index 2f8147e33..000000000 --- a/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-M5 +++ /dev/null @@ -1,5 +0,0 @@ -com.github.alexarchambault:coursier_2.11:1.0.0-M5:compile -org.scala-lang.modules:scala-parser-combinators_2.11:1.0.4:compile -org.scala-lang.modules:scala-xml_2.11:1.0.4:compile -org.scala-lang:scala-library:2.11.7:compile -org.scalaz:scalaz-core_2.11:7.1.2:compile diff --git a/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-SNAPSHOT b/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-SNAPSHOT new file mode 100644 index 000000000..65b593655 --- /dev/null +++ b/tests/shared/src/test/resources/resolutions/com.github.alexarchambault/coursier_2.11/1.0.0-SNAPSHOT @@ -0,0 +1,5 @@ +com.github.alexarchambault:coursier_2.11:1.0.0-SNAPSHOT:compile +org.scala-lang:scala-library:2.11.7:default +org.scala-lang.modules:scala-parser-combinators_2.11:1.0.4:default +org.scala-lang.modules:scala-xml_2.11:1.0.4:default +org.scalaz:scalaz-core_2.11:7.1.2:default diff --git a/tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT b/tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT deleted file mode 100644 index ea22dc5fc..000000000 --- a/tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT +++ /dev/null @@ -1,5 +0,0 @@ -com.github.fommil:java-logging:1.2-SNAPSHOT:runtime -org.slf4j:jcl-over-slf4j:1.7.5:compile -org.slf4j:log4j-over-slf4j:1.7.5:compile -org.slf4j:slf4j-api:1.7.5:compile -org.slf4j:slf4j-jdk14:1.7.5:compile diff --git a/tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT_runtime b/tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT_runtime new file mode 100644 index 000000000..92db35f44 --- /dev/null +++ b/tests/shared/src/test/resources/resolutions/com.github.fommil/java-logging/1.2-SNAPSHOT_runtime @@ -0,0 +1,5 @@ +com.github.fommil:java-logging:1.2-SNAPSHOT:runtime +org.slf4j:jcl-over-slf4j:1.7.5:runtime +org.slf4j:log4j-over-slf4j:1.7.5:runtime +org.slf4j:slf4j-api:1.7.5:runtime +org.slf4j:slf4j-jdk14:1.7.5:runtime diff --git a/tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6 b/tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6 deleted file mode 100644 index a8b637693..000000000 --- a/tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6 +++ /dev/null @@ -1,18 +0,0 @@ -args4j:args4j:2.0.16:compile -com.google.code.findbugs:jsr305:1.3.9:compile -com.google.guava:guava:14.0.1:compile -com.google.javascript:closure-compiler:v20130603:compile -com.google.protobuf:protobuf-java:2.4.1:compile -com.googlecode.json-simple:json-simple:1.1.1:compile -io.apigee:rhino:1.7R5pre4:compile -junit:junit:4.10:compile -org.hamcrest:hamcrest-core:1.1:compile -org.json:json:20090211:compile -org.scala-js:sbt-scalajs;sbtVersion=0.13;scalaVersion=2.10:0.6.6:compile -org.scala-js:scalajs-ir_2.10:0.6.6:compile -org.scala-js:scalajs-js-envs_2.10:0.6.6:compile -org.scala-js:scalajs-sbt-test-adapter_2.10:0.6.6:compile -org.scala-js:scalajs-tools_2.10:0.6.6:compile -org.scala-lang:scala-library:2.10.6:compile -org.scala-sbt:test-interface:1.0:compile -org.webjars:envjs:1.2:compile diff --git a/tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6_default_compile_ b/tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6_default_compile_ new file mode 100644 index 000000000..f1a683894 --- /dev/null +++ b/tests/shared/src/test/resources/resolutions/org.scala-js/sbt-scalajs/sbtVersion_0.13_scalaVersion_2.10/0.6.6_default_compile_ @@ -0,0 +1,18 @@ +args4j:args4j:2.0.16:default +com.google.code.findbugs:jsr305:1.3.9:default +com.google.guava:guava:14.0.1:default +com.google.javascript:closure-compiler:v20130603:default +com.google.protobuf:protobuf-java:2.4.1:default +com.googlecode.json-simple:json-simple:1.1.1:default +io.apigee:rhino:1.7R5pre4:default +junit:junit:4.10:default +org.hamcrest:hamcrest-core:1.1:default +org.json:json:20090211:default +org.scala-js:sbt-scalajs;sbtVersion=0.13;scalaVersion=2.10:0.6.6:compile +org.scala-js:scalajs-ir_2.10:0.6.6:default +org.scala-js:scalajs-js-envs_2.10:0.6.6:default +org.scala-js:scalajs-sbt-test-adapter_2.10:0.6.6:default +org.scala-js:scalajs-tools_2.10:0.6.6:default +org.scala-lang:scala-library:2.10.6:default +org.scala-sbt:test-interface:1.0:default +org.webjars:envjs:1.2:default diff --git a/tests/shared/src/test/scala/coursier/test/CentralTests.scala b/tests/shared/src/test/scala/coursier/test/CentralTests.scala index 974700b9c..a90aeb56b 100644 --- a/tests/shared/src/test/scala/coursier/test/CentralTests.scala +++ b/tests/shared/src/test/scala/coursier/test/CentralTests.scala @@ -45,16 +45,27 @@ object CentralTests extends TestSuite { val expected = await( - textResource(s"resolutions/${module.organization}/${module.name}$attrPathPart/$version") - ) - .split('\n') - .toSeq + textResource( + Seq( + "resolutions", + module.organization, + module.name, + attrPathPart, + version + ( + if (configuration.isEmpty) + "" + else + "_" + configuration.replace('(', '_').replace(')', '_') + ) + ).filter(_.nonEmpty).mkString("/") + ) + ).split('\n').toSeq val dep = Dependency(module, version, configuration = configuration) val res = await(resolve(Set(dep), extraRepo = extraRepo)) val result = res - .dependencies + .minDependencies .toVector .map { dep => val projOpt = res.projectCache @@ -63,7 +74,7 @@ object CentralTests extends TestSuite { val dep0 = dep.copy( version = projOpt.fold(dep.version)(_.version) ) - (dep0.module.organization, dep0.module.name, dep0.version, dep0.configuration) + (dep0.module.organization, dep0.module.nameWithAttributes, dep0.version, dep0.configuration) } .sorted .distinct @@ -190,6 +201,16 @@ object CentralTests extends TestSuite { "7.0.+" ) } + 'mavenScopes - { + def check(config: String) = resolutionCheck( + Module("com.android.tools", "sdklib"), + "24.5.0", + configuration = config + ) + + 'compile - check("compile") + 'runtime - check("runtime") + } 'packaging - { * - { From 49eb37b1a3c02a4d4173e17be95ebdfa5baf4a03 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sun, 28 Feb 2016 16:36:59 +0100 Subject: [PATCH 4/4] Accept configurations to be specified for dependencies in the CLI tools --- .../scala-2.11/coursier/cli/Coursier.scala | 6 ++- .../main/scala-2.11/coursier/cli/Helper.scala | 12 +++--- .../src/main/scala/coursier/util/Parse.scala | 40 ++++++++++++++++++- 3 files changed, 50 insertions(+), 8 deletions(-) diff --git a/cli/src/main/scala-2.11/coursier/cli/Coursier.scala b/cli/src/main/scala-2.11/coursier/cli/Coursier.scala index 0366ea41d..980d6f934 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Coursier.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Coursier.scala @@ -54,6 +54,10 @@ case class CommonOptions( @Value("classifier1,classifier2,...") @Short("C") classifier: List[String], + @Help("Default configuration (default(compile) by default)") + @Value("configuration") + @Short("c") + defaultConfiguration: String = "default(compile)", @Help("Maximum number of parallel downloads (default: 6)") @Short("n") parallel: Int = 6, @@ -316,7 +320,7 @@ case class Launch( } else { // Trying to get the main class of the first artifact val mainClassOpt = for { - (module, _) <- helper.moduleVersions.headOption + (module, _, _) <- helper.moduleVersionConfigs.headOption mainClass <- mainClasses.collectFirst { case ((org, name), mainClass) if org == module.organization && ( diff --git a/cli/src/main/scala-2.11/coursier/cli/Helper.scala b/cli/src/main/scala-2.11/coursier/cli/Helper.scala index 1d282edc3..46932bd93 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Helper.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Helper.scala @@ -118,10 +118,10 @@ class Helper( } - val (modVerErrors, moduleVersions) = Parse.moduleVersions(rawDependencies) + val (modVerCfgErrors, moduleVersionConfigs) = Parse.moduleVersionConfigs(rawDependencies) - prematureExitIf(modVerErrors.nonEmpty) { - s"Cannot parse dependencies:\n" + modVerErrors.map(" "+_).mkString("\n") + prematureExitIf(modVerCfgErrors.nonEmpty) { + s"Cannot parse dependencies:\n" + modVerCfgErrors.map(" "+_).mkString("\n") } @@ -164,12 +164,12 @@ class Helper( (mod.organization, mod.name) }.toSet - val dependencies = moduleVersions.map { - case (module, version) => + val dependencies = moduleVersionConfigs.map { + case (module, version, configOpt) => Dependency( module, version, - configuration = "default(compile)", + configuration = configOpt.getOrElse(defaultConfiguration), exclusions = excludes, transitive = !intransitive ) diff --git a/core/shared/src/main/scala/coursier/util/Parse.scala b/core/shared/src/main/scala/coursier/util/Parse.scala index 0f0c03b76..2b2f0c653 100644 --- a/core/shared/src/main/scala/coursier/util/Parse.scala +++ b/core/shared/src/main/scala/coursier/util/Parse.scala @@ -81,14 +81,52 @@ object Parse { } } + /** + * Parses coordinates like + * org:name:version + * possibly with attributes, like + * org:name;attr1=val1;attr2=val2:version + * and a configuration, like + * org:name:version:config + * or + * org:name;attr1=val1;attr2=val2:version:config + */ + def moduleVersionConfig(s: String): Either[String, (Module, String, Option[String])] = { + + val parts = s.split(":", 4) + + parts match { + case Array(org, rawName, version, config) => + module(s"$org:$rawName") + .right + .map((_, version, Some(config))) + + case Array(org, rawName, version) => + module(s"$org:$rawName") + .right + .map((_, version, None)) + + case _ => + Left(s"Malformed coordinates: $s") + } + } + /** * Parses a sequence of coordinates. * - * @return Sequence of errors, and sequence of modules/versions + * @return Sequence of errors, and sequence of modules / versions */ def moduleVersions(l: Seq[String]): (Seq[String], Seq[(Module, String)]) = valuesAndErrors(moduleVersion, l) + /** + * Parses a sequence of coordinates having an optional configuration. + * + * @return Sequence of errors, and sequence of modules / versions / optional configurations + */ + def moduleVersionConfigs(l: Seq[String]): (Seq[String], Seq[(Module, String, Option[String])]) = + valuesAndErrors(moduleVersionConfig, l) + def repository(s: String): Repository = if (s == "central") MavenRepository("https://repo1.maven.org/maven2")