[
https://issues.apache.org/jira/browse/DERBY-4841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12920552#action_12920552
]
Rick Hillegas commented on DERBY-4841:
--------------------------------------
Thanks for the additional analysis, Dag and Knut. Although ant lets you put
multiple targets on the command line, the resulting behavior is not clear to
me. For instance, ant handles property overrides in a very idiosyncratic way
and off the top of my head I don't know how property overriding behaves when
you put multiple targets on the command line. This is all I could find in the
ant documentation (from the "Command Line" section of the ant manual):
"It is also possible to specify one or more targets that should be executed.
When omitted, the target that is specified in the default attribute of the
project tag is used."
>From what you are saying, it seems that
ant foo bar
is not in general equivalent to
ant foo
ant bar
Perhaps our documentation will be less brittle (and more accurate) if we always
phrase it in terms of separate commands rather than composite ones. That, at
least, is the approach taken in BUILDING.html.
I have logged a new issue (DERBY-4845) to track the broken dependencies in our
build scripts.
> Improve projecthelp for the top level Derby build script
> --------------------------------------------------------
>
> Key: DERBY-4841
> URL: https://issues.apache.org/jira/browse/DERBY-4841
> Project: Derby
> Issue Type: Improvement
> Components: Build tools
> Affects Versions: 10.7.0.0
> Reporter: Rick Hillegas
> Attachments: derby-4841-01-aa-ricksPicks.diff
>
>
> Ant scripts are supposed to be self-describing. The following command is
> supposed to describe the public targets in the current directory:
> ant -projecthelp
> Here is the output of this command for the top level build script today:
> Main targets:
> checkCompilerLevel Make sure compiler level is Java 5 level or higher.
> class_size_catalog create the class size catalog -- a java file
> createBranch Create a new branch (both docs and code)
> parsers Build the parsers
> release Build the release distributions
> setCompilerProperties Set the ant variables which identify the compiler
> classpaths. Remove the autosetProps logic when this target becomes mandatory.
> setInitialProperties Set the initial properties for this build script.
> This duplicates the property setting block in setCompilerProperties. Once we
> make setCompilerProperties mandatory, this target should be removed.
> state Build SanityState.java
> Default target: buildsource
> That does not seem like the list of public targets to me. This JIRA can be
> used as a place to anchor work which we do on improving the user
> documentation for our top level build script.
> I propose to make some changes to build.xml. Others are welcome to pile on.
> Here's how it works:
> 1) The public targets are the ones which have "description" attributes.
> 2) So to make a target public, fill in a "description" attribute for it.
> 3) And to hide a target, move its "description" text into an introductory
> comment bracketed by "<!--" and "-->"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.