Possible Change in NMaven Directory Structure to Support IDEs

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Possible Change in NMaven Directory Structure to Support IDEs

Shane Isbell
As part of the IDE integration, I have reached a point in needing to decide
whether to change the directory structure that NMaven requires; I would like
to solicit some feedback. Currently, we use directory conventions, such as
src/main/csharp, src/test/csharp, src/main/config.  Maintaining the existing
structure will be incompatible with other add-ins and functionality like
resource generation, etc. within SharpDevelop (SD) and VS. This means that
we would need to duplicate existing IDE functionality for both SD and VS,
which is a lot of work. On the minus side, VS endorses a number of worst
practices such as dumping its artifacts into the main directory (including
generated resources). So I am at the cross-roads of 1) supporting best
practices (from a build perspective); but limiting the functionality of the
IDE, which makes it harder on the developer; or 2) flattening out the
directory structure, allowing easy IDE integration; but again accepting
certain worst practices.

Personally, I am leaning - ever so slightly - toward (2) because I think
that without IDE integration, NMaven will be of less use to most MS
developers and that with option (2) we still leverage all the dependency
management and build lifecycle, which are the most important parts. (1) is
still possible, its just the level of effort, and maintenance, is much
higher.

Shane
Reply | Threaded
Open this post in threaded view
|

Re: Possible Change in NMaven Directory Structure to Support IDEs

Shane Isbell
Just some updates. I have been investigating SharpDevelop and it looks as
though a simple patch would provide a way to support the NMaven directory
structure within the IDE.  I am also impressed with the add-in framework
for modifying the SD IDE: it looks very easy.

Shane


On 3/12/07, Shane Isbell <[hidden email]> wrote:

>
> As part of the IDE integration, I have reached a point in needing to
> decide whether to change the directory structure that NMaven requires; I
> would like to solicit some feedback. Currently, we use directory
> conventions, such as src/main/csharp, src/test/csharp, src/main/config.
> Maintaining the existing structure will be incompatible with other add-ins
> and functionality like resource generation, etc. within SharpDevelop
> (SD) and VS. This means that we would need to duplicate existing IDE
> functionality for both SD and VS, which is a lot of work. On the minus side,
> VS endorses a number of worst practices such as dumping its artifacts into
> the main directory (including generated resources). So I am at the
> cross-roads of 1) supporting best practices (from a build perspective); but
> limiting the functionality of the IDE, which makes it harder on the
> developer; or 2) flattening out the directory structure, allowing easy IDE
> integration; but again accepting certain worst practices.
>
> Personally, I am leaning - ever so slightly - toward (2) because I think
> that without IDE integration, NMaven will be of less use to most MS
> developers and that with option (2) we still leverage all the dependency
> management and build lifecycle, which are the most important parts. (1) is
> still possible, its just the level of effort, and maintenance, is much
> higher.
>
> Shane
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Possible Change in NMaven Directory Structure to Support IDEs

brettporter
Administrator
In reply to this post by Shane Isbell
What about having the NMaven defaults, (for the CLI purists :), be  
the current set, but having the IDE integration, (for the  
heathens :), easily create the necessary pom settings for the  
alternate structure?

On 12/03/2007, at 10:24 AM, Shane Isbell wrote:

> As part of the IDE integration, I have reached a point in needing  
> to decide
> whether to change the directory structure that NMaven requires; I  
> would like
> to solicit some feedback. Currently, we use directory conventions,  
> such as
> src/main/csharp, src/test/csharp, src/main/config.  Maintaining the  
> existing
> structure will be incompatible with other add-ins and functionality  
> like
> resource generation, etc. within SharpDevelop (SD) and VS. This  
> means that
> we would need to duplicate existing IDE functionality for both SD  
> and VS,
> which is a lot of work. On the minus side, VS endorses a number of  
> worst
> practices such as dumping its artifacts into the main directory  
> (including
> generated resources). So I am at the cross-roads of 1) supporting best
> practices (from a build perspective); but limiting the  
> functionality of the
> IDE, which makes it harder on the developer; or 2) flattening out the
> directory structure, allowing easy IDE integration; but again  
> accepting
> certain worst practices.
>
> Personally, I am leaning - ever so slightly - toward (2) because I  
> think
> that without IDE integration, NMaven will be of less use to most MS
> developers and that with option (2) we still leverage all the  
> dependency
> management and build lifecycle, which are the most important parts.  
> (1) is
> still possible, its just the level of effort, and maintenance, is much
> higher.
>
> Shane
Reply | Threaded
Open this post in threaded view
|

Re: Possible Change in NMaven Directory Structure to Support IDEs

Shane Isbell
This makes sense: it needn't be an either-or-situation. I'll expand out
support for fully configuring the testSourceDirectory and the
sourceDirectory parameters (there are a few hard-coded places where this
will break). Also the resgen plugin will need some work to support alternate
resource directories, as well as making the project generators configurable.
These changes need to occur anyway.

Shane

On 3/13/07, Brett Porter <[hidden email]> wrote:

>
> What about having the NMaven defaults, (for the CLI purists :), be
> the current set, but having the IDE integration, (for the
> heathens :), easily create the necessary pom settings for the
> alternate structure?
>
> On 12/03/2007, at 10:24 AM, Shane Isbell wrote:
>
> > As part of the IDE integration, I have reached a point in needing
> > to decide
> > whether to change the directory structure that NMaven requires; I
> > would like
> > to solicit some feedback. Currently, we use directory conventions,
> > such as
> > src/main/csharp, src/test/csharp, src/main/config.  Maintaining the
> > existing
> > structure will be incompatible with other add-ins and functionality
> > like
> > resource generation, etc. within SharpDevelop (SD) and VS. This
> > means that
> > we would need to duplicate existing IDE functionality for both SD
> > and VS,
> > which is a lot of work. On the minus side, VS endorses a number of
> > worst
> > practices such as dumping its artifacts into the main directory
> > (including
> > generated resources). So I am at the cross-roads of 1) supporting best
> > practices (from a build perspective); but limiting the
> > functionality of the
> > IDE, which makes it harder on the developer; or 2) flattening out the
> > directory structure, allowing easy IDE integration; but again
> > accepting
> > certain worst practices.
> >
> > Personally, I am leaning - ever so slightly - toward (2) because I
> > think
> > that without IDE integration, NMaven will be of less use to most MS
> > developers and that with option (2) we still leverage all the
> > dependency
> > management and build lifecycle, which are the most important parts.
> > (1) is
> > still possible, its just the level of effort, and maintenance, is much
> > higher.
> >
> > Shane
>