Coming back to this with some revisions... comments appreciated, particularly in the area of the "nested" project-within-project structure.
This is what you get if you leave the "Create directory for solution" checkbox un-checked when creating a solution in Visual Studio, and then add another project to it. You end up with source code in the top directory as well as in the sub-directory. What 'type' do you put in the top-level pom? If it's 'exe' then you can't have <modules>. If it's 'pom' then you can't compile the source and build an artifact. Is this something NMaven should attempt to support? To what extent? ... and here's the new version: http://docs.codehaus.org/display/MAVENUSER/NMaven+Project+Directory+Structure The following directory structures should be supported by NMaven 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. 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. See note below about "nested" projects. The "flat" structure is only supported as a single project with no sub-modules. 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: Some versions of NMaven have limited support for a "nested" project-within-project structure with source code in the parent directory. This structure will have a .sln and .vbproj file at the top, then directories for additional modules beneath, each containing a .vbproj file. This structure is NOT RECOMMENDED and not likely to be fully supported by Maven tools such as the Release plugin. TODO: ADO .NET project structure TODO: ASP .NET project structure (may involve links outside the project to web content?) 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. Thanks, -- Wendy
