I would like to switch from the hard-coded version information embedded in
classes to use the standard java package version manifest headers that
are accessed using the java.lang.Package class. I have added support for
this to the 2.4.4 build I'm working on. It uses a target in the build.xml to
generate the approriate manifest headers. For example, to build the run.mf
manifest the following is done:

<project ...>
...
  <target name="create-manifest">
    <copy file="${etc.dir}/${manifest.file}" todir="${build.dir}"
overwrite="true" />
    <echo file="${build.dir}/${manifest.file}"
       append="true">Specification-Title: JBoss-${version}
Specification-Version: ${version}
Specification-Vendor: JBoss Group, LLC
Implementation-Title: JBoss-${version} CVSTag=${version-tag}
Implementation-Version: ${version}.${build.time}
Implementation-Vendor: JBoss Group, LLC
    </echo>
    <fixcrlf srcdir="${build.dir}" includes="${manifest.file}" eol="crlf" />
  </target>
...

    <antcall target="create-manifest">
       <param name="manifest.file" value="run.mf"/>
    </antcall>
    <jar jarfile="${build.bin.dir}/run.jar"
         basedir="${build.classes.dir}"
         manifest="${build.dir}/run.mf"
    >
        <include name="org/jboss/Main*.*" />
        <include name="org/jboss/dependencies/**" />
    </jar>
</project>

The encoded information is then available for use at runtime. I have updated
the Info MBean to display the Package info, and for example, the current
2.4.4 build I'm testing shows the following info for the "org.jboss"
package:
Package: org.jboss
SpecificationTitle: JBoss-2.4.4
SpecificationVersion: 2.4.4
SpecificationVendor: JBoss Group, LLC
ImplementationTitle: JBoss-2.4.4 CVSTag=Rel_2_4_4_16
ImplementationVersion: 2.4.4.2001-11-27 20:59:04 PST
ImplementationVendor: JBoss Group, LLC
isSealed: false
I would like to update main to use a similar approach, but it would probably
be better to create either a custom manifest task or jar task to allow the
modules to use the manifest creation logic.

xxxxxxxxxxxxxxxxxxxxxxxx
Scott Stark
Chief Technology Officer
JBoss Group, LLC
xxxxxxxxxxxxxxxxxxxxxxxx


_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to