diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-09-23 06:00:37 -0700 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-09-23 06:00:37 -0700 |
commit | e2fec6b28dfd73482945ffab85d9b582d0cb9f17 (patch) | |
tree | 369ef35c8cd0196c497695823e92a2ee09ea5788 | |
parent | 892aa93cf7b74f9bf1c3194930186b33f892fc02 (diff) | |
parent | 8e11dcb462273d5b0778ceb06a9cb3e95eb4bfb2 (diff) | |
download | scala-e2fec6b28dfd73482945ffab85d9b582d0cb9f17.tar.gz scala-e2fec6b28dfd73482945ffab85d9b582d0cb9f17.tar.bz2 scala-e2fec6b28dfd73482945ffab85d9b582d0cb9f17.zip |
Merge pull request #2976 from retronym/backport/7862v2.10.3-RC3v2.10.3
[nomaster] SI-7862: MANIFEST.MF file for Scala sources
-rw-r--r-- | build.xml | 54 |
1 files changed, 48 insertions, 6 deletions
@@ -1881,18 +1881,60 @@ TODO: </copy> </target> + <!-- + A jar-like task that creates an OSGi source bundle. It adds the required MANIFEST.MF headers that allow + Eclipse to match sources with the corresponding binaries. + --> + <macrodef name="osgi.source.bundle"> + <attribute name="destfile" description="The jar file name"/> + <attribute name="symbolicName" description="The original bundle symbolic name (without .source at the end)"/> + <attribute name="bundleName" description="A value for Bundle-Name, usually a textual description"/> + <element name="file-sets" description="A sequence of fileset elements to be included in the jar" optional="true" implicit="true"/> + + <sequential> + <jar whenmanifestonly="fail" destfile="@{destFile}"> + <file-sets/> + <manifest> + <attribute name="Manifest-Version" value="1.0"/> + <attribute name="Bundle-Name" value="@{bundleName}"/> + <attribute name="Bundle-SymbolicName" value="@{symbolicName}.source"/> + <attribute name="Bundle-Version" value="${osgi.version.number}"/> + <attribute name="Eclipse-SourceBundle" value="@{symbolicName};version="${osgi.version.number}";roots:="."" /> + </manifest> + </jar> + </sequential> + </macrodef> + <target name="dist.src" depends="dist.base"> <mkdir dir="${dist.dir}/src"/> - <jar whenmanifestonly="fail" destfile="${dist.dir}/src/scala-library-src.jar"> + <osgi.source.bundle destfile="${dist.dir}/src/scala-library-src.jar" + symbolicName="org.scala-lang.scala-library" + bundleName="Scala Library Sources"> <fileset dir="${src.dir}/library"/> <fileset dir="${src.dir}/continuations/library"/> - </jar> - <jar whenmanifestonly="fail" destfile="${dist.dir}/src/scala-reflect-src.jar" basedir="${src.dir}/reflect"/> - <jar whenmanifestonly="fail" destfile="${dist.dir}/src/scala-swing-src.jar" basedir="${src.dir}/swing"/> - <jar whenmanifestonly="fail" destfile="${dist.dir}/src/scala-compiler-src.jar" basedir="${src.dir}/compiler"/> + </osgi.source.bundle> + <osgi.source.bundle destfile="${dist.dir}/src/scala-reflect-src.jar" + symbolicName="org.scala-lang.scala-reflect" + bundleName="Scala Reflect Sources"> + <fileset dir="${src.dir}/reflect"/> + </osgi.source.bundle> + <osgi.source.bundle destfile="${dist.dir}/src/scala-swing-src.jar" + symbolicName="org.scala-lang.scala-swing" + bundleName="Scala Swing Sources"> + <fileset dir="${src.dir}/swing"/> + </osgi.source.bundle> + <osgi.source.bundle destfile="${dist.dir}/src/scala-compiler-src.jar" + symbolicName="org.scala-lang.scala-compiler" + bundleName="Scala Compiler Sources"> + <fileset dir="${src.dir}/compiler"/> + </osgi.source.bundle> <jar whenmanifestonly="fail" destfile="${dist.dir}/src/fjbg-src.jar" basedir="${src.dir}/fjbg"/> <jar whenmanifestonly="fail" destfile="${dist.dir}/src/msil-src.jar" basedir="${src.dir}/msil"/> - <jar whenmanifestonly="fail" destfile="${dist.dir}/src/scala-actors-src.jar" basedir="${src.dir}/actors"/> + <osgi.source.bundle destfile="${dist.dir}/src/scala-actors-src.jar" + symbolicName="org.scala-lang.scala-actors" + bundleName="Scala Actors Sources"> + <fileset dir="${src.dir}/actors"/> + </osgi.source.bundle> <jar whenmanifestonly="fail" destfile="${dist.dir}/src/scalap-src.jar" basedir="${src.dir}/scalap"/> <jar whenmanifestonly="fail" destfile="${dist.dir}/src/scala-partest-src.jar" basedir="${src.dir}/partest"/> </target> |