Maven Archetype POM feedback

I have a few comments/questions about the POM generated by the archetype.

  1. There is no need to include the maven-compiler-plugin in the POM just to set the source and target versions. That can be accomplished by setting the properties maven.compiler.source and maven.compiler.target like this:

    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>

  2. The generate files execution of the maven-antrun-plugin is using a NAME property that is not defined in the POM. This causes IntelliJ to flag this as an error even though it isn’t (which is annoying). Maybe you can set some default value in the POM properties (to eliminate the IDE marking it as an error) and override it with the value is coming from src/main/config/directives?

  3. Why are you adding Maven Central to the list of repositories and plugin repositories (it gets added automatically if “central” is not already defined)?

  4. The whole list of classes thing is a little cumbersome. It seems like these could be computed via class scanning and introspection.

  5. Your version numbering scheme does not conform to the normal Maven/semantic versioning standards. I understand what you are trying to do but it would be better if you adopted the normal Maven and semantic version standards (e.g., 1.0.1, 1.0.2, 1.1.0, etc). Not sure what impact this might have on Snappack updating but there are well tried and tested mechanisms in Maven for automatically managing version number changes that can be leveraged. In an ideal world, we could deploy snapshot versions during development and then use the maven-release-plugin to cut release versions.

Hope this helps,
Robert