@@ -1881,18 +1881,60 @@ TODO:
18811881 </copy >
18821882 </target >
18831883
1884+ <!--
1885+ A jar-like task that creates an OSGi source bundle. It adds the required MANIFEST.MF headers that allow
1886+ Eclipse to match sources with the corresponding binaries.
1887+ -->
1888+ <macrodef name =" osgi.source.bundle" >
1889+ <attribute name =" destfile" description =" The jar file name" />
1890+ <attribute name =" symbolicName" description =" The original bundle symbolic name (without .source at the end)" />
1891+ <attribute name =" bundleName" description =" A value for Bundle-Name, usually a textual description" />
1892+ <element name =" file-sets" description =" A sequence of fileset elements to be included in the jar" optional =" true" implicit =" true" />
1893+
1894+ <sequential >
1895+ <jar whenmanifestonly =" fail" destfile =" @{ destFile } " >
1896+ <file-sets />
1897+ <manifest >
1898+ <attribute name =" Manifest-Version" value =" 1.0" />
1899+ <attribute name =" Bundle-Name" value =" @{ bundleName } " />
1900+ <attribute name =" Bundle-SymbolicName" value =" @{ symbolicName } .source" />
1901+ <attribute name =" Bundle-Version" value =" ${ osgi.version.number } " />
1902+ <attribute name =" Eclipse-SourceBundle" value =" @{ symbolicName } ;version="${ osgi.version.number } ";roots:="."" />
1903+ </manifest >
1904+ </jar >
1905+ </sequential >
1906+ </macrodef >
1907+
18841908 <target name =" dist.src" depends =" dist.base" >
18851909 <mkdir dir =" ${ dist.dir } /src" />
1886- <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scala-library-src.jar" >
1910+ <osgi .source.bundle destfile =" ${ dist.dir } /src/scala-library-src.jar"
1911+ symbolicName =" org.scala-lang.scala-library"
1912+ bundleName =" Scala Library Sources" >
18871913 <fileset dir =" ${ src.dir } /library" />
18881914 <fileset dir =" ${ src.dir } /continuations/library" />
1889- </jar >
1890- <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scala-reflect-src.jar" basedir =" ${ src.dir } /reflect" />
1891- <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scala-swing-src.jar" basedir =" ${ src.dir } /swing" />
1892- <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scala-compiler-src.jar" basedir =" ${ src.dir } /compiler" />
1915+ </osgi .source.bundle>
1916+ <osgi .source.bundle destfile =" ${ dist.dir } /src/scala-reflect-src.jar"
1917+ symbolicName =" org.scala-lang.scala-reflect"
1918+ bundleName =" Scala Reflect Sources" >
1919+ <fileset dir =" ${ src.dir } /reflect" />
1920+ </osgi .source.bundle>
1921+ <osgi .source.bundle destfile =" ${ dist.dir } /src/scala-swing-src.jar"
1922+ symbolicName =" org.scala-lang.scala-swing"
1923+ bundleName =" Scala Swing Sources" >
1924+ <fileset dir =" ${ src.dir } /swing" />
1925+ </osgi .source.bundle>
1926+ <osgi .source.bundle destfile =" ${ dist.dir } /src/scala-compiler-src.jar"
1927+ symbolicName =" org.scala-lang.scala-compiler"
1928+ bundleName =" Scala Compiler Sources" >
1929+ <fileset dir =" ${ src.dir } /compiler" />
1930+ </osgi .source.bundle>
18931931 <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/fjbg-src.jar" basedir =" ${ src.dir } /fjbg" />
18941932 <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/msil-src.jar" basedir =" ${ src.dir } /msil" />
1895- <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scala-actors-src.jar" basedir =" ${ src.dir } /actors" />
1933+ <osgi .source.bundle destfile =" ${ dist.dir } /src/scala-actors-src.jar"
1934+ symbolicName =" org.scala-lang.scala-actors"
1935+ bundleName =" Scala Actors Sources" >
1936+ <fileset dir =" ${ src.dir } /actors" />
1937+ </osgi .source.bundle>
18961938 <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scalap-src.jar" basedir =" ${ src.dir } /scalap" />
18971939 <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scala-partest-src.jar" basedir =" ${ src.dir } /partest" />
18981940 </target >
0 commit comments