I wanted to break this off from the IT thread, where Brett had raised the issue of releasing plugins and core separately. I wanted to point out a particular nuance of NMaven. There is a concept of core components, these contains things like the CompilerContext, the AssemblyInfoContext and various interfaces. Like Maven, there are, of course, plugins, the compiler plugin being one example.
But there is also a concept of extensions (or annotated implementation classes), in which the contexts from the core will delegate (IoC) to extensions like the ClassCompiler interface implementations for compiling say C# or VB.NET. There are also other extensions for generating the assembly info file based on the language and I expect others to emerge. What this means is that there may be a version both of core artifacts and of the compiler plugin, and yet the developer is still able to modify the behavior of the current compilers or to add new ones, without needing the re-release the compiler plugin or core components. These extensions sit right in the middle of the components and plugins. These extensions are targeted toward third-party framework developers and make it easier to add support for new languages. I'm wondering whether the extensions need to be broken apart and released separately as well. Shane
