ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Reilly" <peter.kitt.rei...@gmail.com>
Subject Re: svn commit: r553857 - in /ant/core/trunk: build.xml docs/manual/CoreTasks/jar.html src/etc/testcases/taskdefs/jar.xml src/main/org/apache/tools/ant/taskdefs/Jar.java src/tests/junit/org/apache/tools/ant/taskdefs/JarTest.java
Date Tue, 17 Jul 2007 14:44:49 GMT
I think that here should be a "whine" mode to activate
these messages. They should not be done by default.
Maybe a strict="yes" attribute.

Peter

On 7/6/07, jhm@apache.org <jhm@apache.org> wrote:
> Author: jhm
> Date: Fri Jul  6 05:19:28 2007
> New Revision: 553857
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=553857
> Log:
> Encourage people to follow the packaging spec.
>
> Modified:
>     ant/core/trunk/build.xml
>     ant/core/trunk/docs/manual/CoreTasks/jar.html
>     ant/core/trunk/src/etc/testcases/taskdefs/jar.xml
>     ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Jar.java
>     ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/JarTest.java
>
> Modified: ant/core/trunk/build.xml
> URL: http://svn.apache.org/viewvc/ant/core/trunk/build.xml?view=diff&rev=553857&r1=553856&r2=553857
> ==============================================================================
> --- ant/core/trunk/build.xml (original)
> +++ ant/core/trunk/build.xml Fri Jul  6 05:19:28 2007
> @@ -1547,6 +1547,22 @@
>
>      <!-- Used by AntlibTest.testAntlibResource: -->
>      <jar jarfile="${build.tests}/org/apache/tools/ant/taskdefs/test2-antlib.jar">
> +      <manifest>
> +        <attribute name="Extension-name"
> +          value="org.apache.tools.ant"/>
> +        <attribute name="Specification-Title"
> +          value="Apache Ant"/>
> +        <attribute name="Specification-Version"
> +          value="${manifest-version}"/>
> +        <attribute name="Specification-Vendor"
> +          value="Apache Software Foundation"/>
> +        <attribute name="Implementation-Title"
> +          value="org.apache.tools.ant"/>
> +        <attribute name="Implementation-Version"
> +          value="${manifest-version}"/>
> +        <attribute name="Implementation-Vendor"
> +          value="Apache Software Foundation"/>
> +      </manifest>
>        <zipfileset dir="${tests.etc.dir}" fullpath="taskdefs/test.antlib.xml">
>          <include name="taskdefs/test2.antlib.xml"/>
>        </zipfileset>
>
> Modified: ant/core/trunk/docs/manual/CoreTasks/jar.html
> URL: http://svn.apache.org/viewvc/ant/core/trunk/docs/manual/CoreTasks/jar.html?view=diff&rev=553857&r1=553856&r2=553857
> ==============================================================================
> --- ant/core/trunk/docs/manual/CoreTasks/jar.html (original)
> +++ ant/core/trunk/docs/manual/CoreTasks/jar.html Fri Jul  6 05:19:28 2007
> @@ -73,14 +73,17 @@
>  include an empty one for you.)</p>
>
>  <p>Manifests are processed by the Jar task according to the
> -<a href="http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html">Jar file specification.</a>
> +<a target="_blank" href="http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html">Jar
file specification.</a>
>  Note in particular that this may result in manifest lines greater than 72 bytes
> -being wrapped and continued on the next line.
> -</p>
> +being wrapped and continued on the next line.</p>
> +
> +<p>The Jar task checks whether you specified package information according to
the
> +<a target="_blank" href="http://java.sun.com/j2se/1.3/docs/guide/versioning/spec/VersioningSpecification.html#PackageVersioning">
> +versioning specification</a>.</p>
>
>  <p><b>Please note that the zip format allows multiple files of the same
> -fully-qualified name to exist within a single archive.  This has been
> -documented as causing various problems for unsuspecting users.  If you wish
> +fully-qualified name to exist within a single archive. This has been
> +documented as causing various problems for unsuspecting users. If you wish
>  to avoid this behavior you must set the <code>duplicate</code> attribute
>  to a value other than its default, <code>"add"</code>.</b></p>
>
>
> Modified: ant/core/trunk/src/etc/testcases/taskdefs/jar.xml
> URL: http://svn.apache.org/viewvc/ant/core/trunk/src/etc/testcases/taskdefs/jar.xml?view=diff&rev=553857&r1=553856&r2=553857
> ==============================================================================
> --- ant/core/trunk/src/etc/testcases/taskdefs/jar.xml (original)
> +++ ant/core/trunk/src/etc/testcases/taskdefs/jar.xml Fri Jul  6 05:19:28 2007
> @@ -236,5 +236,23 @@
>        </indexjars>
>      </jar>
>    </target>
> +
> +  <target name="testNoVersionInfo">
> +    <mkdir dir="${tmp.dir}"/>
> +    <jar destfile="${tmp.jar}" basedir="${tmp.dir}"/>
> +  </target>
>
> +  <!-- see http://java.sun.com/j2se/1.3/docs/guide/versioning/spec/VersioningSpecification.html#PackageVersioning
-->
> +  <target name="testHasVersionInfo">
> +    <mkdir dir="${tmp.dir}"/>
> +    <jar destfile="${tmp.jar}" basedir="${tmp.dir}">
> +      <manifest>
> +        <attribute name="Implementation-Title"   value="Packaging Version Test"/>
> +        <attribute name="Implementation-Version" value="1.0"/>
> +        <attribute name="Implementation-Vendor"  value="Apache Software Foundation"/>
> +      </manifest>
> +    </jar>
> +  </target>
> +
> +
>  </project>
>
> Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Jar.java
> URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Jar.java?view=diff&rev=553857&r1=553856&r2=553857
> ==============================================================================
> --- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Jar.java (original)
> +++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Jar.java Fri Jul  6 05:19:28
2007
> @@ -45,6 +45,7 @@
>
>  import org.apache.tools.ant.BuildException;
>  import org.apache.tools.ant.Project;
> +import org.apache.tools.ant.taskdefs.Manifest.Section;
>  import org.apache.tools.ant.types.EnumeratedAttribute;
>  import org.apache.tools.ant.types.Path;
>  import org.apache.tools.ant.types.ResourceCollection;
> @@ -76,6 +77,7 @@
>
>      /** merged manifests added through addConfiguredManifest */
>      private Manifest configuredManifest;
> +
>      /** shadow of the above if upToDate check alters the value */
>      private Manifest savedConfiguredManifest;
>
> @@ -158,7 +160,7 @@
>          setEncoding("UTF8");
>          rootEntries = new Vector();
>      }
> -
> +
>      /**
>       * Not used for jar files.
>       * @param we not used
> @@ -773,6 +775,25 @@
>       */
>      protected void cleanUp() {
>          super.cleanUp();
> +
> +        // check against packaging spec
> +        // http://java.sun.com/j2se/1.3/docs/guide/versioning/spec/VersioningSpecification.html#PackageVersioning
> +        Section mainSection = (configuredManifest==null) ? null : configuredManifest.getMainSection();
> +        if (mainSection==null) {
> +            log("No Implementation-Title set. (" + getLocation() + ")");
> +            log("No Implementation-Version set. (" + getLocation() + ")");
> +            log("No Implementation-Vendor set. (" + getLocation() + ")");
> +        } else {
> +            if (mainSection.getAttribute("Implementation-Title") == null) {
> +                log("No Implementation-Title set. (" + getLocation() + ")");
> +            }
> +            if (mainSection.getAttribute("Implementation-Version") == null) {
> +                log("No Implementation-Version set. (" + getLocation() + ")");
> +            }
> +            if (mainSection.getAttribute("Implementation-Vendor") == null) {
> +                log("No Implementation-Vendor set. (" + getLocation() + ")");
> +            }
> +        }
>
>          // we want to save this info if we are going to make another pass
>          if (!doubleFilePass || !skipWriting) {
>
> Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/JarTest.java
> URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/JarTest.java?view=diff&rev=553857&r1=553856&r2=553857
> ==============================================================================
> --- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/JarTest.java (original)
> +++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/JarTest.java Fri Jul
 6 05:19:28 2007
> @@ -267,4 +267,19 @@
>      public void testIndexJarsPlusJarMarker() {
>          executeTarget("testIndexJarsPlusJarMarker");
>      }
> +
> +    public void testNoVersionInfo() {
> +        executeTarget("testNoVersionInfo");
> +        assertLogContaining("No Implementation-Title set.");
> +        assertLogContaining("No Implementation-Version set.");
> +        assertLogContaining("No Implementation-Vendor set.");
> +    }
> +
> +    public void testHasVersionInfo() {
> +        executeTarget("testHasVersionInfo");
> +        assertFalse( getLog().contains("No Implementation-Title set.") );
> +        assertFalse( getLog().contains("No Implementation-Version set.") );
> +        assertFalse( getLog().contains("No Implementation-Vendor set.") );
> +    }
> +
>  }
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message