Re: [Beanshell-users] Re: Build file for BeanShel

Brian Hawkins <brianhks-BYHubErIwDGZvNlLnfxc/[email protected]> Tue, 01 Feb 2005 14:27:29 -0700
Newsgroups gmane.comp.java.beanshell.devel,gmane.comp.java.beanshell.user
Message-ID <[email protected]>
Yes I've looked at the "cpptasks" plugin.  They tried to do to much and 
in the end it is to restrictive.  For example I need to force include a 
header file and also set my warnings to high and warnings as errors.  Oh 
yeah and I need it to compile using CodeWarrior.

Right now I have a build script at work that works on Windows and on 
Linux.  And this is what it does
Builds a Java program.
Copies XSD files from various locations into a schema directory.
Runs the java program against each XSD file.  This java program 
generates C++ code based on the XSD.
The script then compiles the C++ code into separate binaries, one for 
each xsd file.
It then builds a unit test program in C++
It then takes the output from the unit test (xml files) and validates 
them against the xsd files using MSV.
Then the results of the validation are uploaded to a test case database.

And all of that is done right in the build script.  And CPMake is smart 
enough to know if some file changes in that chain of task it rebuilds 
only those thing that need to be rebuilt.

And very soon this code will be ported to Netware, Solaris and AIX and I 
expect my problems to be with the code not the build system.

Brian

Shankar Unni wrote:

>>2. You cannot build C++ projects with Ant.  I know there are 
>>people who have tried and I've seen the plugins. To build a 
>>C++ project you need to iterate through a list of files 
>>performing an operation on each one.  I have yet to see Ant 
>>to such a thing.  Yes I could write a plugin to do this and I 
>>could also alter the trunk of my car to haul dirt, but what I 
>>really need is a truck.
>>3. Ant builds are based on tasks and not file dependencies.  
>>Using file dependencies is much more powerful.  If the 
>>project is up to date and you try to build it, it should do nothing.
>>    
>>
>
>I use the "cpptasks" extension from
>https://sourceforge.net/projects/ant-contrib/. It's a bit of a beast to
>understand, but it's pretty powerful. 
>
>We have a fairly involved set of files to compile (mixed c/c++, on windows,
>linux, solaris and aix, in many static and shared libraries, and
>executables), and it does all this just fine, with the proper dependency
>analysis to boot. (I.e. if I touch a header file, it manages to rebuild
>exactly all the files that include it directly or indirectly). 
>
>More importantly, if I edit the build file and change an option setting, it
>will recompile everything that used that option setting. It doesn't use the
>file mod time of the build file for this - it actually saves the options in
>the dependency list, and does a fine-grained comparison.
>
>Not to denigrate what you've done - let a thousand flowers bloom, and all
>that.. 
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
>Tool for open source databases. Create drag-&-drop reports. Save time
>by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
>Download a FREE copy at http://www.intelliview.com/go/osdn_nl
>_______________________________________________
>Beanshell-users mailing list
>Beanshell-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
>https://lists.sourceforge.net/lists/listinfo/beanshell-users
>
>  
>


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl