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.

  1. 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
  2. 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
  3. 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.java with 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