Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e2fec6b

Browse files
committed
Merge pull request scala#2976 from retronym/backport/7862
[nomaster] SI-7862: MANIFEST.MF file for Scala sources
2 parents 892aa93 + 8e11dcb commit e2fec6b

File tree

1 file changed

+48
-6
lines changed

1 file changed

+48
-6
lines changed

build.xml

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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=&quot;${osgi.version.number}&quot;;roots:=&quot;.&quot;" />
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

Comments
 (0)