ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stef...@locus.apache.org
Subject cvs commit: jakarta-ant LICENSE TODO README
Date Thu, 27 Jan 2000 03:47:58 GMT
stefano     00/01/26 19:47:58

  Modified:    .        README
  Added:       .        LICENSE TODO
  Log:
  some nice intro (preparing for a decent distro)
  
  Revision  Changes    Path
  1.5       +64 -42    jakarta-ant/README
  
  Index: README
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/README,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- README	2000/01/23 11:37:41	1.4
  +++ README	2000/01/27 03:47:58	1.5
  @@ -1,46 +1,68 @@
  -README file for the jakarta-ant workspace
  ------------------------------------------------------------------
  -$Id: README,v 1.4 2000/01/23 11:37:41 stefano Exp $
  -=================================================================
   
  -This is the workspace for Ant, a Java based build tool.
  +                                 A     N     T
  + 
   
  -TODO List:
  +  What is it? 
  +  -----------
  +  
  +  Ant is a Java based build tool. In theory it is kind of like "make" 
  +  without makes wrinkles and with the full portability of pure java code.
  +
  +  
  +  Why?
  +  ----
  +  
  +  Why another build tool when there is already make, gnumake, nmake, jam, 
  +  and others? Because all of those tools have limitations that its original 
  +  author couldn't live with when developing software across multiple platforms. 
  +  
  +  Make-like tools are inherently shell based. They evaluate a set of 
  +  dependencies and then execute commands not unlike what you would issue on a 
  +  shell. This means that you can easily extend these tools by using or writing 
  +  any program for the OS that you are working on. However, this also means that 
  +  you limit yourself to the OS, or at least the OS type such as Unix, that you 
  +  are working on.
  +  
  +  Makefiles are inherently evil as well. Anybody who has worked on them for any 
  +  time has run into the dreaded tab problem. "Is my command not executing 
  +  because I have a space in front of my tab!!!" said the original author of Ant 
  +  way too many times. Tools like Jam took care of this to a great degree, but 
  +  still use yet another format to use and remember.
  +  
  +  Ant is different. Instead a model where it is extended with shell based 
  +  commands, it is extended using Java classes. Instead of writing shell 
  +  commands, the configuration files are XML based calling out a target tree 
  +  where various tasks get executed. Each task is run by an object which 
  +  implements a particular Task interface.
  +  
  +  Granted, this removes some of the expressive power that is inherent by being 
  +  able to construct a shell command such as `find . -name foo -exec rm {}` but 
  +  it gives you the ability to be cross platform. To work anywhere and 
  +  everywhere. And hey, if you really need to execute a shell command, Ant has 
  +  an exec rule that allows different commands to be executed based on the OS 
  +  that it is executing on.
  +
  +  The Latest Version
  +  ------------------
  +
  +  Details of the latest version can be found on the Apache Jakarta
  +  Project web site <http://jakarta.apache.org/>.
  +
  +
  +  Documentation
  +  -------------
  +
  +  Documentation is available in HTML format, in the docs/ directory.
  +
  +
  +  Licensing
  +  ---------
  +
  +  This software is licensed under the terms you may find in the file 
  +  named "LICENSE" in this directory.
  +  
   
  -  * Improve documentation of how to use ant, how tasks are
  -    constructed, etc. 
  +  Thanks for using Ant.
   
  -  * Improve error reporting on BuildException catches. Error should
  -    state which task and which target was active at the time the
  -    BuildException was popped.
  -
  -  * Improve error reporting on XML parse. Currently if the build.xml
  -    file is malformed we get some sort of odd SAX exception that could
  -    be better put.
  -
  -  * Provide an AbstractFileCompareTask class with prebuilt "srcfile"
  -    and "destfile" setter methods and whose execute method calls a
  -    "updateNeeded" method.
  -
  -  * Transform task -- XSLT 
  -
  -  * Output logs in XML -- this would be a global option of the project
  -    (log location, verboseness, etc)
  -
  -  * Javac improvements -- support the "modern" 1.3 compiler
  -
  -  * Investigate some sort of command line "execute an instance of a
  -    task with these parameters" entry point. Maybe a
  -    `org.apache.ant.TaskMain task org.foo.BarTask attrib1=foo
  -    attrib2=bar` type entry point?
  -
  -  * Investigate some sort of "touch" functionality. Not sure how this
  -    could be done in a portable way -- maybe append 0 bytes to a file
  -    as a quick hack?
  -
  -  * GUI front end -- examine tasks, add task properties, etc. Also,
  -    one button push build of a particular target.
  -
  -  * Test harness. All software projects should have an automatable
  -    test suite. Ant is no exception to this rule.
  -
  +                                          The Apache Jakarta Project
  +                                         <http://jakarta.apache.org/>
  
  
  
  1.1                  jakarta-ant/LICENSE
  
  Index: LICENSE
  ===================================================================
  /*
   * ============================================================================
   *                   The Apache Software License, Version 1.1
   * ============================================================================
   * 
   *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
   * 
   * Redistribution and use in source and binary forms, with or without modifica-
   * tion, 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  acknowledgment:  "This product includes  software
   *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
   *    Alternately, this  acknowledgment may  appear in the software itself,  if
   *    and wherever such third-party acknowledgments 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
   *    apache@apache.org.
   * 
   * 5. Products  derived from this software may not  be called "Apache", nor may
   *    "Apache" appear  in their name,  without prior written permission  of the
   *    Apache Software Foundation.
   * 
   * 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 (INCLU-
   * DING, 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/>.
   *
   */
  
  
  
  1.1                  jakarta-ant/TODO
  
  Index: TODO
  ===================================================================
  TODO List:
  
    * write a target rule that reacts on class presence or more generally, a way
      to apply environment conditions that must be met in order for a target to 
      be executed. This is _vital_ for highly componentized systems where
      non-core parts of the software may be skipped if the required classes
      are not present in the build classpath.
  
    * Improve error reporting on BuildException catches. Error should
      state which task and which target was active at the time the
      BuildException was popped.
  
    * Improve error reporting on XML parse. Currently if the build.xml
      file is malformed we get some sort of odd SAX exception that could
      be better put.
  
    * Provide an AbstractFileCompareTask class with prebuilt "srcfile"
      and "destfile" setter methods and whose execute method calls a
      "updateNeeded" method.
  
    * Transform task -- XSLT 
  
    * Output logs in XML -- this would be a global option of the project
      (log location, verboseness, etc)
  
    * Javac improvements -- support the "modern" 1.3 compiler
  
    * Investigate some sort of command line "execute an instance of a
      task with these parameters" entry point. Maybe a
      `org.apache.ant.TaskMain task org.foo.BarTask attrib1=foo
      attrib2=bar` type entry point?
  
    * Investigate some sort of "touch" functionality. Not sure how this
      could be done in a portable way -- maybe append 0 bytes to a file
      as a quick hack?
  
    * GUI front end -- examine tasks, add task properties, etc. Also,
      one button push build of a particular target.
  
    * Test harness. All software projects should have an automatable
      test suite. Ant is no exception to this rule.
  
  
  
  

Mime
View raw message