stevel      2004/11/24 15:10:47

  Modified:    src/etc/testcases/taskdefs libraries.xml
               src/main/org/apache/tools/ant/taskdefs/repository
                        Library.java
               src/testcases/org/apache/tools/ant/taskdefs
                        LibrariesTest.java
  Log:
  Tuning
  1-if you dont specify an archive name, use that of the project
  2-its OK to specify suffix=""
  3-you do need the "." in the suffix; this was not needed.
  (3) will break anything which set the suffix. I assumed the user
  base was small enough to avoid a compatibility hack.
  
  Revision  Changes    Path
  1.2       +58 -7     ant/src/etc/testcases/taskdefs/libraries.xml
  
  Index: libraries.xml
  ===================================================================
  RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/libraries.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- libraries.xml     18 Nov 2004 16:25:04 -0000      1.1
  +++ libraries.xml     24 Nov 2004 23:10:47 -0000      1.2
  @@ -9,8 +9,9 @@
       <property name="lib.dir" value="getlib"/>
       
       <property name="commons.logging.project" value="commons-logging"/>
  -    <property name="commons.logging" 
  -      
value="${commons.logging.project}/jars/${commons.logging.project}-1.0.1.jar"/>
  +    <property name="version" value="1.0.4"/>
  +    <property name="commons.logging"
  +      
value="${commons.logging.project}/jars/${commons.logging.project}-${version}.jar"/>
   
       <presetdef name="gl1">
         <libraries destDir="${lib.dir}">
  @@ -19,7 +20,8 @@
   
       <presetdef name="getlib">
         <gl1 destDir="${lib.dir}">
  -        <library archive="commons-logging" project="commons-logging" 
version="1.0.1"/>
  +        <library archive="commons-logging" project="commons-logging"
  +          version="${version}"/>
         </gl1>
       </presetdef>
   
  @@ -112,7 +114,7 @@
     <target name="testRenaming" depends="init">
       <getlib>
         <mavenrepository/>
  -      <library archive="commons-logging" project="commons-logging" 
version="1.0.1"
  +      <library archive="commons-logging" project="commons-logging" 
version="${version}"
           destinationName="renamed.jar"
           />
       </getlib>
  @@ -135,8 +137,7 @@
     <target name="testIf" depends="init">
       <gl1>
         <mavenrepository/>
  -      <library archive="commons-logging" project="commons-logging" 
version="1.0.1"
  -        enabled="true"/>
  +      <library archive="commons-logging" project="commons-logging" 
version="${version}" enabled="true"/>
       </gl1>
       <assert-downloaded/>
     </target>
  @@ -144,7 +145,7 @@
     <target name="testUnless" depends="init">
       <gl1>
         <mavenrepository/>
  -      <library archive="commons-logging" project="commons-logging" 
version="1.0.1"
  +      <library archive="commons-logging" project="commons-logging" 
version="${version}"
           enabled="false"/>
       </gl1>
       <assert-not-downloaded/>
  @@ -256,5 +257,55 @@
         <assertdownloaded count="152" />
       </getlib>
     </target>  
  +  
  +  
  +  <target name="testNoArchiveName" depends="init">
  +    <gl1 destDir="${lib.dir}" >
  +      <library project="commons-logging" version="${version}"/>
  +      <mavenrepository/>
  +      <assertdownloaded count="1"/>
  +    </gl1>
  +  </target>
  +
  +  <target name="testNoVersion" depends="init">
  +    <gl1 destDir="${lib.dir}" offline="true">
  +      <library project="commons-logging" />
  +      <mavenrepository/>
  +    </gl1>
  +  </target>
  +
  +  <target name="testNoProject" depends="init">
  +    <gl1 destDir="${lib.dir}" offline="true">
  +      <library archive="commons-logging" version="${version}"/>
  +      <mavenrepository/>
  +    </gl1>
  +  </target>
  +
  +  <target name="testNewSuffix" depends="init">
  +    <gl1 destDir="${lib.dir}">
  +      <library project="commons-logging" version="${version}"
  +        suffix=".jar.asc"/>
  +      <mavenrepository checkMD5="false"/>
  +      <assertdownloaded count="1"/>
  +    </gl1>
  +  </target>
  +
  +  <target name="testNoSuffix" depends="init">
  +    <gl1 destDir="${lib.dir}">
  +      <library project="commons-logging" version="snapshot-version" 
