Black-sun Fireant

v0.9.1 release notes

Fireant History

  • FIXED - To be consistent with FaFileSet, FaFiles include and exclude patterns now split on " ," instead of " \t\r\n,".
  • CHANGED - To be consistent with FaFileSet, FaFiles constructor:
        FaFiles(File dir, String includes, String excludes);
    
    now keep include patterns and exclude patterns unchanged if the includes and excludes argument is null or blanks. In particular, it would include everything instead of none, if includes is null. Thus FileSet, FaFiles and FaFileSet produces same results. Please recheck all invocations of this constructor, it may cause big troubles, in particular where the includes argument is null. !
  • NEW - FaFiles added constructors:
        FaFiles(File dir, String includes);
        FaFiles(File dir, String includes, String excludes, boolean defaultexcludes);
    
    The first constructor use default excludes and the second constructor add default excludes to the exclude patterns if the defaultexcludes argument is true.
  • FIXED - FaFileUtil now use java.io.File.getCanonicalFile() and getCanonicalPath() are used instead of getAbsoluteFile() and getAbsolutePath(). Example, FaFileUtil.getRelativePath(), ... etc. methods to use java.io.File.getCanonicalPath() so that files with symbolic link are compared properly. FaFileUtil added methods:
        File getCanonicalFile(File file);
        String getCanonicalPath(File file);
    
    This may cause problem if you use getAbsolutePath() elsewhere and compare against the cannonical path and thus this change breaks compatibility.
  • FIXED - FaTextUtil.splitManifestAttrValue() to ignore commas inside "" and '' quotes.
  • NEW - black-sun eclipse.builder project now has an IncrementalFireantProjectBuilder builder that same as the FireantProjectBuilder except that it is invoked with information about the resource delta when it is an incremental build. The delta information are passed as arguments to the FireantBuilder:
    • --incremental - If specified, there are delta information. Otherwise builder should perform a full build.
    • --added <file>@ - Full absolute path of files added. This option is repeated multiple times if there are multiple files added. CLIUtil should always return a List<String> for the array options.
    • --removed <file>@ - Full absolute path of files removed.
    • --changed <file>@ - Full absolute path of files that are modified.
    Make sure the IncrementalFireantBuilder.main() accept the above command line options. Example, for CLIUtil, add the following to the option spec.:
        "incremental | added@ | removed@ | changed@"
    
    To use the incremental builder from .project file, simply specify sf.blacksun.eclipse.builder.IncrementalFireantProjectBuilder instead of the sf.blacksun.eclipse.builder.FireantProjectBuilder.
  • NEW - FaFileUtil added methods:
        FaFileSet getFileSet(String[] paths, File basedir);
        FaFileSet getFileSet(String[] paths, File basedir, boolean all);
        
        FaFiles getFiles(Collection<File> files, File basedir) {
        FaFiles getFiles(Collection<File> files, File basedir, boolean all) {
        FaFiles getFiles(String[] paths, File basedir);
        FaFiles getFiles(String[] paths, File basedir, boolean all);
    
  • NEW - FireantBuilder added method:
        void buildTarget(Class target);
        void buildTarget(Class target, File basedir, Map options);
    
    where target is a nested class inside a FireantBuilder class. If the given target is not nested inside a FireantBuilder class, BuildException is thrown.

Fireant-optional History

  • WorkspaceBase now use ECLIPSE_HOME and ECLIPSE_WORKSPACE environment variables to determine the eclipse directory and workspace directory.

eclipse.builder.fireant Eclipse plugins History

  • NEW - Added norefresh option. If value is true, project builder would not refresh the project resources in the workspace after build. Default is false.

Requirements

  • JDK 1.5.0
  • Ant 1.6.5 as distributed with Eclispe 3.2 for Linux.
  • JUnit 3.8.1 as distributed with Eclispe 3.2 for Linux.
  • GNU getopt 1.0.10.
  • Jakarta-oro 2.0.8.