Merged over the SI_IDE Branch to the Trunk: Important Fixes
I just finished merging the SI_IDE branch over to the trunk. Most of the
changes revolve around 3 issues:
1) IDE Support:
a) plugins for creating of cs project files: The plugins that generate the
csproject files only work under .NET 2.0 on MS/Windows. My plan is to change
the implementation to include an intermediate format that translates between
pom <->csproject, pom<->vb project and thus csproj<->vb project. The
implementation will work with both Mono and MS.
b) prototyping the IDE to MavenEmbedder implementation:
c) relaxing the NMaven directory structure for projects. The structure is
now fully configurable so that NMaven can build with whatever directory
structure that the IDE requires.
2) fixes problems dealing with the nmaven-settings.xml file: There were a
lot of issues that showed up in this area. The first sign of the problem was
when Wendy tried to do an initial build on NMaven and it failed on her
machine. And then I found http://jira.codehaus.org/browse/NMAVEN-4, which
dealt with NMaven doing xsd bindings under Mono, when I explcitly told it
to generate under MS. A number of other problems also showed up. Most of
these issues would not be encountered by someone just using MS or just using
Mono, but installing both instances on a single machine caused weird
behavior. This is now fixed so the developer can easily switch back and
forth between Mono, MS and DotGNU by changing their nmaven-settings file.
Also issues such as needing to include SDK exe in the Path are solved: the
nmaven-settings file now contains a reference to the SDK install root.
3) restructuring the build and directories: The changes involved not mixing
the .NET projects and Java projects in the same directory. .NET projects are
now all located under the assemblies directory with standard naming
Over the next couple of days, I'll update the site documentation. The next
area that I am going to hit is the implementation mentioned under (1c). This
will give us both archetype support and the setup of multiple project
formats. Working out the bidirectional translation of the pom <-> csproj is
also critical to hiding the details of pom updates from the IDE developer.