Author: mcconnell
Date: Sun May 23 04:27:49 2004
New Revision: 20247

Modified:
   avalon/trunk/tools/project/src/main/org/apache/avalon/tools/antlib.xml
   
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/JarTask.java
   avalon/trunk/tools/project/src/test/projects/gizmo/build.xml
Log:
Add md5 generation under jar task.

Modified: avalon/trunk/tools/project/src/main/org/apache/avalon/tools/antlib.xml
==============================================================================
--- avalon/trunk/tools/project/src/main/org/apache/avalon/tools/antlib.xml      
(original)
+++ avalon/trunk/tools/project/src/main/org/apache/avalon/tools/antlib.xml      
Sun May 23 04:27:49 2004
@@ -5,4 +5,5 @@
   <taskdef name="prepare" 
classname="org.apache.avalon.tools.tasks.PrepareTask"/> 
   <taskdef name="javac" classname="org.apache.avalon.tools.tasks.JavacTask"/> 
   <taskdef name="jar" classname="org.apache.avalon.tools.tasks.JarTask"/> 
+  <taskdef name="install" 
classname="org.apache.avalon.tools.tasks.InstallTask"/> 
 </antlib> 

Modified: 
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/JarTask.java
==============================================================================
--- 
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/JarTask.java  
    (original)
+++ 
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/JarTask.java  
    Sun May 23 04:27:49 2004
@@ -21,9 +21,11 @@
 import java.io.IOException;
 
 import org.apache.tools.ant.Task;
+import org.apache.tools.ant.Project;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.taskdefs.Copy;
 import org.apache.tools.ant.taskdefs.Jar;
+import org.apache.tools.ant.taskdefs.Checksum;
 import org.apache.tools.ant.types.FileSet;
 import org.apache.tools.ant.types.Path;
 
@@ -38,6 +40,29 @@
  */
 public class JarTask extends HomeTask
 {
+    public static final String MD5_EXT = "md5";
+    public static final String JAR_EXT = "jar";
+
+    public static String getJarFilename( Definition def )
+    {
+        String name = def.getInfo().getName();
+        if( null != def.getInfo().getVersion() )
+        {
+            return name + "-" + def.getInfo().getVersion() + "." + JAR_EXT;
+        }
+        else
+        {
+            return name + "." + JAR_EXT;
+        }
+    }
+
+    public static File getJarFile( Project project, Definition def )
+    {
+        File target = PrepareTask.getTargetDirectory( project );
+        String filename = getJarFilename( def );
+        return new File( target, filename );
+    }
+
     public void execute() throws BuildException 
     {
         File classes = 
@@ -46,22 +71,13 @@
         if( classes.exists() )
         {
             jar( classes, jarFile );
+            checksum( jarFile );
         }
     }
 
     private File getJarFile()
     {
-        File target = PrepareTask.getTargetDirectory( getProject() );
-        Definition def = getDefinition();
-        String name = def.getInfo().getName();
-        if( null != def.getInfo().getVersion() )
-        {
-            return new File( target, name + "-" + def.getInfo().getVersion() + 
".jar" );
-        } 
-        else
-        {
-            return new File( target, name + ".jar" );
-        }
+        return getJarFile( getProject(), getDefinition() );
     }
 
     private void jar( File classes, File jarFile )
@@ -71,5 +87,14 @@
         jar.setBasedir( classes );
         jar.init();
         jar.execute();
+    }
+
+    private void checksum( File jarFile )
+    {
+        Checksum checksum = (Checksum) getProject().createTask( "checksum" );
+        checksum.setFile( jarFile );
+        checksum.setFileext( "." + MD5_EXT );
+        checksum.init();
+        checksum.execute();
     }
 }

Modified: avalon/trunk/tools/project/src/test/projects/gizmo/build.xml
==============================================================================
--- avalon/trunk/tools/project/src/test/projects/gizmo/build.xml        
(original)
+++ avalon/trunk/tools/project/src/test/projects/gizmo/build.xml        Sun May 
23 04:27:49 2004
@@ -2,11 +2,11 @@
 <project name="gizmo" default="" basedir="." 
     xmlns:x="antlib:org.apache.avalon.tools"> 
 
-  <x:project index="../../index.xml"/>
-
-  <x:prepare/>
-  <x:javac/>
-  <x:jar/>
-
+  <x:project index="../../index.xml">
+    <x:prepare/>
+    <x:javac/>
+    <x:jar/>
+    <x:install/>
+  </x:project>
 
 </project>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to