Skip to content

Commit b48c706

Browse files
author
Antonio Cunei
committed
Add cross suffix customizability for modules
For each module whose version can be specified using the property "xxx.version.number", it is now possible to specify its cross version suffix by using an optional property "xxx.cross.suffix". If such a property is not defined, then continue to use the string "_${scala.binary.version}", as before.
1 parent 115cd16 commit b48c706

File tree

2 files changed

+40
-10
lines changed

2 files changed

+40
-10
lines changed

build-ant-macros.xml

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,35 @@
2323
</sequential>
2424
</macrodef>
2525

26+
<!-- Set a property @{name}.cross to the actual cross suffix that should be
27+
used when resolving the module "@{name}". If the (user-supplied)
28+
@{name}.cross.suffix property exists then use that value, otherwise use
29+
"_${scala.binary.version}". -->
30+
<macrodef name="prepareCross">
31+
<attribute name="name" />
32+
<sequential>
33+
<if>
34+
<isset property="@{name}.cross.suffix" />
35+
<then>
36+
<property name="@{name}.cross" value="${@{name}.cross.suffix}" />
37+
</then>
38+
<else>
39+
<property name="@{name}.cross" value="_${scala.binary.version}" />
40+
</else>
41+
</if>
42+
</sequential>
43+
</macrodef>
44+
2645
<!-- Set property named @{name} to the jar resolved as @{jar}_${scala.binary.version}:jar.
2746
@{jar}_${scala.binary.version} must be a maven dependency. -->
2847
<macrodef name="propertyForCrossedArtifact">
2948
<attribute name="name"/>
3049
<attribute name="jar"/>
50+
<attribute name="suffix" default="${@{name}.cross}"/>
3151
<sequential>
32-
<readProperty name="@{name}" property="@{jar}_${scala.binary.version}:jar"/>
33-
<readProperty name="@{name}-sources" property="@{jar}_${scala.binary.version}:java-source:sources"/>
34-
<readProperty name="@{name}-javadoc" property="@{jar}_${scala.binary.version}:java-source:javadoc"/>
52+
<readProperty name="@{name}" property="@{jar}@{suffix}:jar"/>
53+
<readProperty name="@{name}-sources" property="@{jar}@{suffix}:java-source:sources"/>
54+
<readProperty name="@{name}-javadoc" property="@{jar}@{suffix}:java-source:javadoc"/>
3555
</sequential>
3656
</macrodef>
3757

build.xml

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,16 @@ TODO:
276276

277277
<artifact:remoteRepository id="extra-repo" url="${extra.repo.url}"/>
278278

279+
<!-- prepare, for each of the names below, the property "@{name}.cross", set to the
280+
necessary cross suffix (usually something like "_2.11.0-M6". -->
281+
<prepareCross name="scala-xml" />
282+
<prepareCross name="scala-parser-combinators" />
283+
<prepareCross name="scala-continuations-plugin" />
284+
<prepareCross name="scala-continuations-library"/>
285+
<prepareCross name="scala-swing"/>
286+
<prepareCross name="scala-partest"/>
287+
<prepareCross name="scalacheck"/>
288+
279289
<!-- TODO: delay until absolutely necessary to allow minimal build, also move out partest dependency from scaladoc -->
280290
<artifact:dependencies pathId="partest.classpath" filesetId="partest.fileset" versionsId="partest.versions">
281291
<!-- uncomment the following if you're deploying your own partest locally -->
@@ -284,13 +294,13 @@ TODO:
284294
(we don't distribute partest with Scala, so the risk of sonatype and maven being out of synch is irrelevant):
285295
-->
286296
<artifact:remoteRepository refid="extra-repo"/>
287-
<dependency groupId="org.scala-lang.modules" artifactId="scala-partest_${scala.binary.version}" version="${partest.version.number}" />
297+
<dependency groupId="org.scala-lang.modules" artifactId="scala-partest${scala-partest.cross}" version="${partest.version.number}" />
288298
</artifact:dependencies>
289299
<copy-deps project="partest"/>
290300

291301
<artifact:dependencies pathId="scalacheck.classpath" filesetId="scalacheck.fileset" versionsId="scalacheck.versions">
292302
<artifact:remoteRepository refid="extra-repo"/>
293-
<dependency groupId="org.scalacheck" artifactId="scalacheck_${scala.binary.version}" version="${scalacheck.version.number}" />
303+
<dependency groupId="org.scalacheck" artifactId="scalacheck${scalacheck.cross}" version="${scalacheck.version.number}" />
294304
</artifact:dependencies>
295305

296306
<artifact:dependencies pathId="repl.deps.classpath" filesetId="repl.fileset" versionsId="repl.deps.versions">
@@ -302,11 +312,11 @@ TODO:
302312
must specify sourcesFilesetId, javadocFilesetId to download these types of artifacts -->
303313
<artifact:dependencies pathId="external-modules.deps.classpath" sourcesFilesetId="external-modules.sources.fileset" javadocFilesetId="external-modules.javadoc.fileset">
304314
<artifact:remoteRepository refid="extra-repo"/>
305-
<dependency groupId="org.scala-lang.modules" artifactId="scala-xml_${scala.binary.version}" version="${scala-xml.version.number}"/>
306-
<dependency groupId="org.scala-lang.modules" artifactId="scala-parser-combinators_${scala.binary.version}" version="${scala-parser-combinators.version.number}"/>
307-
<dependency groupId="org.scala-lang.plugins" artifactId="scala-continuations-plugin_${scala.binary.version}" version="${scala-continuations-plugin.version.number}"/>
308-
<dependency groupId="org.scala-lang.plugins" artifactId="scala-continuations-library_${scala.binary.version}" version="${scala-continuations-library.version.number}"/>
309-
<dependency groupId="org.scala-lang.modules" artifactId="scala-swing_${scala.binary.version}" version="${scala-swing.version.number}"/>
315+
<dependency groupId="org.scala-lang.modules" artifactId="scala-xml${scala-xml.cross}" version="${scala-xml.version.number}"/>
316+
<dependency groupId="org.scala-lang.modules" artifactId="scala-parser-combinators${scala-parser-combinators.cross}" version="${scala-parser-combinators.version.number}"/>
317+
<dependency groupId="org.scala-lang.plugins" artifactId="scala-continuations-plugin${scala-continuations-plugin.cross}" version="${scala-continuations-plugin.version.number}"/>
318+
<dependency groupId="org.scala-lang.plugins" artifactId="scala-continuations-library${scala-continuations-library.cross}" version="${scala-continuations-library.version.number}"/>
319+
<dependency groupId="org.scala-lang.modules" artifactId="scala-swing${scala-swing.cross}" version="${scala-swing.version.number}"/>
310320
</artifact:dependencies>
311321

312322
<!-- External modules, excluding the core -->

0 commit comments

Comments
 (0)