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

Reply via email to