Apache NPanday 1.4.0-incubating released! .NET for Maven

Update: Allthough I still use it (version 1.5.0, not released) NPanday has been retired from Apache Incubator.


It has been a while since the last release now. 1.2.1 was released at Codeplex in September 2010. Late last year we moved the project over to Apache, where we now wait to grow from incubation top-level Apache project.

Now we are pleased to announce our first official release of NPanday under the Apache umbrella!

Info: This post supersedes my post about the withdrawn 1.3-incubating release.

What is NPanday?

NPanday is a tool for build and release management. It brings Maven to .NET (and Mono). It offers a set of plugins to build and test projects, and it defines all the necessary packaging types for deploying and resolving .NET artifacts.

Apache Maven comes with a great infrastructure for dependency management, artifact transport, artifact repositories, release flows with scm-integration, and much more. If you don’t know Maven, go read here. Maven is great!

There is also a Visual Studio 2005/2008/2010 Add-in for English Visual Studio installations.

Why NPanday, now there is NuGet

Wrong question. Competition is great. Sad though, that at least some of the originators for NuGet didn’t even know about Maven and NPanday. NPanday has been around long before NuGet was initialized.

And Maven is an ecosystem grown over almost 10 years. It has much more to offer than auto-download of dependencies. Still I think we need to integrate the dependency-resolving and deployment part with NuGet and NuGet-gallery (See future plans).

What is new in this release?

NPanday now supports .NET 4.0 and Visual Studio 2010. There has also been major internal improvements. The PAB and UAC directories where removed. Now NPanday uses a clean maven local repository. This also removed the necessity for custom additions to the install and deploy phases – which where duplications of the corresponding maven plugins.

In total we resolved 63 issues including many general fixes. Fixes I worked on:

  • NPanday ran all tools from %PATH% instead of the configured Framework. Now the complicated %PATH% setup is not necessary anymore, because NPanday detects installed SDKs and uses the binaries with absolute paths. You’ll only need to have NUnit on the PATH for executing tests.

    This also included:

    • Better detection of installed SDKs.
    • Better handling for executing binaries and projects that contain whitespaces in their path.
  • The compile plug-in did not bind concrete versions of other NPanday plugins, when registering them in the lifecycles. In many cases it was necessary to specify all pug-in’s versions explicitly in a project’s pom. But now, all further plugins are bound to the current version of the compile plug-in in use.
  • Improved Documentation
  • Better committer experience
  • MVN 3-Support
  • Targeting .NET 3.5 without having Compact Framework installed
  • Better exceptions (exposing root causes many places they previously where hidden, removed silent catches)

For more, read the full release notes.

What are the future plans?

On short notice we will release 1.4.1-incubating, containing 14 more issues.

At the same time we are working on version 2.0, which is a huge internal change. NPanday uses a internal RDF database where it keeps additional information for artifacts and depsendencies. This is obsolete, but lots of work to remove.

We also want to lead NPanday to more .NET-like conventions for directory structures i.e., while still maintaining the Maven-influenced layout.  Of course we also try to improve stability, ease of use and documentation.

My agenda for NPanday:

We are 4-5 active committers from which 2 work full-time on NPanday as of today. We would really like to get more committers involved. Find out on how to develop NPanday in the Get Involved Guide.

Where do I get it?

You’ll find everything you need here: NPanday – NPanday Overview

Downloads: NPanday – Download

Current Docs: NPanday – Documentation

7 thoughts on “Apache NPanday 1.4.0-incubating released! .NET for Maven

  1. Hi, I think, it’s a great project! Please, make this project more visible, we are using Maven for Java and we searched for “.net dependency management”. All we found was some alpha projects at codplex (refix and crude have around 30 downloads). After an extensive search we have found NuGet and OpenWrap. I have found this project completely accidentally!!! It would be really useful to get least some google hits to npanday on the first page….

  2. Hi,
    I am assessing the use of npanday for my company.
    As I understood from the doc, we have to deploy a local maven repo to obtain the npanday maven plugin.
    But from a CI or a company point of view, we would need a remote repository from where download all those npanday dependencies to our local maven repo (and NOT to install it with a .msi installer !)
    Did I miss something?
    Or there is not yet a maven standard way to download this plugin?
    Thanks for clarification

  3. Thank you Lars i am using now the 1.5.0-incubating-SNAPSHOT but still i have some issue that i wish if you can help, my problem is that i cannot compile my .net project from jenkins, in the other hand i got some error when i try to run the Nunit project. so if you have a document of a hint this will be great.
    thank you.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s