| Index: META-INF/MANIFEST.MF |
| =================================================================== |
| --- META-INF/MANIFEST.MF (revision 0) |
| +++ META-INF/MANIFEST.MF (revision 0) |
| @@ -0,0 +1,29 @@ |
| +Manifest-Version: 1.0 |
| +Specification-Title: Lucene Search Engine: core |
| +Specification-Version: 2.4.0-dev |
| +Specification-Vendor: The Apache Software Foundation |
| +Implementation-Title: org.apache.lucene |
| +Implementation-Version: 2.4.0-dev |
| +Implementation-Vendor: The Apache Software Foundation |
| +X-Compile-Source-JDK: 1.4 |
| +X-Compile-Target-JDK: 1.4 |
| +Bundle-ManifestVersion: 2 |
| +Bundle-Name: Apache Lucene core |
| +Bundle-SymbolicName: org.apache.lucene |
| +Bundle-Version: 2.4.0.dev |
| +Bundle-ClassPath: lucene.jar |
| +Export-Package: org.apache.lucene, |
| + org.apache.lucene.analysis, |
| + org.apache.lucene.analysis.standard, |
| + org.apache.lucene.document, |
| + org.apache.lucene.index, |
| + org.apache.lucene.queryParser, |
| + org.apache.lucene.search, |
| + org.apache.lucene.search.function, |
| + org.apache.lucene.search.payloads, |
| + org.apache.lucene.search.spans, |
| + org.apache.lucene.store, |
| + org.apache.lucene.util, |
| + org.apache.lucene.util.cache |
| +Bundle-Vendor: The Apache Software Fondation |
| +Bundle-RequiredExecutionEnvironment: J2SE-1.4 |
| Index: build.xml |
| =================================================================== |
| --- build.xml (revision 679133) |
| +++ build.xml (working copy) |
| @@ -25,6 +25,8 @@ |
| |
| <property name="build.demo.template" value="src/demo/demo-build.template"/> |
| |
| + <property name="bundle.manifest.file" location="META-INF/MANIFEST.MF"/> |
| + |
| <property name="demo.name" value="lucene-demos-${version}"/> |
| <property name="demo.war.name" value="luceneweb"/> |
| |
| Index: common-build.xml |
| =================================================================== |
| --- common-build.xml (revision 679133) |
| +++ common-build.xml (working copy) |
| @@ -40,10 +40,8 @@ |
| |
| <property name="name" value="${ant.project.name}"/> |
| <property name="Name" value="Lucene"/> |
| - <property name="version" value="2.4-dev"/> |
| - <property name="spec.version" value="${version}"/> |
| + <property name="base.version" value="2.4.0"/> |
| <property name="year" value="2000-${current.year}"/> |
| - <property name="final.name" value="lucene-${name}-${version}"/> |
| |
| <property name="junit.jar" value="junit-3.8.2.jar"/> |
| <property name="junit-location.jar" value="${common.dir}/lib/${junit.jar}"/> |
| @@ -148,9 +146,29 @@ |
| </echo> |
| </target> |
| |
| - <target name="init" depends="javacc-uptodate-check, javacc-notice, jflex-uptodate-check, jflex-notice"> |
| + <target name="/release"> |
| + <property name="release.version" value="true"/> |
| </target> |
| |
| + <target name="compute-version-release" if="release.version"> |
| + <property name="version" value="${base.version}"/> |
| + <property name="bundle.version" value="${base.version}"/> |
| + </target> |
| + |
| + <target name="compute-version-dev" unless="release.version"> |
| + <property name="version" value="${base.version}-dev"/> |
| + <property name="bundle.version" value="${base.version}.dev"/> |
| + </target> |
| + |
| + <target name="compute-version" depends="compute-version-release,compute-version-dev"> |
| + <property name="spec.version" value="${base.version}"/> |
| + <property name="final.name" value="lucene-${name}-${version}"/> |
| + <echo message="Building ${final.name}" /> |
| + </target> |
| + |
| + <target name="init" depends="compute-version, javacc-uptodate-check, javacc-notice, jflex-uptodate-check, jflex-notice"> |
| + </target> |
| + |
| <target name="jflex-uptodate-check"> |
| <uptodate property="jflex.files.uptodate"> |
| <srcfiles dir="src" includes="**/*.jflex" /> |
| @@ -228,8 +246,17 @@ |
| <!-- convenience target to compile core --> |
| </target> |
| |
| - <target name="jar-core" depends="compile-core" |
| + <target name="jar-core" depends="jar-plain-core,jar-bundle-core" |
| description="Packages the JAR file"> |
| + </target> |
| + |
| + <target name="jar-bundle-core" depends="compile-core" |
| + description="Packages the bundle JAR file" if="bundle.manifest.file"> |
| + <bundlify/> |
| + </target> |
| + |
| + <target name="jar-plain-core" depends="compile-core" |
| + description="Packages the JAR file" unless="bundle.manifest.file"> |
| <jarify/> |
| </target> |
| |
| @@ -295,7 +322,7 @@ |
| <macrodef name="jarify" description="Builds a JAR file"> |
| <attribute name="basedir" default="${build.dir}/classes/java"/> |
| <attribute name="destfile" default="${build.dir}/${final.name}.jar"/> |
| - <element name="manifest-attributes" optional="yes"/> |
| + <element name="manifest-attributes" optional="yes"/> |
| <element name="metainf-includes" optional="yes"/> |
| <sequential> |
| <!-- If possible, include the svnversion --> |
| @@ -322,6 +349,52 @@ |
| </sequential> |
| </macrodef> |
| |
| + <macrodef name="build-bundle-manifest" description="Builds a manifest file"> |
| + <attribute name="title" default="Lucene Search Engine: ${ant.project.name}" /> |
| + <sequential> |
| + <copy file="${bundle.manifest.file}" tofile="${manifest.file}"> |
| + <filterchain> |
| + <replaceregex pattern="Bundle-Version:.*" replace="Bundle-Version: ${bundle.version}" byline="true" /> |
| + <replaceregex pattern="Implementation-Version:.*" replace="Implementation-Version: ${version} ${svnversion} - ${DSTAMP} ${TSTAMP}" byline="true" /> |
| + <replaceregex pattern="Specification-Version:.*" replace="Specification-Version: ${spec.version}" byline="true" /> |
| + <replaceregex pattern="X-Compile-Source-JDK:.*" replace="X-Compile-Source-JDK: ${javac.source}" byline="true" /> |
| + <replaceregex pattern="X-Compile-Target-JDK:.*" replace="X-Compile-Target-JDK: ${javac.target}" byline="true" /> |
| + <replaceregex pattern="Bundle-RequiredExecutionEnvironment:.*" replace="Bundle-RequiredExecutionEnvironment: ${javac.target}" byline="true" /> |
| + </filterchain> |
| + </copy> |
| + </sequential> |
| + </macrodef> |
| + |
| + <macrodef name="bundlify" description="Builds a bundle JAR file"> |
| + <attribute name="basedir" default="${build.dir}/classes/java"/> |
| + <attribute name="destfile" default="${build.dir}/${final.name}.jar"/> |
| + <element name="manifest-attributes" optional="yes"/> |
| + <element name="metainf-includes" optional="yes"/> |
| + <sequential> |
| + <!-- If possible, include the svnversion --> |
| + <exec dir="." executable="svnversion" |
| + outputproperty="svnversion" failifexecutionfails="false"> |
| + <arg line="."/> |
| + </exec> |
| + |
| + <build-bundle-manifest /> |
| + |
| + <jar |
| + destfile="@{destfile}" |
| + basedir="@{basedir}" |
| + manifest="${manifest.file}"> |
| + <manifest> |
| + <manifest-attributes/> |
| + </manifest> |
| + <metainf dir="${common.dir}"> |
| + <include name="LICENSE.txt"/> |
| + <include name="NOTICE.txt"/> |
| + </metainf> |
| + <metainf-includes/> |
| + </jar> |
| + </sequential> |
| + </macrodef> |
| + |
| <target name="compile-test" depends="compile-core"> |
| <compile |
| srcdir="src/test" |