LUCENE-3754: Store generated archive manifests in per-module output directories - each artifact gets its own manifest file

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1244536 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Steven Rowe 2012-02-15 15:30:53 +00:00
parent a5a0fd421e
commit d47f01c350
5 changed files with 38 additions and 30 deletions

View File

@ -178,7 +178,7 @@
</condition> </condition>
<property name="junit.parallel.selector" value="org.apache.lucene.util.LuceneJUnitDividingSelector"/> <property name="junit.parallel.selector" value="org.apache.lucene.util.LuceneJUnitDividingSelector"/>
<property name="manifest.file" location="${common.dir}/build/MANIFEST.MF"/> <property name="manifest.file" location="${build.dir}/MANIFEST.MF"/>
<!-- <!--
we attempt to exec svnversion to get details build information we attempt to exec svnversion to get details build information
@ -386,8 +386,9 @@
<attribute name="title"/> <attribute name="title"/>
<attribute name="implementation.title"/> <attribute name="implementation.title"/>
<attribute name="spec.version"/> <attribute name="spec.version"/>
<attribute name="manifest.file" default="${manifest.file}"/>
<sequential> <sequential>
<manifest file="${manifest.file}"> <manifest file="@{manifest.file}">
<!-- <!--
http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#JAR%20Manifest http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#JAR%20Manifest
http://java.sun.com/j2se/1.5.0/docs/guide/versioning/spec/versioning2.html http://java.sun.com/j2se/1.5.0/docs/guide/versioning/spec/versioning2.html
@ -434,6 +435,7 @@
<attribute name="metainf.source.dir" default="${common.dir}"/> <attribute name="metainf.source.dir" default="${common.dir}"/>
<attribute name="implementation.title" default="org.apache.lucene"/> <attribute name="implementation.title" default="org.apache.lucene"/>
<attribute name="spec.version" default="${spec.version}"/> <attribute name="spec.version" default="${spec.version}"/>
<attribute name="manifest.file" default="${manifest.file}"/>
<element name="nested" optional="true" implicit="true"/> <element name="nested" optional="true" implicit="true"/>
<sequential> <sequential>
<!-- If possible, include the svnversion --> <!-- If possible, include the svnversion -->
@ -444,11 +446,12 @@
<build-manifest title="@{title}" <build-manifest title="@{title}"
implementation.title="@{implementation.title}" implementation.title="@{implementation.title}"
spec.version="@{spec.version}"/> spec.version="@{spec.version}"
manifest.file="@{manifest.file}"/>
<jar destfile="@{destfile}" <jar destfile="@{destfile}"
basedir="@{basedir}" basedir="@{basedir}"
manifest="${manifest.file}" manifest="@{manifest.file}"
excludes="@{excludes}"> excludes="@{excludes}">
<metainf dir="@{metainf.source.dir}" includes="LICENSE.txt,NOTICE.txt"/> <metainf dir="@{metainf.source.dir}" includes="LICENSE.txt,NOTICE.txt"/>
<nested /> <nested />

View File

@ -64,8 +64,9 @@
<target name="jar-examples" depends="compile-examples"> <target name="jar-examples" depends="compile-examples">
<jarify basedir="${build.dir}/classes/examples" <jarify basedir="${build.dir}/classes/examples"
destfile="${build.dir}/${final.name}-examples.jar" destfile="${build.dir}/${final.name}-examples.jar"
title="Lucene Search Engine: ${ant.project.name}-examples"> title="Lucene Search Engine: ${ant.project.name}-examples"
manifest.file="${build.dir}/EXAMPLES-MANIFEST.MF">
<fileset dir="src/examples" /> <fileset dir="src/examples" />
</jarify> </jarify>
</target> </target>

View File

