Re: cvs commit: ant/src/main/org/apache/tools/ant/types ZipFileSet.java defaults.properties

2003-04-22 Thread Stefan Bodewig
On Sat, 19 Apr 2003, Antoine Levy-Lambert [EMAIL PROTECTED]
wrote:

 I have coded the calls to the getters of ZipFileSet similarly to the
 getters of FileSet or AbstractFileSet in Zip.java.

They are the way they look right now because FileSet is much older
than ProjectComponent and thus didn't have project instance (same for
Path, BTW).

 Can we safely to change all the getters of AbstractFileSet

As long as you keep the old method signatures (of released code, that
is) for backwards compatibility, probably yes, but ...

 From: Conor MacNeill [EMAIL PROTECTED]

 Hmmm, it may even be a different project instance.

is something to consider.  I don't think we are testing a scenario
where a fileset gets inherited by a subbuild thoroughly, if at all -
still we may get away with the help of clone() that is performed in
Ant.java.

Stefan


Re: cvs commit: ant/src/main/org/apache/tools/ant/types ZipFileSet.java defaults.properties

2003-04-19 Thread Conor MacNeill
On Sat, 19 Apr 2003 08:02 am, [EMAIL PROTECTED] wrote:
 antoine 2003/04/18 15:02:59

   Index: Zip.java
   ===
   RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Zip.java,v
   retrieving revision 1.103
   retrieving revision 1.104
   diff -u -r1.103 -r1.104
   --- Zip.java27 Mar 2003 10:02:04 -  1.103
   +++ Zip.java18 Apr 2003 22:02:58 -  1.104
   @@ -67,7 +67,6 @@
import java.util.Vector;
import java.util.zip.CRC32;
import java.util.zip.ZipFile;
   -import java.util.zip.ZipInputStream;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
   @@ -541,10 +540,10 @@
ZipFileSet zfs = null;
if (fileset instanceof ZipFileSet) {
zfs = (ZipFileSet) fileset;
   -prefix = zfs.getPrefix();
   -fullpath = zfs.getFullpath();
   -dirMode = zfs.getDirMode();
   -fileMode = zfs.getFileMode();
   +prefix = zfs.getPrefix(getProject());
   +fullpath = zfs.getFullpath(getProject());
   +dirMode = zfs.getDirMode(getProject());
   +fileMode = zfs.getFileMode(getProject());
}


Passing the project around like this should not be necessary since the 
zipfileset is a ProjectComponent and should have its own project reference. 
Hmmm, it may even be a different project instance.

Conor




cvs commit: ant/src/main/org/apache/tools/ant/types ZipFileSet.java defaults.properties

2003-04-18 Thread antoine
antoine 2003/04/18 15:02:59

  Modified:docs/manual conceptstypeslist.html
   docs/manual/CoreTasks zip.html
   src/main/org/apache/tools/ant/taskdefs Zip.java
   src/main/org/apache/tools/ant/types ZipFileSet.java
defaults.properties
  Added:   src/testcases/org/apache/tools/ant/types ZipFileSetTest.java
   docs/manual/CoreTypes zipfileset.html
  Log:
  allow to define ZipFileSet(s) outside of Zip task bugrep 17007
  
  Revision  ChangesPath
  1.1  
ant/src/testcases/org/apache/tools/ant/types/ZipFileSetTest.java
  
  Index: ZipFileSetTest.java
  ===
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 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 Ant 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.tools.ant.types;
  
  import org.apache.tools.ant.BuildException;
  import org.apache.tools.ant.Project;
  
  import junit.framework.TestCase;
  import junit.framework.AssertionFailedError;
  
  import java.io.File;
  
  /**
   * JUnit 3 testcases for org.apache.tools.ant.types.ZipFileSet.
   *
   * pThis doesn't actually test much, mainly reference handling.
   *
   * @author Antoine Levy-Lambert
   */
  
  public class ZipFileSetTest extends AbstractFileSetTest {
  
  public ZipFileSetTest(String name) {
  super(name);
  }
  
  protected AbstractFileSet getInstance() {
  return new ZipFileSet();
  }
  public final void testAttributes() {
  ZipFileSet f = (ZipFileSet)getInstance();
  //check that dir and src are incompatible
  f.setSrc(new File(example.zip));
  try {
  f.setDir(new File(examples));
  fail(can add dir to 
  + f.getDataTypeName()
  +  when a src is already present);
  } catch (BuildException be) {
  assertEquals(Cannot set both dir and src 
attributes,be.getMessage());
  }
  f = (ZipFileSet)getInstance();
  //check that dir and src are incompatible
  f.setDir(new File(examples));
  try {
  f.setSrc(new File(example.zip));
  fail(can add src to 
  + f.getDataTypeName()
  +  when a dir is already present);
  } catch (BuildException be) {
  assertEquals(Cannot set both dir and src