Hi,
It's been about a week since I added the dependency checking stuff, and
I think it's now sufficiently stable to go in the CVS head. I can build
everything except fortress (deadlocked) by typing 'ant' in the
component's directory. No setting of ant.properties files required
unless you have a nonstandard layout, or want to build Baxter.
Issues that some people raised were resolved as follows:
- Added a ${message} param for printing custom messages on errors
(Paul)
- Moved the sourcing of ${user.home}/.ant.properties to end (Peter)
- Got instrument-client building by moving the taskdef after the
compile (Berin)
- Changed ${base.path} from /opt to ${basedir}/../.. (Paul)
So could people please try it, and vote here? Appended is an overview
for people who don't know what I'm talking about :)
thanks,
--Jeff
Excalibur Dependency Checking
-----------------------------
Excalibur has recently been broken up from one monolithic jar into 34
fine-grained 'components'. Components usually require other components
to build. Thus in order to build any component, you need to know the
full dependency tree, start from the most primitive and work your way
up. This is very tedious.
The proposed solution is a dependency checking system that will
recursively build a component's dependencies. All the logic for doing
the checks is kept in a centralized file, depchecker.xml. This also
contains a library of reusable dependency checks. Each project specifies
it's dependencies like this:
<target name="dependencies" description="Check dependencies">
<ant antfile="${depchecker.prefix}/depchecker.xml" target="checkJUnit"/>
<ant antfile="${depchecker.prefix}/depchecker.xml" target="checkCollections"/>
<ant antfile="${depchecker.prefix}/depchecker.xml" target="checkConcurrent"/>
</target>
At the end of that target's execution, the dep checking system
guarantees that the Collections and Concurrent components have correctly
built, and that the JUnit classes are present.
The files comprising this system are implemented in a CVS branch called
'depchecking'. To try it, run 'source depchecking.sh' in the Excalibur
root or copy and paste the command into WinCVS.
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>