@ -43,7 +43,6 @@
<property name="package.dir" location="${common-solr.dir}/package"/> <property name="package.dir" location="${common-solr.dir}/package"/>
<property name="maven.dist.dir" location="${package.dir}/maven"/> <property name="maven.dist.dir" location="${package.dir}/maven"/>
<property name="lucene-libs" location="${dest}/lucene-libs" /> <property name="lucene-libs" location="${dest}/lucene-libs" />
<property name="manifest.file" location="${dest}/META-INF/MANIFEST.MF"/>
<property name="tests.userdir" value="src/test-files"/> <property name="tests.userdir" value="src/test-files"/>
<property name="example" value="${common-solr.dir}/example" /> <property name="example" value="${common-solr.dir}/example" />
<property name="javadoc.dir" location="${build.dir}/docs/api"/> <property name="javadoc.dir" location="${build.dir}/docs/api"/>
@ -162,12 +161,31 @@
</target> </target>
<!-- Shared core/solrj/test-framework/contrib targets --> <!-- Shared core/solrj/test-framework/contrib targets -->
<macrodef name="solr-jarify" description="Builds a Solr JAR file">
<attribute name="basedir" default="${build.dir}/classes/java"/>
<attribute name="destfile" default="${build.dir}/${final.name}.jar"/>
<attribute name="title" default="Apache Solr Search Server: ${ant.project.name}"/>
<attribute name="excludes" default="**/pom.xml,**/*.iml"/>
<attribute name="metainf.source.dir" default="${common-solr.dir}"/>
<attribute name="implementation.title" default="org.apache.solr"/>
<attribute name="spec.version" default="${solr.spec.version}"/>
<attribute name="manifest.file" default="${manifest.file}"/>
<element name="nested" optional="true" implicit="true"/>
<sequential>
<jarify basedir="@{basedir}" destfile="@{destfile}"
title="@{title}" excludes="@{excludes}"
metainf.source.dir="@{metainf.source.dir}"
implementation.title="@{implementation.title}"
spec.version="@{spec.version}"
manifest.file="@{manifest.file}">
<nested/>
</jarify>
</sequential>
</macrodef>
<target name="jar-core" depends="compile-core"> <target name="jar-core" depends="compile-core">
<mkdir dir="${dest}/META-INF/"/> <solr-jarify/>
<jarify title="Apache Solr Search Server: ${ant.project.name}"
metainf.source.dir="${common-solr.dir}"
implementation.title="org.apache.solr"
spec.version="${solr.spec.version}"/>
</target> </target>
<target name="compile-core" depends="prep-lucene-jars,common.compile-core"/> <target name="compile-core" depends="prep-lucene-jars,common.compile-core"/>
@ -194,12 +212,7 @@
<packageset dir="${src.dir}"/> <packageset dir="${src.dir}"/>
</sources> </sources>
</invoke-javadoc> </invoke-javadoc>
<jarify basedir="${javadoc.dir}" <solr-jarify basedir="${javadoc.dir}" destfile="${build.dir}/${final.name}-javadoc.jar"/>
destfile="${build.dir}/${final.name}-javadoc.jar"
title="Apache Solr Search Server: ${ant.project.name}"
metainf.source.dir="${common-solr.dir}"
implementation.title="org.apache.solr"
spec.version="${solr.spec.version}"/>
</sequential> </sequential>
</target> </target>
@ -224,11 +237,7 @@
</target> </target>
<target name="jar-src" depends="init"> <target name="jar-src" depends="init">
<jarify basedir="${src.dir}" <solr-jarify basedir="${src.dir}" destfile="${build.dir}/${final.name}-src.jar"/>
destfile="${build.dir}/${final.name}-src.jar"
implementation.title="org.apache.solr"
metainf.source.dir="${common-solr.dir}"
spec.version="${solr.spec.version}"/>
</target> </target>
<!-- Solr core targets --> <!-- Solr core targets -->

View File

@ -59,12 +59,7 @@
<packageset dir="${src.dir}"/> <packageset dir="${src.dir}"/>
</sources> </sources>
</invoke-javadoc> </invoke-javadoc>
<jarify basedir="${javadoc.dir}" <solr-jarify basedir="${javadoc.dir}" destfile="${build.dir}/${final.name}-javadoc.jar"/>
destfile="${build.dir}/${final.name}-javadoc.jar"
title="Apache Solr Search Server: ${ant.project.name}"
metainf.source.dir="${common-solr.dir}"
implementation.title="org.apache.solr"
spec.version="${solr.spec.version}"/>
<mkdir dir="${dest}/docs/api/test-framework"/> <mkdir dir="${dest}/docs/api/test-framework"/>
<copy todir="${dest}/docs/api/test-framework"> <copy todir="${dest}/docs/api/test-framework">
<fileset dir="${javadoc.dir}"/> <fileset dir="${javadoc.dir}"/>

View File

@ -52,7 +52,7 @@
<ant dir="${common-solr.dir}" inheritall="false" target="contribs-add-to-war"/> <ant dir="${common-solr.dir}" inheritall="false" target="contribs-add-to-war"/>
<war destfile="${dist}/apache-solr-${version}${solr.war.suffix}.war" <war destfile="${dist}/apache-solr-${version}${solr.war.suffix}.war"
webxml="web/WEB-INF/web.xml" webxml="web/WEB-INF/web.xml"
manifest="${dest}/META-INF/MANIFEST.MF"> manifest="${manifest.file}">
<lib dir="${common-solr.dir}/lib" excludes="${exclude.from.war}"> <lib dir="${common-solr.dir}/lib" excludes="${exclude.from.war}">
<exclude name="servlet-api*.jar" /> <exclude name="servlet-api*.jar" />
<exclude name="easymock-*.jar" /> <exclude name="easymock-*.jar" />