Return-Path: Delivered-To: apmail-avalon-cvs-archive@www.apache.org Received: (qmail 51714 invoked from network); 16 Jun 2004 19:46:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 16 Jun 2004 19:46:18 -0000 Received: (qmail 75083 invoked by uid 500); 16 Jun 2004 19:45:54 -0000 Delivered-To: apmail-avalon-cvs-archive@avalon.apache.org Received: (qmail 74791 invoked by uid 500); 16 Jun 2004 19:45:51 -0000 Mailing-List: contact cvs-help@avalon.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Avalon CVS List" Reply-To: "Avalon Developers List" Delivered-To: mailing list cvs@avalon.apache.org Received: (qmail 74659 invoked by uid 99); 16 Jun 2004 19:45:49 -0000 Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.27.1) with SMTP; Wed, 16 Jun 2004 12:45:49 -0700 Received: (qmail 51008 invoked by uid 65534); 16 Jun 2004 19:45:21 -0000 Date: 16 Jun 2004 19:45:21 -0000 Message-ID: <20040616194521.50997.qmail@minotaur.apache.org> From: mcconnell@apache.org To: cvs@avalon.apache.org Subject: svn commit: rev 21361 - in avalon/trunk: central/system runtime/merlin/impl runtime/meta/spi tools/magic/src/main/org/apache/avalon/tools tools/magic/src/main/org/apache/avalon/tools/project tools/magic/src/main/org/apache/avalon/tools/tasks X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Author: mcconnell Date: Wed Jun 16 12:45:21 2004 New Revision: 21361 Added: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/AbstractDeliverableTask.java (contents, props changed) avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JavadocTask.java (contents, props changed) Modified: avalon/trunk/central/system/index.xml avalon/trunk/runtime/merlin/impl/build.xml avalon/trunk/runtime/meta/spi/build.xml avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/antlib.xml avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/project/Definition.java avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ArtifactTask.java avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BarTask.java avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JarTask.java Log: first cut of the javadoc task Modified: avalon/trunk/central/system/index.xml ============================================================================== --- avalon/trunk/central/system/index.xml (original) +++ avalon/trunk/central/system/index.xml Wed Jun 16 12:45:21 2004 @@ -141,7 +141,7 @@ - + Modified: avalon/trunk/runtime/merlin/impl/build.xml ============================================================================== --- avalon/trunk/runtime/merlin/impl/build.xml (original) +++ avalon/trunk/runtime/merlin/impl/build.xml Wed Jun 16 12:45:21 2004 @@ -17,6 +17,7 @@ + Modified: avalon/trunk/runtime/meta/spi/build.xml ============================================================================== --- avalon/trunk/runtime/meta/spi/build.xml (original) +++ avalon/trunk/runtime/meta/spi/build.xml Wed Jun 16 12:45:21 2004 @@ -1,6 +1,9 @@ - + + + Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/antlib.xml ============================================================================== --- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/antlib.xml (original) +++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/antlib.xml Wed Jun 16 12:45:21 2004 @@ -18,5 +18,6 @@ + Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/project/Definition.java ============================================================================== --- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/project/Definition.java (original) +++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/project/Definition.java Wed Jun 16 12:45:21 2004 @@ -114,6 +114,23 @@ return path; } + public ResourceRef[] getQualifiedRefs( final List visited, int category ) + { + ArrayList list = new ArrayList(); + ResourceRef[] refs = + getResourceRefs( Policy.RUNTIME, category, true ); + for( int i=0; iAvalon Development Team + * @version $Revision: 1.2 $ $Date: 2004/03/17 10:30:09 $ + */ +public class AbstractDeliverableTask extends SystemTask +{ + public static final String MD5_EXT = "md5"; + public static final String ASC_EXT = "asc"; + public static final String GPG_EXE_KEY = "project.gpg.exe"; + + public void checksum( File file ) + { + log( "Creating md5 checksum" ); + + File md5 = new File( file.toString() + "." + MD5_EXT ); + + Delete delete = (Delete) getProject().createTask( "delete" ); + delete.setFile( md5 ); + delete.init(); + delete.execute(); + + Checksum checksum = (Checksum) getProject().createTask( "checksum" ); + checksum.setFile( file ); + checksum.setFileext( "." + MD5_EXT ); + checksum.init(); + checksum.execute(); + } + + public void asc( File file ) throws IOException + { + File asc = new File( file.toString() + "." + ASC_EXT ); + if( asc.exists() ) + { + asc.delete(); + } + + String gpg = getProject().getProperty( GPG_EXE_KEY ); + if(( null != gpg ) && !"".equals( gpg ) ) + { + log( "Creating asc signature using '" + gpg + "']" ); + Execute execute = new Execute(); + execute.setCommandline( + new String[]{ gpg, "-a", "-b", file.toString() } ); + execute.setWorkingDirectory( getProject().getBaseDir() ); + execute.setSpawn( true ); + execute.execute(); + } + } +} Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ArtifactTask.java ============================================================================== --- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ArtifactTask.java (original) +++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ArtifactTask.java Wed Jun 16 12:45:21 2004 @@ -211,7 +211,7 @@ throws IOException { ArrayList visited = new ArrayList(); - ResourceRef[] apis = getQualifiedRefs( def, visited, ResourceRef.API ); + ResourceRef[] apis = def.getQualifiedRefs( visited, ResourceRef.API ); if( apis.length > 0 ) { writer.write( "\n" ); @@ -221,7 +221,7 @@ String lead = "avalon.artifact.dependency.api"; writeRefs( writer, apis, lead ); } - ResourceRef[] spis = getQualifiedRefs( def, visited, ResourceRef.SPI ); + ResourceRef[] spis = def.getQualifiedRefs( visited, ResourceRef.SPI ); if( spis.length > 0 ) { writer.write( "\n" ); @@ -232,7 +232,7 @@ writeRefs( writer, spis, lead ); } - ResourceRef[] impl = getQualifiedRefs( def, visited, ResourceRef.IMPL ); + ResourceRef[] impl = def.getQualifiedRefs( visited, ResourceRef.IMPL ); if( impl.length > 0 ) { writer.write( "\n" ); @@ -242,22 +242,6 @@ String lead = "avalon.artifact.dependency"; writeRefs( writer, impl, lead ); } - } - - private ResourceRef[] getQualifiedRefs( final Definition def, final List visited, int category ) - { - ArrayList list = new ArrayList(); - ResourceRef[] refs = def.getResourceRefs( Policy.RUNTIME, category, true ); - for( int i=0; iAvalon Development Team * @version $Revision: 1.2 $ $Date: 2004/03/17 10:30:09 $ */ -public class BarTask extends SystemTask +public class BarTask extends AbstractDeliverableTask { - public static final String MD5_EXT = "md5"; public static final String BAR_EXT = "bar"; - public static final String ASC_EXT = "asc"; - public static final String GPG_EXE_KEY = "project.gpg.exe"; private String m_name; @@ -141,7 +138,10 @@ addAttribute( block, "Block-Name", def.getInfo().getName() ); if( null != def.getInfo().getVersion() ) { - addAttribute( block, "Block-Version", def.getInfo().getVersion() ); + addAttribute( + block, + "Block-Version", + def.getInfo().getVersion() ); } manifest.addConfiguredSection( block ); @@ -159,45 +159,5 @@ { Manifest.Attribute attribute = new Manifest.Attribute( name, value ); section.addConfiguredAttribute( attribute ); - } - - private void checksum( File file ) - { - log( "Creating md5 checksum" ); - - File md5 = new File( file.toString() + "." + MD5_EXT ); - - Delete delete = (Delete) getProject().createTask( "delete" ); - delete.setFile( md5 ); - delete.init(); - delete.execute(); - - Checksum checksum = (Checksum) getProject().createTask( "checksum" ); - checksum.setFile( file ); - checksum.setFileext( "." + MD5_EXT ); - checksum.init(); - checksum.execute(); - } - - private void asc( File file ) throws IOException - { - File asc = new File( file.toString() + "." + ASC_EXT ); - - Delete delete = (Delete) getProject().createTask( "delete" ); - delete.init(); - delete.setFile( asc ); - delete.execute(); - - String gpg = getProject().getProperty( GPG_EXE_KEY ); - if( null != gpg ) - { - log( "Creating asc signature" ); - Execute execute = new Execute(); - execute.setCommandline( - new String[]{ gpg, "-a", "-b", file.toString() } ); - execute.setWorkingDirectory( getProject().getBaseDir() ); - execute.setSpawn( true ); - execute.execute(); - } } } Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JarTask.java ============================================================================== --- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JarTask.java (original) +++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JarTask.java Wed Jun 16 12:45:21 2004 @@ -45,12 +45,9 @@ * @author Avalon Development Team * @version $Revision: 1.2 $ $Date: 2004/03/17 10:30:09 $ */ -public class JarTask extends SystemTask +public class JarTask extends AbstractDeliverableTask { - public static final String MD5_EXT = "md5"; public static final String JAR_EXT = "jar"; - public static final String ASC_EXT = "asc"; - public static final String GPG_EXE_KEY = "project.gpg.exe"; public static final String JAR_MAIN_KEY = "project.jar.main.class"; public static final String JAR_CLASSPATH_KEY = "project.jar.classpath"; @@ -173,45 +170,5 @@ { Manifest.Attribute attribute = new Manifest.Attribute( name, value ); section.addConfiguredAttribute( attribute ); - } - - private void checksum( File jar ) - { - log( "Creating md5 checksum" ); - - File md5 = new File( jar.toString() + "." + MD5_EXT ); - - Delete delete = (Delete) getProject().createTask( "delete" ); - delete.setFile( md5 ); - delete.init(); - delete.execute(); - - Checksum checksum = (Checksum) getProject().createTask( "checksum" ); - checksum.setFile( jar ); - checksum.setFileext( "." + MD5_EXT ); - checksum.init(); - checksum.execute(); - } - - private void asc( File jar ) throws IOException - { - File asc = new File( jar.toString() + "." + ASC_EXT ); - - Delete delete = (Delete) getProject().createTask( "delete" ); - delete.init(); - delete.setFile( asc ); - delete.execute(); - - String gpg = getProject().getProperty( GPG_EXE_KEY ); - if( null != gpg ) - { - log( "Creating asc signature" ); - Execute execute = new Execute(); - execute.setCommandline( - new String[]{ gpg, "-a", "-b", jar.toString() } ); - execute.setWorkingDirectory( getProject().getBaseDir() ); - execute.setSpawn( true ); - execute.execute(); - } } } Added: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JavadocTask.java ============================================================================== --- (empty file) +++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JavadocTask.java Wed Jun 16 12:45:21 2004 @@ -0,0 +1,133 @@ +/* + * Copyright 2004 Apache Software Foundation + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.avalon.tools.tasks; + +import java.io.File; +import java.io.IOException; +import java.util.List; +import java.util.ArrayList; + +import org.apache.tools.ant.Task; +import org.apache.tools.ant.Project; +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.types.DirSet; +import org.apache.tools.ant.types.Path; +import org.apache.tools.ant.taskdefs.Javadoc; + +import org.apache.avalon.tools.home.Context; +import org.apache.avalon.tools.home.Home; +import org.apache.avalon.tools.project.Definition; +import org.apache.avalon.tools.project.ResourceRef; +import org.apache.avalon.tools.project.Resource; + +/** + * Build the javadoc for a project. + * + * @author Avalon Development Team + * @version $Revision: 1.2 $ $Date: 2004/03/17 10:30:09 $ + */ +public class JavadocTask extends SystemTask +{ + public static final String JAVADOC = "javadoc"; + public static final String API = "api"; + public static final String SPI = "spi"; + public static final String IMPL = "impl"; + + public void execute() throws BuildException + { + Definition def = getHome().getDefinition( getKey() ); + File root = getJavadocRootDirectory( def ); + + ArrayList visited = new ArrayList(); + execute( def, visited, ResourceRef.API, "api", root ); + execute( def, visited, ResourceRef.SPI, "spi", root ); + execute( def, visited, ResourceRef.IMPL, "impl", root ); + } + + private void execute( + Definition def, List visited, int category, String branch, File root ) + { + File base = new File( root, branch ); + ResourceRef[] refs = def.getQualifiedRefs( visited, category ); + if( refs.length > 0 ) + { + log( + "Javadoc preparation for category: " + + branch + ", " + + refs.length ); + generate( def, refs, base ); + } + } + + private void generate( + Definition definition, ResourceRef[] refs, File root ) + { + Javadoc javadoc = (Javadoc) getProject().createTask( "javadoc" ); + + javadoc.init(); + javadoc.setDestdir( root ); + Path source = javadoc.createSourcepath(); + Path classpath = javadoc.createClasspath(); + for( int i=0; i