summaryrefslogtreecommitdiff
path: root/project
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2016-11-11 12:45:33 +1000
committerGitHub <noreply@github.com>2016-11-11 12:45:33 +1000
commitb73892b5239f657d4779adf05d0e7134773177a3 (patch)
treeb0179901e81d24fd56822476d425e62b64c6f103 /project
parent4c63c9f2689f278b716f41b8699b3c918766fe80 (diff)
parentea2451eb40fc24fa29b640d75240fbe72c3d156a (diff)
downloadscala-b73892b5239f657d4779adf05d0e7134773177a3.tar.gz
scala-b73892b5239f657d4779adf05d0e7134773177a3.tar.bz2
scala-b73892b5239f657d4779adf05d0e7134773177a3.zip
Merge pull request #5497 from szeiger/wip/sd-254
Don’t include scala-asm.jar in scala-compiler.jar
Diffstat (limited to 'project')
-rw-r--r--project/Osgi.scala13
1 files changed, 9 insertions, 4 deletions
diff --git a/project/Osgi.scala b/project/Osgi.scala
index 3b578572c9..082fd91ed1 100644
--- a/project/Osgi.scala
+++ b/project/Osgi.scala
@@ -37,9 +37,9 @@ object Osgi {
},
jarlist := false,
bundle := Def.task {
- val res = (products in Compile in packageBin).value
- bundleTask(headers.value.toMap, jarlist.value, (products in Compile in packageBin).value,
- (artifactPath in (Compile, packageBin)).value, res, streams.value)
+ val cp = (products in Compile in packageBin).value
+ bundleTask(headers.value.toMap, jarlist.value, cp,
+ (artifactPath in (Compile, packageBin)).value, cp, streams.value)
}.value,
packagedArtifact in (Compile, packageBin) := (((artifact in (Compile, packageBin)).value, bundle.value)),
// Also create OSGi source bundles:
@@ -57,7 +57,12 @@ object Osgi {
val builder = new Builder
builder.setClasspath(fullClasspath.toArray)
headers foreach { case (k, v) => builder.setProperty(k, v) }
- val includeRes = resourceDirectories.filter(_.exists).map(_.getAbsolutePath).mkString(",")
+
+ // https://github.com/scala/scala-dev/issues/254
+ // Must be careful not to include scala-asm.jar within scala-compiler.jar!
+ def resourceDirectoryRef(f: File) = (if (f.isDirectory) "" else "@") + f.getAbsolutePath
+
+ val includeRes = resourceDirectories.filter(_.exists).map(resourceDirectoryRef).mkString(",")
if(!includeRes.isEmpty) builder.setProperty(INCLUDERESOURCE, includeRes)
builder.getProperties.asScala.foreach { case (k, v) => log.debug(s"bnd: $k: $v") }
// builder.build is not thread-safe because it uses a static SimpleDateFormat. This ensures