DO NOT REPLY [Bug 33509] New: - GET task: do not require dest argument
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=33509. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND· INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=33509 Summary: GET task: do not require dest argument Product: Ant Version: 1.6.2 Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Core tasks AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I've only ever used the GET task to hit a URL that does some action, and I couldn't care less about the output. (Eg. JSP precompilation, Tiles reload, etc.) Sure on Unix I've got /dev/null but it isn't portable. Allow me to not specify a destination and discard the output. -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug, or are watching the assignee. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 33479] - XSLT target throws EmptyStackException for large input file
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=33479. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND· INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=33479 --- Additional Comments From [EMAIL PROTECTED] 2005-02-11 10:49 --- OK. you should know that when Java1.5 comes along, you will need a lot more memory, as its XSL engine is even hungrier. If you stick with Xalan things should stay the same. -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug, or are watching the assignee. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[GUMP@brutus]: Project test-ant (in module ant) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at [EMAIL PROTECTED] Project test-ant has an issue affecting its community integration. This issue affects 1 projects, and has been outstanding for 6 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - test-ant : Java based build tool Full details are available at: http://brutus.apache.org/gump/public/ant/test-ant/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -INFO- Optional dependency rhino prerequisite failed with reason build failed -INFO- Optional dependency bsh prerequisite failed with reason build failed -INFO- Optional dependency jakarta-tomcat-4.0 prerequisite failed with reason build failed -INFO- Optional dependency xalan prerequisite failed with reason build failed -INFO- Failed with reason build failed The following work was performed: http://brutus.apache.org/gump/public/ant/test-ant/gump_work/build_ant_test-ant.html Work Name: build_ant_test-ant (Type: Build) Work ended in a state of : Failed Elapsed: 6 mins 28 secs Command Line: java -Djava.awt.headless=true -Xbootclasspath/p:/usr/local/gump/public/workspace/xml-xerces2/java/build/xercesImpl.jar:/usr/local/gump/public/workspace/xml-commons/java/external/build/xml-apis.jar:serializer-gump-31012005.jar:xalan-gump-31012005.jar org.apache.tools.ant.Main -Dgump.merge=/home/gump/workspaces2/public/gump/work/merge.xml -Dbuild.sysclasspath=only -Dtest.haltonfailure=false -Dant.home=/usr/local/gump/public/workspace/ant/dist run-tests [Working Directory: /usr/local/gump/public/workspace/ant] CLASSPATH:
AW: [GUMP@brutus]: Project test-ant (in module ant) failed
Testcase: testNoFileJUnitNoFrames(org.apache.tools.ant.taskdefs.optional.junit.JUnitRe portTest): Caused an ERROR javax.xml.transform.TransformerFactoryConfigurationError: Provider for javax.xml.transform.TransformerFactory cannot be found /home/gump/workspaces2/public/workspace/ant/src/etc/testcases/taskdefs/optio nal/junitreport.xml:14: javax.xml.transform.TransformerFactoryConfigurationError: Provider for javax.xml.transform.TransformerFactory cannot be found at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:114) at org.apache.tools.ant.Task.perform(Task.java:365) at org.apache.tools.ant.Target.execute(Target.java:341) at org.apache.tools.ant.Target.performTasks(Target.java:369) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1207) Something in the Gump environment? Jan
Re: [GUMP@brutus]: Project test-ant (in module ant) failed
On Fri, 11 Feb 2005, Jan Materne [EMAIL PROTECTED] wrote: Something in the Gump environment? Gump didn't build Xalan because BCEL's build is broken (code doesn't compile). Things I don't understand ATM: (1) Why didn't Ant pick up the Xalan version from JDK 1.4's rt.jar and (2) why is the condition trax.impl.present true if it doesn't. Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[PROPOSAL] Antlib Subproject
Hi, as I threatened, here is the proposal. This is not a vote yet and I'm going to also put it up the Wiki so we can work on it together. I've kept it rather formal since a subproject deserves it IMHO. The scope definition has been kept rather tight and at least I want to keep it that way. The structure and parts of the text as well as some ideas here heavily borrowed from Jakarta Commons[1] or the Incubator. Stefan Footnotes: [1] http://jakarta.apache.org/commons/charter.html So here we go Proposal to Create a Ant-Libraries Sub-Project in Apache Ant (0) rationale Ant itself has accumulated lots and lots of tasks over time. So many, that Ant developers have become reluctant to adding new task. Furthermore any new task in Ant would be tied to Ant's release schedule which is too slow for a thriving, fresh piece of code. The proposal allows Ant tasks and types to be developed under the Ant umbrella by Ant developers but have much shorter release cycles than Ant itself. In addition it would new committers who would have commit access to a single Ant library instead of the whole of Ant. (1) scope of the subproject The subproject shall create and maintain libraries of Ant tasks and types. Each library will be managed in the same manner as the Ant project itself, the PMC is ultimately responsible for it. Common Java libraries that only happen to provide Ant tasks as well are out of scope of the subproject. Providing the tasks or types has to be the primary goal of the library. To further this goal, the subproject shall also host a workplace for Ant committers. (1.5) interaction with other subprojects (1.5.1) the sandbox The subproject will host a SVN repository available to all Ant committers as a workplace for new Ant libraries. Before a library can have a public release it has to get promoted to the proper Ant libraries subproject. This also means it has to match the requirements of an Ant library as defined in section (4) under Guidelines below. The status of any library developed in the sandbox shall be reviewed after six months and the library gets either promoted or removed - or it has to be re-evaluated after another six months. (2) identify the initial source from which the subproject is to be populated Some Ant committers have developed tasks or libraries inside of the Ant CVS module under the proposal/sandbox directory. Committers are free to move them over to the new sandbox subproject or remove them completely. Libraries expected to move to the sandbox subproject initially are * the .NET tasks under proposal/sandbox/dotnet * the Subversion support tasks under proposal/sandbox/svn (work here will start soon) (3) identify the initial Apache resources to be created (3.1) mailing list(s) None. At least at the beginning we don't expect too much traffic and the existing mailing lists of the Ant projects will be used. (3.2) SVN repositories Create http://svn.apache.org/repos/asf/ant/ Expected are sub-directories antlibs/ | - proper/ || |- library1 ||| ||--- trunk ||--- tags ||--- branches |- library2 | | | --- trunk | --- tags | --- branches | - sandbox/ | - library1 || |--- trunk |--- tags |--- branches - library2 | --- trunk --- tags --- branches And potentially collections of all-trunks using svn:external as shown by the current Jakarta Commons structure. (3.3) Bugzilla New components under produce Ant for each new library. (4) identify the initial set of committers All current Ant PMC members plus the active committers who are not PMC members yet. Guidelines -- Note: * is, has, will, shall, must - required. * may, should, are encouraged - optional but recommended. (1) The primary unit of reuse and release is the Ant library. (2) The library is not a framework or a general library but a collection of Ant tasks and types. (3) Each library must have a clearly defined purpose, scope, and API. (4) Each library is treated as a product in its own right. (4.1) Each library has its own status file, release schedule, version number, QA tests, documentation, bug category, and individual JAR. (4.2) Each library must clearly specify any external dependencies, including any other libraries, and the earliest JDK version required. (4.3) Each library must maintain a list of its active committers in its status file. (4.4) The libraries should use a
[Ant Wiki] New: Proposals/AntLibSubProject
Date: 2005-02-11T03:28:36 Editor: StefanBodewig Wiki: Ant Wiki Page: Proposals/AntLibSubProject URL: http://wiki.apache.org/ant/Proposals/AntLibSubProject no comment New Page: The original propsal has been sent by StefanBodewig to the Ant development list on February 11, 2005. It can be found [http://marc.theaimsgroup.com/?l=ant-devm=110812059831569w=2 in the mailing list archives]. This version is a living document where people interested in the proposal are free to make changes until it gets accepted or rejected by a formal Ant PMC vote. = Proposal to Create a Ant-Libraries Sub-Project in Apache Ant = === (0) rationale === Ant itself has accumulated lots and lots of tasks over time. So many, that Ant developers have become reluctant to adding new task. Furthermore any new task in Ant would be tied to Ant's release schedule which is too slow for a thriving, fresh piece of code. The proposal allows Ant tasks and types to be developed under the Ant umbrella by Ant developers but have much shorter release cycles than Ant itself. In addition it would new committers who would have commit access to a single Ant library instead of the whole of Ant. === (1) scope of the subproject === The subproject shall create and maintain libraries of Ant tasks and types. Each library will be managed in the same manner as the Ant project itself, the PMC is ultimately responsible for it. Common Java libraries that only happen to provide Ant tasks as well are out of scope of the subproject. Providing the tasks or types has to be the primary goal of the library. To further this goal, the subproject shall also host a workplace for Ant committers. (1.5) interaction with other subprojects = (1.5.1) the sandbox = The subproject will host a SVN repository available to all Ant committers as a workplace for new Ant libraries. Before a library can have a public release it has to get promoted to the proper Ant libraries subproject. This also means it has to match the requirements of an Ant library as defined in section (4) under Guidelines below. The status of any library developed in the sandbox shall be reviewed after six months and the library gets either promoted or removed - or it has to be re-evaluated after another six months. === (2) identify the initial source from which the subproject is to be populated === Some Ant committers have developed tasks or libraries inside of the Ant CVS module under the proposal/sandbox directory. Committers are free to move them over to the new sandbox subproject or remove them completely. Libraries expected to move to the sandbox subproject initially are * the .NET tasks under proposal/sandbox/dotnet * the Subversion support tasks under proposal/sandbox/svn (work here will start soon) === (3) identify the initial Apache resources to be created === (3.1) mailing list(s) None. At least at the beginning we don't expect too much traffic and the existing mailing lists of the Ant projects will be used. (3.2) SVN repositories Create http://svn.apache.org/repos/asf/ant/ Expected are sub-directories {{{ antlibs/ | - proper/ || |- library1 ||| ||--- trunk ||--- tags ||--- branches |- library2 | | | --- trunk | --- tags | --- branches | - sandbox/ | - library1 || |--- trunk |--- tags |--- branches - library2 | --- trunk --- tags --- branches }}} And potentially collections of all-trunks using svn:external as shown by the current Jakarta Commons structure. (3.3) Bugzilla New components under produce Ant for each new library. === (4) identify the initial set of committers === All current Ant PMC members plus the active committers who are not PMC members yet. == Guidelines == Note: * is, has, will, shall, must - required. * may, should, are encouraged - optional but recommended. (1) The primary unit of reuse and release is the Ant library. (2) The library is not a framework or a general library but a collection of Ant tasks and types. (3) Each library must have a clearly defined purpose, scope, and API. (4) Each library is treated as a product in its own right. (4.1) Each library has its own status file, release schedule, version number, QA tests, documentation, bug category, and individual JAR. (4.2) Each library must clearly specify any external dependencies, including any other libraries, and the earliest JDK version required. (4.3) Each library must maintain a list of its
cvs commit: ant/proposal/sandbox/svn - New directory
bodewig 2005/02/11 04:06:15 ant/proposal/sandbox/svn - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn README
bodewig 2005/02/11 04:25:32 Added: proposal/sandbox/svn README Log: here is a plan Revision ChangesPath 1.1 ant/proposal/sandbox/svn/README Index: README === This library provides Ant task(s) as wrapper(s) over the svn command line utility. Alternative approaches like JNI or even a native Java SVN client exist and have been taken by other teams. In particular we know (this list is certainly incomplete): * http://subclipse.tigris.org/svnant.html using javahl JNI bindings of subversion * http://tmate.org/svn/ant.html using a pure Java SVN client each of which provides Ant tasks. The task(s) of this library only provides very rudimentary support for SVN, matching what the traditional Ant task(s) vor CVS could do. If you need more than what this libary provides, we encourage you to check out the existing alternatives. === The first cut will mimic the implementation of the cvs task, it will even be split into an abstract task and a very thin real task - it may be possible to base tasks similar to the optional CVS tasks on the abstract task as well. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src - New directory
bodewig 2005/02/11 04:26:33 ant/proposal/sandbox/svn/src - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/etc - New directory
bodewig 2005/02/11 04:26:39 ant/proposal/sandbox/svn/src/etc - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/testcases - New directory
bodewig 2005/02/11 04:26:58 ant/proposal/sandbox/svn/src/testcases - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/testcases/org - New directory
bodewig 2005/02/11 04:27:44 ant/proposal/sandbox/svn/src/testcases/org - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/testcases/org/apache - New directory
bodewig 2005/02/11 04:27:50 ant/proposal/sandbox/svn/src/testcases/org/apache - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/testcases/org/apache/tools - New directory
bodewig 2005/02/11 04:27:56 ant/proposal/sandbox/svn/src/testcases/org/apache/tools - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/testcases/org/apache/tools/ant - New directory
bodewig 2005/02/11 04:28:03 ant/proposal/sandbox/svn/src/testcases/org/apache/tools/ant - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/testcases/org/apache/tools/ant/taskdefs - New directory
bodewig 2005/02/11 04:28:09 ant/proposal/sandbox/svn/src/testcases/org/apache/tools/ant/taskdefs - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/testcases/org/apache/tools/ant/taskdefs/svn - New directory
bodewig 2005/02/11 04:28:16 ant/proposal/sandbox/svn/src/testcases/org/apache/tools/ant/taskdefs/svn - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/main - New directory
bodewig 2005/02/11 04:28:25 ant/proposal/sandbox/svn/src/main - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/main/org/apache - New directory
bodewig 2005/02/11 04:28:51 ant/proposal/sandbox/svn/src/main/org/apache - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/main/org/apache/tools - New directory
bodewig 2005/02/11 04:28:59 ant/proposal/sandbox/svn/src/main/org/apache/tools - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/main/org/apache/tools/ant - New directory
bodewig 2005/02/11 04:29:04 ant/proposal/sandbox/svn/src/main/org/apache/tools/ant - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs - New directory
bodewig 2005/02/11 04:29:11 ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn - New directory
bodewig 2005/02/11 04:29:21 ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/proposal/sandbox/svn/src/testcases/org/apache/tools/ant/taskdefs/svn AbstractSvnTaskTest.java
bodewig 2005/02/11 05:50:16 Added: proposal/sandbox/svn .cvsignore build.xml proposal/sandbox/svn/src/etc/testcases abstractsvntask.xml proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn AbstractSvnTask.java Svn.java antlib.xml proposal/sandbox/svn/src/testcases/org/apache/tools/ant/taskdefs/svn AbstractSvnTaskTest.java Log: Add initial task Revision ChangesPath 1.1 ant/proposal/sandbox/svn/.cvsignore Index: .cvsignore === build 1.1 ant/proposal/sandbox/svn/build.xml Index: build.xml === ?xml version=1.0? !-- Copyright 2005 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- project default=compile target name=setup property name=build value=build/ property name=build.classes value=${build}/classes/ property name=build.testclasses value=${build}/test-classes/ property name=build.lib value=${build}/lib/ property name=jarname value=${build.lib}/ant-svn.jar/ mkdir dir=${build.classes}/ mkdir dir=${build.testclasses}/ mkdir dir=${build.lib}/ /target target name=compile depends=setup javac srcdir=src/main destdir=${build.classes} debug=true / /target target name=antlib depends=compile copy todir=${build.classes} fileset dir=src/main includes=**/antlib.xml/ /copy jar destfile=${jarname} basedir=${build.classes} / /target target name=setup-for-tests depends=setup ant antfile=../../../build.xml target=test-jar inheritall=false / /target target name=compile-tests depends=setup-for-tests, antlib javac srcdir=src/testcases destdir=${build.testclasses} debug=true classpath pathelement location=${jarname}/ pathelement location=../../../build/lib/ant-testutil.jar/ /classpath /javac /target target name=test depends=compile-tests junit printsummary=false haltonfailure=false failureproperty=tests.failed filtertrace=false classpath pathelement location=${jarname}/ pathelement location=../../../build/lib/ant-testutil.jar/ pathelement location=${build.testclasses}/ /classpath batchtest fileset dir=src/testcases/ /batchtest formatter type=plain usefile=false/ /junit fail if=tests.failedAt least one test has failed./fail /target /project 1.1 ant/proposal/sandbox/svn/src/etc/testcases/abstractsvntask.xml Index: abstractsvntask.xml === ?xml version=1.0? !-- Copyright 2005 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- project name=abstractsvntask-test basedir=../../../ default=all xmlns:svn=antlib:org.apache.tools.ant.taskdefs.svn property name=tmpdir value=tmpdir/ property name=tpfdir value=${tmpdir}/tpf/ property name=file value=ebcdic.h/ target name=setup mkdir dir=${tmpdir}/ svn:svn svnURL=http://svn.apache.org/repos/asf/httpd/httpd/trunk/os/tpf/; dest=${tmpdir}/ /target target name=all depends=setup svn:svn failonerror=true subcommand=status ${file} dest=${tpfdir}/ svn:svn failonerror=true dest=${tpfdir} commandline argument value=up/ argument value=-r/ argument value=83750/ argument value=${file}/
cvs commit: ant/proposal/sandbox/svn/docs svn.html
bodewig 2005/02/11 05:50:43 Added: proposal/sandbox/svn/docs svn.html Log: Add initial task Revision ChangesPath 1.1 ant/proposal/sandbox/svn/docs/svn.html Index: svn.html === html head meta http-equiv=Content-Language content=en-us titleSubversion Task/title link rel=stylesheet type=text/css href=../stylesheets/antmanual.css /head body h2a name=svnSVN/a/h2 h3Description/h3 pHandles packages/modules retrieved from a a href=http://subversion.tigris.org/; target=_topSubversion/a repository./p pbImportant:/b This task needs quot;codesvn/codequot; on the path. If it isn't, you will get an error (such as error code2/code on windows). If codelt;svngt;/code doesn't work, try to execute codesvn.exe/code from the command line in the target directory in which you are working. h3Parameters/h3 table border=1 cellpadding=2 cellspacing=0 tr td valign=topbAttribute/b/td td valign=topbDescription/b/td td align=center valign=topbRequired/b/td /tr tr td valign=topsubcommand/td td valign=topthe SVN subcommand to execute./td td align=center valign=topNo, default quot;checkoutquot;./td /tr tr td valign=topsvnURL/td td valign=topthe URL the subcommand should apply to./td td align=center valign=topNo/td /tr tr td valign=topdest/td td valign=topthe directory where the checked out files should be placed. Note that this is different from SVN's code-d/code command line switch as Ant will never shorten pathnames to avoid empty directories./td td align=center valign=topNo, default is project's basedir./td /tr tr td valign=toprevision/td td valign=topthe revision or date of the subcommand should apply to/td td align=center valign=topNo/td /tr tr td valign=topquiet/td td valign=topsuppress informational messages. This is the same as code--quiet/code on the command line./td td align=center valign=topNo, default quot;falsequot;/td /tr tr td valign=topdryrun/td td valign=topreport only, don't change any files./td td align=center valign=topNo, default to quot;falsequot;/td /tr tr td valign=topoutput/td td valign=topthe file to direct standard output from the command./td td align=center valign=topNo, default output to ANT Log as codeMSG_INFO/code./td /tr tr td valign=toperror/td td valign=topthe file to direct standard error from the command./td td align=center valign=topNo, default error to ANT Log as codeMSG_WARN/code./td /tr tr td valign=topappend/td td valign=topwhether to append output/error when redirecting to a file./td td align=center valign=topNo, default to quot;falsequot;./td /tr tr td valign=topfailonerror/td td valign=topStop the build process if the command exits with a return code other than code0/code. Defaults to quot;falsequot;/td td align=center valign=topNo/td /tr /table h3Examples/h3 pre lt;svn svnURL=quot;http://svn.apache.org/repos/asf/httpd/httpd/trunk/quot; dest=quot;${ws.dir}quot; /gt;/pre pchecks out the URL quot;http://svn.apache.org/repos/asf/httpd/httpd/trunk/quot; and stores the files in quot;code${ws.dir}/codequot;./p pre lt;svn dest=quot;${ws.dir}quot; command=quot;updatequot;/gt;/pre pupdates the working copy that has previously been checked out into quot;code${ws.dir}/codequot;./p pre lt;svn command=quot;-q diffquot; output=quot;patch.txtquot;/gt;/pre psilently (code-q/code) creates a file called codepatch.txt/code which contains a unified diff which can be used as input to patch. The equivalent, using codelt;commandlinegt;/code elements, is: /p pre lt;svn output=quot;patchquot;gt; lt;commandlinegt; lt;argument value=quot;-qquot;/gt; lt;argument value=quot;diffquot;/gt; lt;/commandlinegt; lt;/svngt; /pre or: pre lt;svn output=quot;patchquot;gt; lt;commandlinegt; lt;argument line=quot;-q diff -u -Nquot;/gt; lt;/commandlinegt; lt;/svngt; /pre p You may include as many codelt;commandlinegt;/code elements as you like. Each will inherit the codefailonerror/code and other quot;globalquot; parameters from the codelt;svngt;/code element. /p pre lt;svn command=quot;updatequot;/gt;/pre pUpdates from the head of repository creating any new directories as necessary./p pSee a href=http://svnbook.red-bean.com/en/1.1/ch09.html#svn-ch-9-sect-1; target=_topVersion Control with Subversion/a for details, specifically the a href=http://svnbook.red-bean.com/en/1.1/ch09.html#svn-ch-9-sect-1; target=_topThe Subversion Command Line Client: svn/a/p hr p align=centerCopyright copy; 2005 The Apache
[Ant Wiki] Updated: Proposals/AntLibSubProject
Date: 2005-02-11T05:57:22 Editor: StefanBodewig Wiki: Ant Wiki Page: Proposals/AntLibSubProject URL: http://wiki.apache.org/ant/Proposals/AntLibSubProject no comment Change Log: -- @@ -56,7 +56,7 @@ * the .NET tasks under proposal/sandbox/dotnet -* the Subversion support tasks under proposal/sandbox/svn (work here will start soon) +* the Subversion support tasks under proposal/sandbox/svn === (3) identify the initial Apache resources to be created === - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
that svn task
is more-or-less done. While I worked on the task I realized how limited the original cvs task actually is, and likewise the svn task is as limited. It may be worth to add a few more global attributes like --force, --encoding and similar. One of the hardest parts is authentication. It seems as if the equivalent of cvspass would need to calculate the hashcode Subversion creates for the file in ~/.subversion/svn.simple/ and even then it couldn't generate the full contents of it easily. I saw that AbstractCvsTask does not use a redirector. Well, maybe it should and so should AbstractSvnTask so at least svn had the chance to receive the password from stdin. I'm pretty underwhelmed by what the task does and how, but then again it didn't take more than two hours to write it. Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 33509] - GET task: do not require dest argument
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=33509. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND· INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=33509 --- Additional Comments From [EMAIL PROTECTED] 2005-02-11 15:56 --- As a workaround you can use conditions to set a property e.g. null.device to /dev/null on Unix and NUL on Windows (taking care of the lion's share of OSes). Then use that for your output. I plan to add an I/O redirector to get at some point in the future, and adding options to the redirector to explicitly throw away output and/or error output might be useful, as well. -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug, or are watching the assignee. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [PROPOSAL] Antlib Subproject
On Fri, 11 Feb 2005, Matt Benson [EMAIL PROTECTED] wrote: I like it. Great. My only concern at the moment is this: Am I correct that part of this effort (likely a very early part) would be the assigning of existing tasks/types to proper subprojects, No, that's not intended (by me) at all. If we ever want to farm out existing Ant tasks into antlibs, that's fine. I'm more concerned with completely new tasks, that I'd like to offer a home in Ant-land without adding even more stuff to Ant. I can see good reasons to split out some of the tasks, but certainly not all of them. The whole bunch of SCM specific tasks could be antlibs of their own, for example. A release of Ant could then bundle a specific release of these Antlibs. This is an idea, but not the driving force behind my proposal. Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs Sync.java
mbenson 2005/02/11 08:21:35 Modified:src/main/org/apache/tools/ant/taskdefs Sync.java Log: Remove trailing spaces (and the whole line they were on too, hey). Revision ChangesPath 1.22 +1 -2 ant/src/main/org/apache/tools/ant/taskdefs/Sync.java Index: Sync.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Sync.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- Sync.java 4 Feb 2005 08:08:59 - 1.21 +++ Sync.java 11 Feb 2005 16:21:35 - 1.22 @@ -191,7 +191,6 @@ } fs.appendSelector(ns); } - ds = fs.getDirectoryScanner(getProject()); } else { ds = new DirectoryScanner(); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/types AbstractFileSet.java
mbenson 2005/02/11 08:27:28 Modified:src/main/org/apache/tools/ant/types AbstractFileSet.java Log: Modified to return a cached DirectoryScanner instance until changes are made to the AbstractFileSet. Revision ChangesPath 1.40 +79 -52 ant/src/main/org/apache/tools/ant/types/AbstractFileSet.java Index: AbstractFileSet.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/types/AbstractFileSet.java,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- AbstractFileSet.java 4 Feb 2005 23:37:33 - 1.39 +++ AbstractFileSet.java 11 Feb 2005 16:27:28 - 1.40 @@ -66,6 +66,9 @@ private boolean caseSensitive = true; private boolean followSymlinks = true; +/* cached DirectoryScanner instance for our own Project only */ +private DirectoryScanner directoryScanner = null; + /** * Construct a new codeAbstractFileSet/code. */ @@ -113,11 +116,12 @@ * Sets the base-directory for this instance. * @param dir the directory's codeFile/code instance. */ -public void setDir(File dir) throws BuildException { +public synchronized void setDir(File dir) throws BuildException { if (isReference()) { throw tooManyAttributes(); } this.dir = dir; +directoryScanner = null; } /** @@ -134,7 +138,7 @@ * reference is resolved, if set. * @return codeFile/code. */ -public File getDir(Project p) { +public synchronized File getDir(Project p) { return (isReference()) ? getRef(p).getDir(p) : dir; } @@ -142,12 +146,13 @@ * Creates a nested patternset. * @return codePatternSet/code. */ -public PatternSet createPatternSet() { +public synchronized PatternSet createPatternSet() { if (isReference()) { throw noChildrenAllowed(); } PatternSet patterns = new PatternSet(); additionalPatterns.addElement(patterns); +directoryScanner = null; return patterns; } @@ -155,10 +160,11 @@ * Add a name entry to the include list. * @return codePatternSet.NameEntry/code. */ -public PatternSet.NameEntry createInclude() { +public synchronized PatternSet.NameEntry createInclude() { if (isReference()) { throw noChildrenAllowed(); } +directoryScanner = null; return defaultPatterns.createInclude(); } @@ -166,10 +172,11 @@ * Add a name entry to the include files list. * @return codePatternSet.NameEntry/code. */ -public PatternSet.NameEntry createIncludesFile() { +public synchronized PatternSet.NameEntry createIncludesFile() { if (isReference()) { throw noChildrenAllowed(); } +directoryScanner = null; return defaultPatterns.createIncludesFile(); } @@ -177,10 +184,11 @@ * Add a name entry to the exclude list. * @return codePatternSet.NameEntry/code. */ -public PatternSet.NameEntry createExclude() { +public synchronized PatternSet.NameEntry createExclude() { if (isReference()) { throw noChildrenAllowed(); } +directoryScanner = null; return defaultPatterns.createExclude(); } @@ -188,10 +196,11 @@ * Add a name entry to the excludes files list. * @return codePatternSet.NameEntry/code. */ -public PatternSet.NameEntry createExcludesFile() { +public synchronized PatternSet.NameEntry createExcludesFile() { if (isReference()) { throw noChildrenAllowed(); } +directoryScanner = null; return defaultPatterns.createExcludesFile(); } @@ -216,11 +225,12 @@ * * @param includes the codeString/code containing the include patterns. */ -public void setIncludes(String includes) { +public synchronized void setIncludes(String includes) { if (isReference()) { throw tooManyAttributes(); } defaultPatterns.setIncludes(includes); +directoryScanner = null; } /** @@ -230,7 +240,7 @@ * @param includes array containing the include patterns. * @since Ant 1.7 */ -public void appendIncludes(String[] includes) { +public synchronized void appendIncludes(String[] includes) { if (isReference()) { throw tooManyAttributes(); } @@ -238,6 +248,7 @@ for (int i = 0; i includes.length; i++) { defaultPatterns.createInclude().setName(includes[i]);
[PATCH] SubAnt verbose attribute
With complex build systems in particular I've found it useful to define a new verbose boolean attribute for the subant task, eg: subant target=mytarget buildpathref=build-subdirs verbose=true/ which results in output indicating the entry/exit of each sub-direcrtory recusively. For example: [subant] Entering directory: /my/src/daemons mytarget: [subant] Exiting directory: /my/src/daemons attached is the patch, can you please indicate if this will be accepted into the next version of ant, and if so, which version please? regards, craig. subant-patch.tar.gz Description: GNU Zip compressed data - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/optional/unix Symlink.java
mbenson 2005/02/11 08:53:00 Modified:src/main/org/apache/tools/ant/taskdefs/optional/unix Symlink.java Log: Instantiate our own DirectoryScanner, since we plan to override the fileset's followSymlinks attribute. Revision ChangesPath 1.26 +3 -2 ant/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java Index: Symlink.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- Symlink.java 4 Feb 2005 14:56:51 - 1.25 +++ Symlink.java 11 Feb 2005 16:53:00 - 1.26 @@ -551,7 +551,8 @@ // loop through the supplied file sets: for (int i = 0; i v.size(); i++) { FileSet fs = (FileSet) v.elementAt(i); -DirectoryScanner ds = fs.getDirectoryScanner(this.getProject()); +DirectoryScanner ds = new DirectoryScanner(); +fs.setupDirectoryScanner(ds, getProject()); ds.setFollowSymlinks(false); ds.scan(); String[] incs = ds.getIncludedFiles(); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/types AbstractFileSet.java
mbenson 2005/02/11 09:44:13 Modified:src/main/org/apache/tools/ant/types AbstractFileSet.java Log: Javadoc Revision ChangesPath 1.42 +3 -0 ant/src/main/org/apache/tools/ant/types/AbstractFileSet.java Index: AbstractFileSet.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/types/AbstractFileSet.java,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- AbstractFileSet.java 11 Feb 2005 17:32:19 - 1.41 +++ AbstractFileSet.java 11 Feb 2005 17:44:13 - 1.42 @@ -792,6 +792,7 @@ } /** + * Get the merged include patterns for this AbstractFileSet. * @return the include patterns of the default pattern set and all * nested patternsets. * @@ -802,6 +803,7 @@ } /** + * Get the merged exclude patterns for this AbstractFileSet. * @return the exclude patterns of the default pattern set and all * nested patternsets. * @@ -812,6 +814,7 @@ } /** + * Get the merged patterns for this AbstractFileSet. * @return the default patternset merged with the additional sets * in a new PatternSet instance. * - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/types AbstractFileSet.java
mbenson 2005/02/11 09:46:31 Modified:src/main/org/apache/tools/ant/types AbstractFileSet.java Log: Keep setFile atomic. Revision ChangesPath 1.43 +1 -1 ant/src/main/org/apache/tools/ant/types/AbstractFileSet.java Index: AbstractFileSet.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/types/AbstractFileSet.java,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- AbstractFileSet.java 11 Feb 2005 17:44:13 - 1.42 +++ AbstractFileSet.java 11 Feb 2005 17:46:31 - 1.43 @@ -210,7 +210,7 @@ * @param file the single codeFile/code included in this * codeAbstractFileSet/code. */ -public void setFile(File file) { +public synchronized void setFile(File file) { if (isReference()) { throw tooManyAttributes(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/types AbstractFileSet.java
mbenson 2005/02/11 10:05:07 Modified:src/main/org/apache/tools/ant/types AbstractFileSet.java Log: Javadoc Revision ChangesPath 1.44 +1 -1 ant/src/main/org/apache/tools/ant/types/AbstractFileSet.java Index: AbstractFileSet.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/types/AbstractFileSet.java,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- AbstractFileSet.java 11 Feb 2005 17:46:31 - 1.43 +++ AbstractFileSet.java 11 Feb 2005 18:05:07 - 1.44 @@ -339,7 +339,7 @@ /** * Sets case sensitivity of the file system. * - * @param isCaseSensitive codeboolean/code. + * @param caseSensitive codeboolean/code. */ public synchronized void setCaseSensitive(boolean caseSensitive) { if (isReference()) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs Copy.java
mbenson 2005/02/11 10:22:51 Modified:src/main/org/apache/tools/ant/taskdefs Copy.java Log: Javadoc Revision ChangesPath 1.80 +63 -57ant/src/main/org/apache/tools/ant/taskdefs/Copy.java Index: Copy.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Copy.java,v retrieving revision 1.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- Copy.java 4 Jan 2005 20:20:52 - 1.79 +++ Copy.java 11 Feb 2005 18:22:50 - 1.80 @@ -89,39 +89,40 @@ } /** - * @return the fileutils object + * Get the FileUtils for this task. + * @return the fileutils object. */ protected FileUtils getFileUtils() { return fileUtils; } /** - * Sets a single source file to copy. - * @param file the file to copy + * Set a single source file to copy. + * @param file the file to copy. */ public void setFile(File file) { this.file = file; } /** - * Sets the destination file. - * @param destFile the file to copy to + * Set the destination file. + * @param destFile the file to copy to. */ public void setTofile(File destFile) { this.destFile = destFile; } /** - * Sets the destination directory. - * @param destDir the destination directory + * Set the destination directory. + * @param destDir the destination directory. */ public void setTodir(File destDir) { this.destDir = destDir; } /** - * Adds a FilterChain. - * @return a filter chain object + * Add a FilterChain. + * @return a filter chain object. */ public FilterChain createFilterChain() { FilterChain filterChain = new FilterChain(); @@ -130,8 +131,8 @@ } /** - * Adds a filterset. - * @return a filter set object + * Add a filterset. + * @return a filter set object. */ public FilterSet createFilterSet() { FilterSet filterSet = new FilterSet(); @@ -141,7 +142,7 @@ /** * Give the copied files the same last modified time as the original files. - * @param preserve a boolean string + * @param preserve a boolean string. * @deprecated setPreserveLastModified(String) has been deprecated and * replaced with setPreserveLastModified(boolean) to * consistently let the Introspection mechanism work. @@ -152,16 +153,17 @@ /** * Give the copied files the same last modified time as the original files. - * @param preserve if true perverse the modified time, default is false + * @param preserve if true preserve the modified time; default is false. */ public void setPreserveLastModified(boolean preserve) { preserveLastModified = preserve; } /** - * Whether to give the copied files the same last modified time as + * Get whether to give the copied files the same last modified time as * the original files. - * @return the preserveLastModified attribute + * @return the whether destination files will inherit the modification + * times of the corresponding source files. * @since 1.32, Ant 1.5 */ public boolean getPreserveLastModified() { @@ -171,7 +173,7 @@ /** * Get the filtersets being applied to this operation. * - * @return a vector of FilterSet objects + * @return a vector of FilterSet objects. */ protected Vector getFilterSets() { return filterSets; @@ -180,22 +182,22 @@ /** * Get the filterchains being applied to this operation. * - * @return a vector of FilterChain objects + * @return a vector of FilterChain objects. */ protected Vector getFilterChains() { return filterChains; } /** - * If true, enables filtering. - * @param filtering if true enable filtering, default is false + * Set filtering mode. + * @param filtering if true enable filtering; default is false. */ public void setFiltering(boolean filtering) { this.filtering = filtering; } /** - * Overwrite any existing destination file(s). + * Set overwrite mode regarding existing destination file(s). * @param overwrite if true force overwriting of destination file(s) * even if the destination file(s) are younger than * the corresponding source file. Default is false. @@ -205,7 +207,7 @@ } /** - * When copying directory trees, the files can be flattened + * Set whether files
DO NOT REPLY [Bug 33433] - presetdef name=exec breaks signjar
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=33433. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND· INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=33433 --- Additional Comments From [EMAIL PROTECTED] 2005-02-11 19:27 --- It is fixed. Thank you. -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug, or are watching the assignee. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 33433] - presetdef name=exec breaks signjar
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://issues.apache.org/bugzilla/show_bug.cgi?id=33433. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND· INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=33433 [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|--- |1.7 --- Additional Comments From [EMAIL PROTECTED] 2005-02-11 19:36 --- Of course, forgot to update here. Switched to a ExecTask constructor call in CVS HEAD. Marking as 1.7 for now but as there is a security fix in there as well it will probably go to 1.6.3 . -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug, or are watching the assignee. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs Copy.java
mbenson 2005/02/11 10:38:40 Modified:src/main/org/apache/tools/ant/taskdefs Copy.java Log: Removing some (IMO) unnecessary blank lines; a couple of string cat merges; replaced an if block with ?: notation. Revision ChangesPath 1.81 +12 -35ant/src/main/org/apache/tools/ant/taskdefs/Copy.java Index: Copy.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Copy.java,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- Copy.java 11 Feb 2005 18:22:50 - 1.80 +++ Copy.java 11 Feb 2005 18:38:40 - 1.81 @@ -225,11 +225,7 @@ *Default is false. */ public void setVerbose(boolean verbose) { -if (verbose) { -this.verbosity = Project.MSG_INFO; -} else { -this.verbosity = Project.MSG_VERBOSE; -} +this.verbosity = verbose ? Project.MSG_INFO : Project.MSG_VERBOSE; } /** @@ -371,19 +367,16 @@ // will be removed in validateAttributes savedFileSet = (FileSet) filesets.elementAt(0); } - // make sure we don't have an illegal set of options validateAttributes(); try { - // deal with the single file if (file != null) { if (file.exists()) { if (destFile == null) { destFile = new File(destDir, file.getName()); } - if (forceOverwrite || !destFile.exists() || (file.lastModified() - granularity destFile.lastModified())) { @@ -403,7 +396,6 @@ } } } - // deal with the filesets for (int i = 0; i filesets.size(); i++) { FileSet fs = (FileSet) filesets.elementAt(i); @@ -419,7 +411,6 @@ continue; } } - File fromDir = fs.getDir(getProject()); String[] srcFiles = ds.getIncludedFiles(); @@ -432,7 +423,6 @@ } scan(fromDir, destDir, srcFiles, srcDirs); } - // do all the copy operations now... try { doFileOperations(); @@ -452,7 +442,6 @@ if (savedFileSet != null) { filesets.insertElementAt(savedFileSet, 0); } - fileCopyMap.clear(); dirCopyMap.clear(); completeDirMap.clear(); @@ -471,27 +460,23 @@ */ protected void validateAttributes() throws BuildException { if (file == null filesets.size() == 0) { -throw new BuildException(Specify at least one source - + - a file or a fileset.); +throw new BuildException( +Specify at least one source--a file or a fileset.); } - if (destFile != null destDir != null) { -throw new BuildException(Only one of tofile and todir - + may be set.); +throw new BuildException( +Only one of tofile and todir may be set.); } - if (destFile == null destDir == null) { throw new BuildException(One of tofile or todir must be set.); } - if (file != null file.isDirectory()) { throw new BuildException(Use a fileset to copy directories.); } - if (destFile != null filesets.size() 0) { if (filesets.size() 1) { throw new BuildException( - Cannot concatenate multiple files into a single file.); +Cannot concatenate multiple files into a single file.); } else { FileSet fs = (FileSet) filesets.elementAt(0); DirectoryScanner ds = fs.getDirectoryScanner(getProject()); @@ -499,26 +484,24 @@ if (srcFiles.length == 0) { throw new BuildException( - Cannot perform operation from directory to file.); +Cannot perform operation from directory to file.); } else if (srcFiles.length == 1) { if (file == null) { file = new File(ds.getBasedir(), srcFiles[0]); filesets.removeElementAt(0); } else { -throw new BuildException(Cannot concatenate multiple - +
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs Copy.java
mbenson 2005/02/11 10:48:24 Modified:src/main/org/apache/tools/ant/taskdefs Copy.java Log: File inclusion: unnecessarily checked presence of selectors AND DirectoryScanner.isEverythingIncluded, which will be false if selectors cause omissions. Revision ChangesPath 1.82 +3 -5 ant/src/main/org/apache/tools/ant/taskdefs/Copy.java Index: Copy.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Copy.java,v retrieving revision 1.81 retrieving revision 1.82 diff -u -r1.81 -r1.82 --- Copy.java 11 Feb 2005 18:38:40 - 1.81 +++ Copy.java 11 Feb 2005 18:48:24 - 1.82 @@ -415,10 +415,8 @@ String[] srcFiles = ds.getIncludedFiles(); String[] srcDirs = ds.getIncludedDirectories(); -boolean isEverythingIncluded = ds.isEverythingIncluded() - (!fs.hasSelectors() !fs.hasPatterns()); -if (isEverythingIncluded - !flatten mapperElement == null) { +if (!flatten mapperElement == null + ds.isEverythingIncluded() !fs.hasPatterns()) { completeDirMap.put(fromDir, destDir); } scan(fromDir, destDir, srcFiles, srcDirs); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant DirectoryScanner.java
mbenson 2005/02/11 12:27:38 Modified:src/main/org/apache/tools/ant DirectoryScanner.java Log: LOC Revision ChangesPath 1.85 +84 -118 ant/src/main/org/apache/tools/ant/DirectoryScanner.java Index: DirectoryScanner.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/DirectoryScanner.java,v retrieving revision 1.84 retrieving revision 1.85 diff -u -r1.84 -r1.85 --- DirectoryScanner.java 10 Feb 2005 23:51:59 - 1.84 +++ DirectoryScanner.java 11 Feb 2005 20:27:38 - 1.85 @@ -818,11 +818,9 @@ // put in the newroots vector the include patterns without // wildcard tokens for (int icounter = 0; icounter includes.length; icounter++) { -String newpattern = -SelectorUtils.rtrimWildcardTokens(includes[icounter]); -newroots.put(newpattern, includes[icounter]); +newroots.put(SelectorUtils.rtrimWildcardTokens( +includes[icounter]), includes[icounter]); } - if (newroots.containsKey()) { // we are going to scan everything anyway scandir(basedir, , true); @@ -837,7 +835,6 @@ } catch (IOException ex) { throw new BuildException(ex); } - while (enum2.hasMoreElements()) { String currentelement = (String) enum2.nextElement(); String originalpattern = (String) newroots.get(currentelement); @@ -863,7 +860,6 @@ throw new BuildException(ex); } } - if ((myfile == null || !myfile.exists()) !isCaseSensitive()) { File f = findFileCaseInsensitive(basedir, currentelement); if (f.exists()) { @@ -874,13 +870,11 @@ myfile = f; } } - if (myfile != null myfile.exists()) { if (!followSymlinks isSymlink(basedir, currentelement)) { continue; } - if (myfile.isDirectory()) { if (isIncluded(currentelement) currentelement.length() 0) { @@ -897,12 +891,10 @@ scandir(myfile, currentelement, true); } } else { -if (isCaseSensitive() - originalpattern.equals(currentelement)) { -accountForIncludedFile(currentelement, myfile); -} else if (!isCaseSensitive() -originalpattern - .equalsIgnoreCase(currentelement)) { +boolean included = isCaseSensitive() +? originalpattern.equals(currentelement) +: originalpattern.equalsIgnoreCase(currentelement); +if (included) { accountForIncludedFile(currentelement, myfile); } } @@ -1009,7 +1001,6 @@ } else if (!dir.isDirectory()) { throw new BuildException(dir + is not a directory.); } - // avoid double scanning of directories, can only happen in fast mode if (fast hasBeenScanned(vpath)) { return; @@ -1027,19 +1018,15 @@ throw new BuildException(IO error scanning directory + dir.getAbsolutePath()); } - if (!followSymlinks) { Vector noLinks = new Vector(); for (int i = 0; i newfiles.length; i++) { try { if (FILE_UTILS.isSymbolicLink(dir, newfiles[i])) { String name = vpath + newfiles[i]; -File file = new File(dir, newfiles[i]); -if (file.isDirectory()) { -dirsExcluded.addElement(name); -} else { -filesExcluded.addElement(name); -} +File file = new File(dir, newfiles[i]); +(file.isDirectory() +? dirsExcluded : filesExcluded).addElement(name); } else { noLinks.addElement(newfiles[i]); } @@ -1054,10 +1041,9 @@ newfiles = new String[noLinks.size()]; noLinks.copyInto(newfiles); } - for (int i = 0; i newfiles.length;
cvs commit: ant/src/main/org/apache/tools/ant DirectoryScanner.java
mbenson 2005/02/11 12:53:47 Modified:src/main/org/apache/tools/ant DirectoryScanner.java Log: More javadoc Revision ChangesPath 1.86 +15 -0 ant/src/main/org/apache/tools/ant/DirectoryScanner.java Index: DirectoryScanner.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/DirectoryScanner.java,v retrieving revision 1.85 retrieving revision 1.86 diff -u -r1.85 -r1.86 --- DirectoryScanner.java 11 Feb 2005 20:27:38 - 1.85 +++ DirectoryScanner.java 11 Feb 2005 20:53:47 - 1.86 @@ -1433,6 +1433,7 @@ * Return a cached result of list performed on file, if * available. Invokes the method and caches the result otherwise. * + * @param file File (dir) to list. * @since Ant 1.6 */ private String[] list(File file) { @@ -1451,6 +1452,8 @@ * insensitive manner in order to find a file that matches the * given name. * + * @param base base File (dir). + * @param path file path. * @return File object that points to the file in question. if it * hasn't been found it will simply be codenew File(base, * path)/code. @@ -1468,6 +1471,8 @@ * insensitive manner in order to find a file that matches the * given stack of names. * + * @param base base File (dir). + * @param pathElements Vector of path elements (dirs...file). * @return File object that points to the file in question or null. * * @since Ant 1.6 @@ -1504,6 +1509,8 @@ * From codebase/code traverse the filesystem in order to find * a file that matches the given name. * + * @param base base File (dir). + * @param path file path. * @return File object that points to the file in question or null. * * @since Ant 1.6 @@ -1516,6 +1523,8 @@ * From codebase/code traverse the filesystem in order to find * a file that matches the given stack of names. * + * @param base base File (dir). + * @param pathElements Vector of path elements (dirs...file). * @return File object that points to the file in question or null. * * @since Ant 1.6 @@ -1545,6 +1554,8 @@ /** * Do we have to traverse a symlink when trying to reach path from * basedir? + * @param base base File (dir). + * @param path file path. * @since Ant 1.6 */ private boolean isSymlink(File base, String path) { @@ -1554,6 +1565,8 @@ /** * Do we have to traverse a symlink when trying to reach path from * basedir? + * @param base base File (dir). + * @param pathElements Vector of path elements (dirs...file). * @since Ant 1.6 */ private boolean isSymlink(File base, Vector pathElements) { @@ -1617,6 +1630,8 @@ * Add all patterns that are not real patterns (do not contain * wildcards) to the set and returns the real patterns. * + * @param set Set to populate. + * @param patterns String[] of patterns. * @since Ant 1.7 */ private String[] fillNonPatternSet(Set set, String[] patterns) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant DirectoryScanner.java
mbenson 2005/02/11 14:37:04 Modified:src/main/org/apache/tools/ant DirectoryScanner.java Log: Merged duplicate code from private methods. Revision ChangesPath 1.87 +19 -69ant/src/main/org/apache/tools/ant/DirectoryScanner.java Index: DirectoryScanner.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/DirectoryScanner.java,v retrieving revision 1.86 retrieving revision 1.87 diff -u -r1.86 -r1.87 --- DirectoryScanner.java 11 Feb 2005 20:53:47 - 1.86 +++ DirectoryScanner.java 11 Feb 2005 22:37:04 - 1.87 @@ -849,7 +849,7 @@ String path = FILE_UTILS.removeLeadingPath(canonBase, canonFile); if (!path.equals(currentelement) || ON_VMS) { -myfile = findFile(basedir, currentelement); +myfile = findFile(basedir, currentelement, true); if (myfile != null) { currentelement = FILE_UTILS.removeLeadingPath(basedir, @@ -861,7 +861,7 @@ } } if ((myfile == null || !myfile.exists()) !isCaseSensitive()) { -File f = findFileCaseInsensitive(basedir, currentelement); +File f = findFile(basedir, currentelement, false); if (f.exists()) { // adapt currentelement to the case we've // actually found @@ -1448,75 +1448,18 @@ } /** - * From codebase/code traverse the filesystem in a case - * insensitive manner in order to find a file that matches the - * given name. - * - * @param base base File (dir). - * @param path file path. - * @return File object that points to the file in question. if it - * hasn't been found it will simply be codenew File(base, - * path)/code. - * - * @since Ant 1.6 - */ -private File findFileCaseInsensitive(File base, String path) { -File f = findFileCaseInsensitive(base, - SelectorUtils.tokenizePath(path)); -return f == null ? new File(base, path) : f; -} - -/** - * From codebase/code traverse the filesystem in a case - * insensitive manner in order to find a file that matches the - * given stack of names. - * - * @param base base File (dir). - * @param pathElements Vector of path elements (dirs...file). - * @return File object that points to the file in question or null. - * - * @since Ant 1.6 - */ -private File findFileCaseInsensitive(File base, Vector pathElements) { -if (pathElements.size() == 0) { -return base; -} -if (!base.isDirectory()) { -return null; -} -String[] files = list(base); -if (files == null) { -throw new BuildException(IO error scanning directory - + base.getAbsolutePath()); -} -String current = (String) pathElements.remove(0); -for (int i = 0; i files.length; i++) { -if (files[i].equals(current)) { -return findFileCaseInsensitive( -new File(base, files[i]), pathElements); -} -} -for (int i = 0; i files.length; i++) { -if (files[i].equalsIgnoreCase(current)) { -return findFileCaseInsensitive( -new File(base, files[i]), pathElements); -} -} -return null; -} - -/** * From codebase/code traverse the filesystem in order to find * a file that matches the given name. * * @param base base File (dir). * @param path file path. + * @param cs whether to scan case-sensitively. * @return File object that points to the file in question or null. * - * @since Ant 1.6 + * @since Ant 1.7 */ -private File findFile(File base, String path) { -return findFile(base, SelectorUtils.tokenizePath(path)); +private File findFile(File base, String path, boolean cs) { +return findFile(base, SelectorUtils.tokenizePath(path), cs); } /** @@ -1525,11 +1468,12 @@ * * @param base base File (dir). * @param pathElements Vector of path elements (dirs...file). + * @param cs whether to scan case-sensitively. * @return File object that points to the file in question or null. * - * @since Ant 1.6 + * @since Ant 1.7 */ -
cvs commit: ant/src/main/org/apache/tools/ant DirectoryScanner.java
mbenson 2005/02/11 14:39:56 Modified:src/main/org/apache/tools/ant DirectoryScanner.java Log: Beautify imports. Revision ChangesPath 1.88 +6 -6 ant/src/main/org/apache/tools/ant/DirectoryScanner.java Index: DirectoryScanner.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/DirectoryScanner.java,v retrieving revision 1.87 retrieving revision 1.88 diff -u -r1.87 -r1.88 --- DirectoryScanner.java 11 Feb 2005 22:37:04 - 1.87 +++ DirectoryScanner.java 11 Feb 2005 22:39:56 - 1.88 @@ -19,22 +19,22 @@ import java.io.File; import java.io.IOException; -import java.util.ArrayList; +import java.util.Map; +import java.util.Set; import java.util.Arrays; -import java.util.Enumeration; +import java.util.Vector; import java.util.HashMap; import java.util.HashSet; import java.util.Hashtable; -import java.util.Map; -import java.util.Set; -import java.util.Vector; +import java.util.ArrayList; +import java.util.Enumeration; import org.apache.tools.ant.taskdefs.condition.Os; import org.apache.tools.ant.types.Resource; import org.apache.tools.ant.types.ResourceFactory; import org.apache.tools.ant.types.selectors.FileSelector; -import org.apache.tools.ant.types.selectors.SelectorScanner; import org.apache.tools.ant.types.selectors.SelectorUtils; +import org.apache.tools.ant.types.selectors.SelectorScanner; import org.apache.tools.ant.util.FileUtils; /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant DirectoryScanner.java
mbenson 2005/02/11 14:41:40 Modified:src/main/org/apache/tools/ant DirectoryScanner.java Log: Splitting hairs Revision ChangesPath 1.89 +1 -1 ant/src/main/org/apache/tools/ant/DirectoryScanner.java Index: DirectoryScanner.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/DirectoryScanner.java,v retrieving revision 1.88 retrieving revision 1.89 diff -u -r1.88 -r1.89 --- DirectoryScanner.java 11 Feb 2005 22:39:56 - 1.88 +++ DirectoryScanner.java 11 Feb 2005 22:41:40 - 1.89 @@ -25,8 +25,8 @@ import java.util.Vector; import java.util.HashMap; import java.util.HashSet; -import java.util.Hashtable; import java.util.ArrayList; +import java.util.Hashtable; import java.util.Enumeration; import org.apache.tools.ant.taskdefs.condition.Os; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/main/org/apache/tools/ant DirectoryScanner.java
mbenson 2005/02/11 14:49:56 Modified:src/main/org/apache/tools/ant DirectoryScanner.java Log: Unfinished caching of IllegalStateExceptions for concurrent scan() invocations. Revision ChangesPath 1.90 +6 -3 ant/src/main/org/apache/tools/ant/DirectoryScanner.java Index: DirectoryScanner.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/DirectoryScanner.java,v retrieving revision 1.89 retrieving revision 1.90 diff -u -r1.89 -r1.90 --- DirectoryScanner.java 11 Feb 2005 22:41:40 - 1.89 +++ DirectoryScanner.java 11 Feb 2005 22:49:56 - 1.90 @@ -772,16 +772,19 @@ excludes = nullExcludes ? new String[0] : excludes; if (basedir == null) { -throw new IllegalStateException(No basedir set); +illegal = new IllegalStateException(No basedir set); } if (!basedir.exists()) { -throw new IllegalStateException(basedir + basedir +illegal = new IllegalStateException(basedir + basedir + does not exist); } if (!basedir.isDirectory()) { -throw new IllegalStateException(basedir + basedir +illegal = new IllegalStateException(basedir + basedir + is not a directory); } +if (illegal != null) { +throw illegal; +} if (isIncluded()) { if (!isExcluded()) { if (isSelected(, basedir)) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]