leosutic 2003/08/22 16:48:03 Modified: attributes/compiler project.xml attributes/compiler/src/java/org/apache/commons/attributes/compiler AttributeCompiler.java AttributeIndexer.java Log: Renamed all maven id's from "jakarta-commons-attributes" to "commons-attributes", and added Apache license. Revision Changes Path 1.2 +4 -6 jakarta-commons-sandbox/attributes/compiler/project.xml Index: project.xml =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/attributes/compiler/project.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- project.xml 20 Aug 2003 23:16:15 -0000 1.1 +++ project.xml 22 Aug 2003 23:48:03 -0000 1.2 @@ -2,12 +2,10 @@ <project> <extend>${basedir}/../project.xml</extend> - <id>jakarta-commons-attributes-compiler</id> + <id>commons-attributes-compiler</id> <name>Jakarta Commons Attribute Compiler Ant Task</name> <package>org.apache.commons.attributes.compiler</package> - - <currentVersion>0.1</currentVersion> - <inceptionYear>2003</inceptionYear> + <shortDescription>Attribute Compiler</shortDescription> <description> @@ -27,8 +25,8 @@ </dependency> <dependency> - <groupId>jakarta-commons-attributes</groupId> - <artifactId>jakarta-commons-attributes-api</artifactId> + <groupId>commons-attributes</groupId> + <artifactId>commons-attributes-api</artifactId> <version>SNAPSHOT</version> </dependency> </dependencies> 1.2 +91 -9 jakarta-commons-sandbox/attributes/compiler/src/java/org/apache/commons/attributes/compiler/AttributeCompiler.java Index: AttributeCompiler.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/attributes/compiler/src/java/org/apache/commons/attributes/compiler/AttributeCompiler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AttributeCompiler.java 20 Aug 2003 23:13:29 -0000 1.1 +++ AttributeCompiler.java 22 Aug 2003 23:48:03 -0000 1.2 @@ -1,3 +1,59 @@ +/* + * ==================================================================== + * + * The Apache Software License, Version 1.1 + * + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, if + * any, must include the following acknowlegement: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowlegement may appear in the software itself, + * if and wherever such third-party acknowlegements normally appear. + * + * 4. The names "The Jakarta Project", "Commons", and "Apache Software + * Foundation" must not be used to endorse or promote products derived + * from this software without prior written permission. For written + * permission, please contact [EMAIL PROTECTED] + * + * 5. Products derived from this software may not be called "Apache" + * nor may "Apache" appear in their names without prior written + * permission of the Apache Group. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * <http://www.apache.org/>. + * + */ package org.apache.commons.attributes.compiler; import java.io.BufferedReader; @@ -13,6 +69,7 @@ import org.apache.tools.ant.BuildException; import org.apache.tools.ant.types.FileSet; +import org.apache.tools.ant.types.Path; import xjavadoc.XClass; import xjavadoc.XConstructor; @@ -42,6 +99,7 @@ public class AttributeCompiler extends XJavadocTask { private final ArrayList fileSets = new ArrayList (); + private Path src; private File destDir; private int numGenerated; @@ -53,11 +111,29 @@ fileSets.add (set); } - public void setDestdir (File destDir) { this.destDir = destDir; } + public void setSourcepathref (String pathref) { + String sourcePaths = project.getReference (pathref).toString (); + StringTokenizer tok = new StringTokenizer (sourcePaths, File.pathSeparator); + while (tok.hasMoreTokens ()) { + FileSet fs = new FileSet (); + fs.setDir (new File (tok.nextToken ())); + fs.setIncludes ("**/*.java"); + fs.setProject (project); + addFileset (fs); + } + } + + /** + * This attribute is only set when the compiler is running in Maven. + * Grab all POM-related parameters here. + */ + public void setInmaven (boolean inMaven) { + } + protected void copyImports (File source, PrintWriter dest) throws Exception { BufferedReader br = new BufferedReader (new FileReader (source)); try { @@ -80,6 +156,8 @@ if (isAttribute (tag)) { String expression = tag.getName () + " " + tag.getValue (); + expression = expression.trim (); + if (expression.startsWith ("@")) { expression = expression.substring (1); } @@ -121,14 +199,6 @@ } protected void generateClass (XClass xClass) throws Exception { - if (xClass.isAnonymous ()) { - log (xClass.getName () + " is anonymous - ignoring."); - } - - if (!hasAttributes (xClass)) { - return; - } - String name = null; File sourceFile = null; File destFile = null; @@ -152,6 +222,18 @@ } destFile = new File (destDir, name.replace ('.', '/') + "$__attributeRepository.java"); + + if (xClass.isAnonymous ()) { + log (xClass.getName () + " is anonymous - ignoring."); + return; + } + + if (!hasAttributes (xClass)) { + if (destFile.exists ()) { + destFile.delete (); + } + return; + } if (destFile.exists () && destFile.lastModified () >= sourceFile.lastModified ()) { return; 1.2 +60 -0 jakarta-commons-sandbox/attributes/compiler/src/java/org/apache/commons/attributes/compiler/AttributeIndexer.java Index: AttributeIndexer.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/attributes/compiler/src/java/org/apache/commons/attributes/compiler/AttributeIndexer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AttributeIndexer.java 20 Aug 2003 23:13:29 -0000 1.1 +++ AttributeIndexer.java 22 Aug 2003 23:48:03 -0000 1.2 @@ -1,3 +1,59 @@ +/* + * ==================================================================== + * + * The Apache Software License, Version 1.1 + * + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, if + * any, must include the following acknowlegement: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowlegement may appear in the software itself, + * if and wherever such third-party acknowlegements normally appear. + * + * 4. The names "The Jakarta Project", "Commons", and "Apache Software + * Foundation" must not be used to endorse or promote products derived + * from this software without prior written permission. For written + * permission, please contact [EMAIL PROTECTED] + * + * 5. Products derived from this software may not be called "Apache" + * nor may "Apache" appear in their names without prior written + * permission of the Apache Group. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * <http://www.apache.org/>. + * + */ package org.apache.commons.attributes.compiler; import java.io.BufferedInputStream; @@ -99,6 +155,10 @@ } public void execute () throws BuildException { + if (!jarFile.exists ()) { + log ("Can't find " + jarFile.getPath ()); + return; + } try { log ("Building attribute index for " + jarFile.getPath ());
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]