Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » JDOM User »

[jdom-interest] Manifest

Ken Roberts

2004-10-07

Replies:

Hi folks.  This is my first attempt to post to this forum.  I've made a change to the build.xml file which (approximately) reproduces your manifest as a genuine manifest inside the distributable jar.

Our software uses the Package interface to programmatically verify the version being used is adequate, and without an accurate MANIFEST.MF in the jar I can't do this.  Please adopt these changes into your official source in future releases.

The only change is near the "<jar" tag, so I'll only include the old part and the part that I fixed.  Sorry for the length of text, but that's what you have to do if you want a manifest with sections in it.  The first attribute set, outside the <section> tags are the most important for my needs.


Thanks, and here's my submission:

    <!-- the old part
    <jar jarfile="${build.dir}/${name}.jar"
         basedir="${build.dest}"
         excludes="META-INF/MANIFEST.MF"
         manifest="${build.dest}/META-INF/MANIFEST.MF"/>
    -->
    <!-- the new part -->
    <property name="version" value="1.0"/>
    <property name="vendor"  value="jdom.org"/>
    <jar jarfile="${build.dir}/${name}.jar">
      <manifest>
        <attribute name="Built-By" value="${user.name}"/>
        <!--Make something for the whole jar-->
        <attribute name="Specification-Title"   value="JDOM Classes"/>
        <attribute name="Specification-Version" value="${version}"/>
        <attribute name="Specification-Vendor"  value="${vendor}"/>
        <attribute name="Implementation-Title"   value="org.jdom"/>
        <attribute name="Implementation-Version" value="${version}"/>
        <attribute name="Implementation-Vendor"  value="${vendor}"/>
        <!--Make something for the individual nested packages-->
        <section name="org/jdom/input">
          <attribute name="Specification-Title"   value="JDOM input classes"/>
          <attribute name="Specification-Version" value="${version}"/>
          <attribute name="Specification-Vendor"  value="${vendor}"/>
          <attribute name="Implementation-Title"   value="org.jdom.input"/>
          <attribute name="Implementation-Version" value="${version}"/>
          <attribute name="Implementation-Vendor"  value="${vendor}"/>
        </section>
        <section name="org/jdom/output">
          <attribute name="Specification-Title"   value="JDOM output classes"/>
          <attribute name="Specification-Version" value="${version}"/>
          <attribute name="Specification-Vendor"  value="${vendor}"/>
          <attribute name="Implementation-Title"   value="org.jdom.output"/>
          <attribute name="Implementation-Version" value="${version}"/>
          <attribute name="Implementation-Vendor"  value="${vendor}"/>
        </section>
        <section name="org/jdom/output">
          <attribute name="Specification-Title"   value="JDOM output classes"/>
          <attribute name="Specification-Version" value="${version}"/>
          <attribute name="Specification-Vendor"  value="${vendor}"/>
          <attribute name="Implementation-Title"   value="org.jdom.output"/>
          <attribute name="Implementation-Version" value="${version}"/>
          <attribute name="Implementation-Vendor"  value="${vendor}"/>
        </section>
        <section name="org/jdom/adapters">
          <attribute name="Specification-Title"   value="JDOM adapters classes"/>
          <attribute name="Specification-Version" value="${version}"/>
          <attribute name="Specification-Vendor"  value="${vendor}"/>
          <attribute name="Implementation-Title"   value="org.jdom.adapters"/>
          <attribute name="Implementation-Version" value="${version}"/>
          <attribute name="Implementation-Vendor"  value="${vendor}"/>
        </section>
        <section name="org/jdom/filter">
          <attribute name="Specification-Title"   value="JDOM filter classes"/>
          <attribute name="Specification-Version" value="${version}"/>
          <attribute name="Specification-Vendor"  value="${vendor}"/>
          <attribute name="Implementation-Title"   value="org.jdom.filter"/>
          <attribute name="Implementation-Version" value="${version}"/>
          <attribute name="Implementation-Vendor"  value="${vendor}"/>
        </section>
        <section name="org/jdom/transform">
          <attribute name="Specification-Title"   value="JDOM transform classes"/>
          <attribute name="Specification-Version" value="${version}"/>
          <attribute name="Specification-Vendor"  value="${vendor}"/>
          <attribute name="Implementation-Title"   value="org.jdom.transform"/>
          <attribute name="Implementation-Version" value="${version}"/>
          <attribute name="Implementation-Vendor"  value="${vendor}"/>
        </section>
        <section name="org/jdom/xpath">
          <attribute name="Specification-Title"   value="JDOM xpath classes"/>
          <attribute name="Specification-Version" value="${version}"/>
          <attribute name="Specification-Vendor"  value="${vendor}"/>
          <attribute name="Implementation-Title"   value="org.jdom.xpath"/>
          <attribute name="Implementation-Version" value="${version}"/>
          <attribute name="Implementation-Vendor"  value="${vendor}"/>
        </section>
      </manifest>
      <fileset dir="${build.dest}">
        <exclude name="**/CVS*"/>
        <exclude name="**/*.java"/>
        <exclude name="META-INF/MANIFEST.MF"/>
      </fileset>
    </jar>
_______________________________________________
To control your jdom-interest membership:
http://www.jdom.org/mailman/options/jdom-interest/youraddr@(protected)
©2008 junlu.com - Jax Systems, LLC, U.S.A.