« Return to Thread: Directory structure conventions

Re: Directory structure conventions

by brettporter :: Rate this Message:

Reply to Author | View in Thread


On 26/09/2008, at 1:05 PM, Wendy Smoak wrote:

> 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?

If it works equally well under both structures for Visual Studio, I  
don't believe it should be supported. It is a very unnatural fit for a  
Maven project - the additional complexity would not be of any benefit.

>
> 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.

are these the src/main/csharp | src/test/csharp (or other language)  
equivalents?

>
>
> 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.

+1

Given this is probably the near-ubiquitous set up, should these be the  
default, and (1) and (2) be supported? (as would any configuration of  
alternate source / test paths, really - like in Java). From what I've  
seen of trunk this seems to be the case already there.

Cheers,
Brett

--
Brett Porter
brett@...
http://blogs.exist.com/bporter/

 « Return to Thread: Directory structure conventions