Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

PROPOSAL: The following directory structures should be supported by NMaven command-line builds:

1. Typical Maven single-module structure, single pom with separate source trees for code and tests.

2. Typical Maven multi-module structure, parent pom with modules, subdirectories for modules, each module containing source and tests as in 1.

The Visual Studio Addin is only required to support the following layouts (which are also supported at the command line):

3. Visual Studio flat structure with .sln, .csproj and source code all in the same directory. Source code is not typically put in a subdirectory under the module, but it might be. If present, NUnit test code should be in a directory named "Tests", which is not packaged in the main artifact.

4. Visual Studio multi-module solution with a parent pom containing modules, then a subdirectory for each module, which equates to a VS "project". The .sln file sits beside the parent pom, and each subdirectory contains a .csproj, pom.xml and source code. Source code is not typically put in a subdirectory under the module, but it might be. NUnit test code may be within each module in a directory named "Tests", or it may be in a separate module.

Note: The Visual Studio nested structure with a .sln and .vbproj file at the top, then directories for additional modules beneath, each containing a .vbproj file is NOT RECOMMENDED. Limited support is available in the Addin for importing projects nested only ONE level down.

TODO: ADO .NET project structure

TODO: ASP .NET project structure (may involve links outside the project to web content?)

TODO: Check in some example projects. (http://svn.apache.org/repos/asf/maven/sandbox ?)

NOTE: In the examples, .vbproj and .csproj are interchangeable, each structure should work for any language, and a solution may be composed of different modules using different languages.

  • No labels