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
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/

Reply via email to