@@ -1961,27 +1961,67 @@ TODO:
1961
1961
</copy >
1962
1962
</target >
1963
1963
1964
+ <!--
1965
+ A jar-like task that creates an OSGi source bundle. It adds the required MANIFEST.MF headers that allow
1966
+ Eclipse to match sources with the corresponding binaries.
1967
+ -->
1968
+ <macrodef name =" osgi.source.bundle" >
1969
+ <attribute name =" destfile" description =" The jar file name" />
1970
+ <attribute name =" symbolicName" description =" The original bundle symbolic name (without .source at the end)" />
1971
+ <attribute name =" bundleName" description =" A value for Bundle-Name, usually a textual description" />
1972
+ <element name =" file-sets" description =" A sequence of fileset elements to be included in the jar" optional =" true" implicit =" true" />
1973
+
1974
+ <sequential >
1975
+ <jar whenmanifestonly =" fail" destfile =" @{ destFile } " >
1976
+ <file-sets />
1977
+ <manifest >
1978
+ <attribute name =" Manifest-Version" value =" 1.0" />
1979
+ <attribute name =" Bundle-Name" value =" @{ bundleName } " />
1980
+ <attribute name =" Bundle-SymbolicName" value =" @{ symbolicName } .source" />
1981
+ <attribute name =" Bundle-Version" value =" ${ osgi.version.number } " />
1982
+ <attribute name =" Eclipse-SourceBundle" value =" @{ symbolicName } ;version="${ osgi.version.number } ";roots:="."" />
1983
+ </manifest >
1984
+ </jar >
1985
+ </sequential >
1986
+ </macrodef >
1987
+
1964
1988
<target name =" dist.src" depends =" dist.base" >
1965
1989
<mkdir dir =" ${ dist.dir } /src" />
1966
1990
<copy toDir =" ${ dist.dir } /src" >
1967
1991
<file file =" ${ scala-xml-sources } " />
1968
1992
<file file =" ${ scala-parser-combinators-sources } " />
1969
1993
</copy >
1970
1994
1971
- <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scala-library-src.jar" >
1995
+ <osgi .source.bundle destfile =" ${ dist.dir } /src/scala-library-src.jar"
1996
+ symbolicName =" org.scala-lang.scala-library"
1997
+ bundleName =" Scala Library Sources" >
1972
1998
<fileset dir =" ${ src.dir } /library" />
1973
1999
<fileset dir =" ${ src.dir } /continuations/library" />
1974
- </jar >
1975
- <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scala-actors-src.jar" basedir =" ${ src.dir } /actors" />
1976
- <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scala-compiler-src.jar" >
2000
+ </osgi .source.bundle>
2001
+ <osgi .source.bundle destfile =" ${ dist.dir } /src/scala-actors-src.jar"
2002
+ symbolicName =" org.scala-lang.scala-actors"
2003
+ bundleName =" Scala Actors Sources" >
2004
+ <fileset dir =" ${ src.dir } /actors" />
2005
+ </osgi .source.bundle>
2006
+ <osgi .source.bundle destfile =" ${ dist.dir } /src/scala-compiler-src.jar"
2007
+ symbolicName =" org.scala-lang.scala-compiler"
2008
+ bundleName =" Scala Compiler Sources" >
1977
2009
<fileset dir =" ${ src.dir } /compiler" />
1978
2010
<fileset dir =" ${ src.dir } /repl" />
1979
2011
<fileset dir =" ${ src.dir } /scaladoc" />
1980
2012
<fileset dir =" ${ src.dir } /interactive" />
1981
2013
<fileset dir =" ${ src.dir } /continuations/plugin" />
1982
- </jar >
1983
- <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scala-swing-src.jar" basedir =" ${ src.dir } /swing" />
1984
- <jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scala-reflect-src.jar" basedir =" ${ src.dir } /reflect" />
2014
+ </osgi .source.bundle>
2015
+ <osgi .source.bundle destfile =" ${ dist.dir } /src/scala-swing-src.jar"
2016
+ symbolicName =" org.scala-lang.scala-swing"
2017
+ bundleName =" Scala Swing Sources" >
2018
+ <fileset dir =" ${ src.dir } /swing" />
2019
+ </osgi .source.bundle>
2020
+ <osgi .source.bundle destfile =" ${ dist.dir } /src/scala-reflect-src.jar"
2021
+ symbolicName =" org.scala-lang.scala-reflect"
2022
+ bundleName =" Scala Reflect Sources" >
2023
+ <fileset dir =" ${ src.dir } /reflect" />
2024
+ </osgi .source.bundle>
1985
2025
<jar whenmanifestonly =" fail" destfile =" ${ dist.dir } /src/scalap-src.jar" basedir =" ${ src.dir } /scalap" />
1986
2026
</target >
1987
2027
0 commit comments