Subject: CVS commit: pkgsrc/devel/jakarta-ant
To: None <pkgsrc-changes@netbsd.org>
From: Jim Wise <jwise@netbsd.org>
List: pkgsrc-changes
Date: 04/14/2002 00:12:16
Module Name:	pkgsrc
Committed By:	jwise
Date:		Sat Apr 13 21:12:16 UTC 2002

Modified Files:
	pkgsrc/devel/jakarta-ant: Makefile PLIST distinfo
	pkgsrc/devel/jakarta-ant/files: ant
Added Files:
	pkgsrc/devel/jakarta-ant/patches: patch-aa

Log Message:
Update this package to jakarta-ant-1.4.1.

In addition to changes in the package as distributed, we no longer install
the optional tasks from this package -- what tasks got included in the
optional task jarfile was highly dependent on what other packages the user
had installed.  It is neither reasonable to depend on all of these packages
(many of them themselves built with ant!) in the ant package, nor reasonable
for two builds of the ant optional tasks to vary so widely.

In a few days, I will import a jakarta-ant-optional package, which depends
on a wide range of other packages, and builds all those optional tasks
currently supportable by pkgsrc.

Relevant changes since jakarta-ant 1.3 (the last pkgsrc version):
(For full changes, see ${LOCALBASE}/share/doc/java/ant/WHATSNEW)

* XmlLogger and <antstructure> now add an encoding declaration to the
  XML files they generate.

* <fileset> has a new attribute "casesensitive" to make it match
  filenames in a case insensitive way (if you set it to false) - by
  default filesets remain case sensitive.

* <rmic> is now implemented using a factory. This makes extending
  rmic to use a new compiler a lot easier but may break custom
  versions of this task that rely on the old implementation.

* several Zip methods have changed their signature as we now use a Zip
  package of our own that handles Unix permissions for directories.
  Furthermore <zip> will now use the platform's default character
  encoding for filenames - this is consistent with the command line
  ZIP tools, but causes problems if you try to open them from within
  Java and your filenames contain non US-ASCII characters. Use the new
  encoding attribute of the task and set it to UTF8 to get the old
  behavior.

* Ant will no longer use the canonical version of a path internally -
  this may yield different results on filesystems that support
  symbolic links.

* Pattern matching rules have changes slightly, the pattern foo*
  doesn't match files contained in a directory named foo - use foo/*
  instead.

* <fixcrlf> will not remove trailing whitespace at the end of lines anymore.

* Invalid manifest files will now cause build failures in the <jar> task.

* A delete task like
  <delete includeEmptyFilesets="true">
    <fileset dir="somedir" />
  </delete>
  will now remove "somedir" as well, unless there are still files left
  in it (matched by the default excludes).

* The copy task will now fail if the file to be copied is not found.

* Ant properties defined in properties files now behave the same way as
  properties defined in the build file. In particular the $ character needs
  to be escaped in property values by doubling it to $$. So, to define a
  property with the value $hello, you need to define it in a properties file
  as
    test.prop=$$hello
  This was not the case in Ant 1.3

* <tar> will now add empty directories as well

* <touch> can now work on <fileset>s

* <uptodate> now supports a value attribute

* <fail> supports nested text

* <fixcrlf> won't override files that are already in the correct
   format.

* <sql> now supports REM comments as well as // and --

* <jar> now has a nested <metainf> element following the same idea as
  <war>'s <webinf>.

* <available> now has a "type" attribute you can use in conjunction
  with the "file" attribute to specify whether the "file" you're
  looking for is a file or a directory.

* Allow the <sql> Delimiter to be set in the so that Oracle stored procs may be
  entered

* <execon> and <apply> can now optionally skip empty filesets.

* <javadoc> has a new useexternalfile attribute that makes it use a
  temporary file for sourcefile and package names - helps to defeat
  command line length limitations.

* Data types like <path> can now be defined inside of <target>s

* New filesonly attribute for <zip> and friends to suppress directory
  entries.

* New update attribute for <zip> and friends - update an existing
  archive instead of creating a new one.

* <apply> and <execon> have been merged into a single task.

* <available> has a new filepath attribute/nested element that allows
  you top search for a file in a given path.

* <taskdef> can now define several tasks at once, reading the
  name/classname pairs from a property file or resource.

* <unzip/unjar/unwar> and <untar> now have an overwrite attribute that
  defaults to true.  If set to false, files that are newer than the
  files in the archive will not be replaced.

* <patternset> and <fileset> now support nested <in/excludesfile>
  elements - using these you can have more than one in/excludes file
  per <patternset>.

* <fixcrlf> can now with CR only line-ends and can use an arbitrary
  between 2 and 80.

* <move> will now try to rename() files before copying them byte by
  byte - only if filtering is of, of course.

* <ant> and <antcall> tasks now support a new attribute inheritAll. When set to
  false, only user properties are passed through to the target Ant instance.
  This includes properties set on the command line and properties explicitly
  passed

* <javadoc> now skips off line links if the package list cannot be found.

* <java> task will set the Thread contextClassLoader under JDKs 1.2+ to the
  classloader for the class being executed.

* Introduce the concept of a TaskContainer - a task or element which can contain
  Ant Tasks.

* Add new tasks implementing the TaskContainer interface <parallel> and
  <sequential> which allow parallel execution of tasks to be specified.

* <depend> task will now take into account dependencies on jar files and class
  files from a given classpath.

* <jar> manifest entries may now be specified in the build file either
  completely or to be merged with a manifest file.

* <tstamp> task custom formats now support locales.

* Introduced the concept of <filtersets> to allow for more control in which
  filters get applied in a <copy> or <move> operation.

* The <depend> task cache format has changed and all dependency information is
  now stored in a single file.


To generate a diff of this commit:
cvs rdiff -r1.9 -r1.10 pkgsrc/devel/jakarta-ant/Makefile
cvs rdiff -r1.1 -r1.2 pkgsrc/devel/jakarta-ant/PLIST
cvs rdiff -r1.2 -r1.3 pkgsrc/devel/jakarta-ant/distinfo
cvs rdiff -r1.3 -r1.4 pkgsrc/devel/jakarta-ant/files/ant
cvs rdiff -r0 -r1.3 pkgsrc/devel/jakarta-ant/patches/patch-aa

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.