|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
Need reviewers: update langtools/build.xml1. Simplify build macros Currently, the langtools build.xml builds a number of components (javac, javadoc, javah, etc) using a number of macros (build-tool, build-jar, build-classes, etc). Currently the macros are such that build-tool invokes build-jar which in turn builds build-classes.. This is convenient for the use site, since each top level target only needs to invoke a single macro to perform its work. However, it is very inconvenient for the macro declarations since build-tool has to support all the possible parameters for build-jar, and both have to support all the possible parameters for build-classes. Change it so that the macros do not invoke each other but each presumes the necessary predecessors have been called. This greatly simplifies the macro declarations, and easily compensates for the slightly more verbose invocations at the top level targets. Going forward, it makes it much simpler to add new attributes as needed to the various macros. As a side effect, it also reduces the complexity of any error messages reported by Ant, which does not handle errors from nested macro invocations particularly gracefully. 2. Reduce javac invocations in build-classes The current build-classes macro invokes javac twice, once for the generated source, and once for the main source for the tool. Despite its name, the <javac> srcdir attribute defines a "path-like structure", meaning that you can provide multiple root directories in which to locate the source to be compiled. Using this feature, you can reduce the two compilations into a single compilation. 3. Reduce javac-invocations in build-all-classes Originally, the rules for building the various langtools tools were set up to allow different options (-Xlint, -Werror, etc) for different tools. Over time, the tools have been cleaned up to allow uniform compilation. While it is still appropriate for the developer targets to compile the tools individually, the target invoked by the full JDK build can simply compile all the tools together in a single compilation. |
|
|
Re: Need reviewers: update langtools/build.xmlOoops,
I omitted reference to the webrev, here: http://cr.openjdk.java.net/~jjg/6898585-lt.build/ (Thanks to David for catching that.) -- Jon Jonathan Gibbons wrote: > > 1. Simplify build macros > > Currently, the langtools build.xml builds a number of components (javac, > javadoc, javah, etc) using a number of macros (build-tool, build-jar, > build-classes, etc). Currently the macros are such that build-tool > invokes > build-jar which in turn builds build-classes.. This is convenient for > the use site, since each top level target only needs to invoke a single > macro to perform its work. However, it is very inconvenient for the > macro declarations since build-tool has to support all the possible > parameters for build-jar, and both have to support all the possible > parameters for build-classes. > > Change it so that the macros do not invoke each other but each presumes > the necessary predecessors have been called. This greatly simplifies > the macro declarations, and easily compensates for the slightly more > verbose invocations at the top level targets. Going forward, it makes > it much simpler to add new attributes as needed to the various macros. > > As a side effect, it also reduces the complexity of any error messages > reported by Ant, which does not handle errors from nested macro > invocations particularly gracefully. > > 2. Reduce javac invocations in build-classes > > The current build-classes macro invokes javac twice, once for the > generated source, and once for the main source for the tool. Despite > its name, the <javac> srcdir attribute defines a "path-like structure", > meaning that you can provide multiple root directories in which to locate > the source to be compiled. Using this feature, you can reduce the two > compilations into a single compilation. > > 3. Reduce javac-invocations in build-all-classes > > Originally, the rules for building the various langtools tools were > set up to allow different options (-Xlint, -Werror, etc) for different > tools. Over time, the tools have been cleaned up to allow uniform > compilation. While it is still appropriate for the developer targets > to compile the tools individually, the target invoked by the full JDK > build can simply compile all the tools together in a single compilation. |
| Free embeddable forum powered by Nabble | Forum Help |