Am 08/21/16 um 17:19 schrieb Karl Heinz Marbaise: > So using a new POM Model version (4.1.0) and now I will deploy it to > Maven Central. This means that only Maven 3.4+ can read and handle that. > Older Maven versions will simply fail with this new version.
Those older Maven versions would silently produce different effective dependency managements when not using 3.4+ with those POMs. That's what needs to be avoided. Introducing a new include scope, older Maven versions would not support that as well and would hopefully fail due to missing dependencies in the dependency management. I would like to be sure they do fail - by incrementing the model version. > > Furthermore If I would like to use Model version 4.1.0 now in my project > I can't change it alone. I can not change only my project (a multi > module build) and inherit from another POM's (corporate pom) with > version 4.0.0. This will force me to change the whole inheritance > hierachie chain to use Model version 4.1.0...and forces me to create a > new hierachie of corporate pom's which are using Model Version 4.1.0 and > in consequence I have to duplicate informations/work and maintanence > which I will never do (independent of the advantages it might > have)..neither other people in particular in companies will do so...(I > have strong doubts about that). That's a question of upgrading to 4.1.0 or keeping 4.0.0. If you do not need any of the 4.1.0 features, just keep things at 4.0.0. It's for projects needing those features. I would not maintain 4.0.0 and 4.1.0 models in parallel. Why would someone want to do that? Upgrading to 4.1.0 means giving up on anything < 3.4. You do that for a reason or you keep things the way they are. > > I'm not sure about the suggestion of Christian using > release:prepare-with-pom will that not result in a situation like this: > Using the Model version 4.1.0 to handle some issue correct but deploying > a pom with Model version 4.0.0 which can't handle that? All consumers > would consume the model version 4.0.0 pom and fail in some situations ? Of course not. The effective dependency management will be deployed. No matter how that has been build. Import or include is invisible in those flattened POMs. > Introducing an new `include` scope might be solution which might be > discusses more in detail... a: Revert the changes to the import scope making it incompatible with older Maven versions. b: Introduce model version 4.1.0 (current master). c: Introduce the include scope and keep fingers crossed when used with older Maven versions (had done that months ago but was asked to not introduce a new scope). d: Do nothing! Oh wait. That's not an option anymore. Remove my commit bit so a situation like this will never happen again and revert the changes yourself ;-). Damn it. Someone tell that damn idiot (<- me ;-)) what he should do now. If no one says anything, he will not do anything and we get model version 4.1.0 in the next release. Regards, -- Christian --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org