suffix=""/>
  +      <assertdownloaded count="1"/>
  +      <mavenrepository checkMD5="false"/>
  +    </gl1>
  +  </target>
  +
  +  <target name="testEmptyArchive" depends="init">
  +    <gl1 destDir="${lib.dir}">
  +      <library project="commons-logging" version="${version}"
  +        archive=""/>
  +      <assertdownloaded count="1"/>
  +      <mavenrepository/>
  +    </gl1>
  +  </target>
  +
   </project>
   
  
  
  
  1.3       +15 -7     
ant/src/main/org/apache/tools/ant/taskdefs/repository/Library.java
  
  Index: Library.java
  ===================================================================
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/repository/Library.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Library.java      22 Nov 2004 09:23:35 -0000      1.2
  +++ Library.java      24 Nov 2004 23:10:47 -0000      1.3
  @@ -80,18 +80,20 @@
        */
       private boolean toFetch = true;
   
  +    /**
  +     * flag set after fetching
  +     */
       private boolean fetched = false;
   
       public static final String ERROR_NO_ARCHIVE = "No archive defined";
       public static final String ERROR_NO_PROJECT = "No project defined";
       public static final String ERROR_NO_VERSION = "No version defined";
  -    public static final String ERROR_NO_SUFFIX = "No version defined";
  +    public static final String ERROR_FILE_IS_A_DIR = "Library file is a 
directory:";
   
       /**
        * suffix
        */
  -    private String suffix = "jar";
  -    public static final String ERROR_FILE_IS_A_DIR = "Library file is a 
directory:";
  +    private String suffix = ".jar";
   
   
       /**
  @@ -169,7 +171,7 @@
       }
   
       /**
  -     * set the suffix for this file; default is "jar"
  +     * set the suffix for this file; default is ".jar"
        * @param suffix
        */
       public void setSuffix(String suffix) {
  @@ -213,10 +215,16 @@
        * @throws BuildException if invalid
        */
       public void validate() {
  -        faultIfEmpty(archive, ERROR_NO_ARCHIVE);
           faultIfEmpty(project, ERROR_NO_PROJECT);
  +        if(archive==null) {
  +            //adopt the name of the project if no archive is specced
  +            archive=project;
  +        }
  +        faultIfEmpty(archive, ERROR_NO_ARCHIVE);
           faultIfEmpty(version, ERROR_NO_VERSION);
  -        faultIfEmpty(version, ERROR_NO_SUFFIX);
  +        if(suffix==null) {
  +            suffix="";
  +        }
       }
   
       /**
  @@ -278,7 +286,7 @@
        *         source
        */
       public String getNormalFilename() {
  -        return archive + "-" + version + "." + suffix;
  +        return archive + "-" + version + suffix;
       }
   
       /**
  
  
  
  1.2       +25 -0     
ant/src/testcases/org/apache/tools/ant/taskdefs/LibrariesTest.java
  
  Index: LibrariesTest.java
  ===================================================================
  RCS file: 
/home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/LibrariesTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LibrariesTest.java        18 Nov 2004 16:25:04 -0000      1.1
  +++ LibrariesTest.java        24 Nov 2004 23:10:47 -0000      1.2
  @@ -19,6 +19,7 @@
   import org.apache.tools.ant.BuildFileTest;
   import org.apache.tools.ant.taskdefs.repository.AssertDownloaded;
   import org.apache.tools.ant.taskdefs.repository.Libraries;
  +import org.apache.tools.ant.taskdefs.repository.Library;
   
   /**
    * test the test libraries stuff.
  @@ -179,4 +180,28 @@
                   "Wrong count in assertdownloaded",
                   AssertDownloaded.ERROR_DOWNLOAD_FAILURE);
       }
  +
  +    public void testNoVersion() {
  +        expectBuildException("testNoVersion",
  +                Library.ERROR_NO_PROJECT);
  +    }
  +
  +    public void testNoProject() {
  +        expectBuildException("testNoProject",
  +                Library.ERROR_NO_PROJECT);
  +    }
  +
  +    public void testNoArchiveName() {
  +        execIfOnline("testNoArchiveName");
  +    }
  +
  +    public void testEmptyArchive() {
  +        expectBuildException("testEmptyArchive",
  +                Library.ERROR_NO_ARCHIVE);
  +    }
  +
  +    public void testNoSuffix() {
  +        execIfOnline("testNoSuffix");
  +    }
  +
   }
  
  
  

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

Reply via email to