Compiling Projects

NMaven supports compiling of exe, winexe, library, and netmodule projects.

Target Type Packaging
exe dotnet:exe
winexe dotnet:winexe
library dotnet:library
netmodule dotnet:module

For example, the POM for compiling a library would look like:

<?xml version="1.0" encoding="UTF-8"?>

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>NMaven.Its</groupId>
  <artifactId>NMaven.It.It0000</artifactId>
  <packaging>dotnet:library</packaging>
  <version>1.0.0</version>
  <name>NMaven.It.It0000</name>
  <build>
    <sourceDirectory>.</sourceDirectory>
    <testSourceDirectory>Test</testSourceDirectory>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.dotnet.plugins</groupId>
        <artifactId>maven-dotnet-compiler-plugin</artifactId>
        <extensions>true</extensions>
      </plugin>
    </plugins>
  </build>
</project>

Note the extensions flag - this is required to make available the dotnet:* packaging types.

Compiling with Mono

If you are using Mono on Windows, then set the vendor tag. If you are compiling on a non-Windows platform, then you do not need to set the tag.

<plugin>
  <groupId>org.apache.maven.dotnet.plugins</groupId>
  <artifactId>maven-dotnet-compiler-plugin</artifactId>
  <extensions>true</extensions>
  <configuration>
    <vendor>NOVELL</vendor>
  </configuration>
</plugin>