Hello All,
I've been working with NAnt for about a three months now and along the way
I've learned a lot, but I've yet to figure out the best way to check build
dependencies for external applications. In a perfect world, I would be able
to develop an application in a single language, but I work with a project
that needs to compile source code from languages such as C++ and Java. To
accomplish this, I use the exec task with build tools such as make, javac,
jar, g++, libtool etc... However, the build is far from efficient, because
I have situations where targets have multiple source file dependencies. The
solution that I came up with was to use:
unless="${file::up-to-date(src,target)}"
in the target element to determine if a file needs to be rebuilt. This
works pretty well when there is a one to one dependency, but does not help
much in situations where I have targets that have multiple dependencies.
For example, I build a class file from A.java that depends on B.java, C.java
and D.java. In this case I need to check if all the dependencies are
up-to-date. I was considering writing a function that takes a list of
dependency files and then check for modifications against the target. I was
also thinking of just writing a target that checks all of the dependencies
and then sets a property if a compile needs to happen. Anyway, before I
made a decision I thought I would ask the community for suggestions.
Cheers.
--
Aquil H. Abdullah
[EMAIL PROTECTED]
-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users