My favorites | Sign in
Project Logo
                
Search
for
Updated Sep 18, 2007 by nick.hems
NantVendorScript  

Vendor Nant Scripts

This is a set of nant scripts to automate building & bringing in dlls from 3rdParty vendor projects.

Checkout

The following will checkout the vendors script.

svn checkout http://protons.googlecode.com/svn/vendors vendors

(For me) svn checkout https://protons.googlecode.com/svn/vendors vendors

At a Glance

To try this out, checkout the code, and run:

cd buildfiles
cp disabled/*.build .
cd ..
nant svn-checkout #if you dont have the cert for the server (only happens with https) you will need to run the command that the script outputs manually & accept the cert (this is a unavoidable subversion problem).
nant clean-debug-and-release

Done!

Go have a few coffees, your builds will be in lib/<framework>/<target>

Script File Layout

This is the layout:

  • /
    • common.xml (common stuff)
    • default.build (the build script)
    • buildfiles
      • disabled - A few build files that I have created already, for castle, nhibernate, mysql.data, and protons
      • templates - template files for creation of new vendor build scripts. try nant generate-vendor-script which will setup a simple script. it will error & request you fill out a few variables (vendor.name, vendor.version) and vendor.svn if you want to checkout from svn.
    • src/ This is where the vendor sources go. your custom build script will need to call relevant target & set properties for a sane 'debug' and 'release' target. also it needs to define a fileset for exporting to our output library directory.

Src Directory Layout

the src directory needs the following structure: (i.e. for castle from svn trunk)

  • src
    • castle
      • trunk

Build File Layout

PROJECT-properties.xml

This file defines a few needed properties

version (i.e. trunk)

dir (src dir)

build.dir (build output directory for the vendor)

build.file (the build file to call)

svn.dir (the subversion checkout dir, defaults to ${dir})

svn.url (the repository url

libfiles: is a fileset with an id of 'libfiles'. The common.xml copy task uses this to export the DLL files that you need from this project. just populate with relevant files. use the commented out format to indclude .pdb & .xml files as well)

PROJECT.build

(This file can be numbered to order execution (check the 1nhibernatecopytocastle.build file))

This file defines 2 tasks: debug release

if you are writing a new script, it is up to you to decide what properties to pass to the nant build script.


Sign in to add a comment
Hosted by Google Code