Maven model 4.1.0 allows non-pom packaging for aggregators (original) (raw)
Affected version
4.0.0-rc4
Bug description
Consider simple project, parent and child
pom.xml:
4.1.0 org.example parent 1/version> jar child
child/pom.xml
4.1.0 org.example 1 child</artifactId
Please notice, that child/pom.xml do not declare parent.
lets consider scenarios.
- Model 4.0.0, tag: Build fails with: 'packaging' with value 'jar' is invalid. Aggregator projects require 'pom' as packaging. This is good old behaviour
- Model 4.1.0, tag: Again, build fails with: 'packaging' with value 'jar' is invalid. Aggregator projects require 'pom' as packaging. This is good old behaviour
- Model 4.1.0, tag: Build passes. This looks a bit strange for me and contradicts with scenario Use Eclipse/Sisu 0.0.0.M2 milestone #2. Also, in this scenario src/main/java is also being compiled. We can fail the build, e.g. creating
src/main/java/Main.javawith syntax error
So, the issue is: In model 4.1.0 now it is possible to build jar from an aggregator project. OR, in another words, aggregator projects can have any packaging, not only"pom" if they use tag.
Is it an expected behavoir? If yes, we will fix our expectations in IDEA.
PS: For the record:
Intellij failing test:
https://github.com/JetBrains/intellij-community/blob/0a34a44dc81e58ba9788b41a3b3e279c38648700/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/InvalidProjectImportingTest.kt#L383