Building NPanday

Building NPanday is quite simple and follows the typical convention for a Maven project.

Pre-requisites

Since NPanday is built using NPanday, you must fulfil all the prerequisites documented in the Installation Guide. NPanday trunk usually builds against one of the latest releases. If you want

NPanday builds using .NET 2.0. So, if you do not have Visual Studio 2005 installed, you must install .NET SDK 2.0 or Windows SDK 6.1 (includes .NET SDK 2.0) manually. This is, because neither VS 2008 or VS 2010 include the SDK for .NET 2.0. Find the download locations in the Installation Guide.

NUnit-Binaries must be on the PATH environment variable.

Checking out the Source Code

You can check out the latest source code from https://svn.apache.org/repos/asf/incubator/npanday/trunk. You can also download a previous version as an archive from the web site, or from check it out from the subdirectory of https://svn.apache.org/repos/asf/incubator/npanday/tags.

For example:

svn co https://svn.apache.org/repos/asf/incubator/npanday/trunk npanday

Building All with Maven

Everything in the distribution, including the Visual Studio add-in, is built using the following command:

mvn clean install

Note: On Windows Vista and Windows 7, this presently needs to be run as an administrator to build successfully, as it installs 3 libraries into the GAC.

Once this command has completed, you can proceed to use the Maven plugins immediately. To install the Visual Studio Add-in, you will need to still run the mvn npanday.plugin:maven-vsinstaller-plugin:install command as described in the Installation Guide.

Building the Visual Studio Add-in with Visual Studio / MSBuild

If you just wish to work on the Visual Studio Add-in, it can be loaded into Visual Studio and built there. More information is available in Debugging the Visual Studio Add-in.

Running Integration Tests

The Maven command line plugins feature a series of integration tests to ensure that everything is working as expected. They can be obtained by checking out the source code at https://svn.apache.org/repos/asf/incubator/npanday/npanday-its/trunk.

For example:

svn co https://svn.apache.org/repos/asf/incubator/npanday/npanday-its/trunk npanday-its

From within that directory, you can run it against the latest available version of NPanday (likely the one you have just built above) using the following command:

mvn test -Prun-its

NOTE: In order to successfully run the integration tests, ildasm needs to be on the PATH. (this is to be fixed NPANDAY-393)

The command will indicate which version of NPanday is being used, and which tests pass and fail. It will also indicate which version of .NET SDK is installed and used by the tests - for example, if .NET 3.5 SDK is not available, tests that depend on it will be skipped.

You can also run them against a specific previous version of NPanday (which will be downloaded from the repository if needed):

mvn test -Prun-its -Dnpanday.version=1.4.0-incubating

When contributing fixes for issues in the Maven plugins, it is appropriate to write an integration test along with it. They are written in Java, using JUnit, and contain a sample project against which mvn is run against, and the the expected results are then verified. Existing integration tests can be used as a guide.

Building NPanday and executing the ITs

You can also build the source code and execute the ITs in one command. But first you have to install the ITs in your local repository using the following command:

mvn clean install

After you have installed the ITs locally, you can now build the source code and execute the ITs by using the following command:

mvn clean install -PintegrationTests

Generating NPanday's documentation locally

NPanday documentation is generated from APT-files using the Maven Doxia Tools. Some

The documentation site and PDF can be generated using the following command within the site directory of the NPanday trunk:

mvn site

Open target/site/index.html in your browser to view the documentation.