On 25/09/19 10:05, Misagh Moayyed wrote:
> Hello all,
>
> I have proposed a pull request [1] to enable the maven wrapper plugin for 
> Syncope. This is a plugin that allows one to build and run Syncope from 
> source without having to install Maven locally. It's able to download and 
> configure the appropriate maven version automatically, and then proceeds as 
> if it was locally installed and available.
>
> There are a number of advantages to using the wrapper:
>
> - Contributors to Syncope do not have to have Maven downloaded/installed 
> locally, though nothing would prevent them from doing so. 
> - This should also prevent conflicts by allowing usage a specific install of 
> maven for Syncope, in case one might need different maven versions on their 
> system for different projects, etc.
> - The wrapper makes sure the correct version of maven is downloaded and 
> installed, removing potential confusing around "If I do install maven 
> locally, what version of Maven do I need?"
> - The maven version is controlled by the project for CI tests, and not by the 
> CI system itself, which is useful in case CI decides to change/update 
> versions or goes outdated for any reason.
> - The maintenance and overhead of the change is very minimal where future 
> changes to the maven version are controlled with a simple properties file.
>
> How do others feel about this change? 
Hi Misagh,
thanks for bringing this to discussion.

Honestly, I don't see much value added by this:

1. Syncope does not simply require "a specific Maven version"; rather, we run 
the maven-enforcer-plugin as part of the build, which checks Maven version is 
>= 3.50 and JDK version

2. We've never had troubles with CIs due to Maven version

3. Apache RAT analysis has failed on your PR [3], and I suspect this is because 
of non-compliant [4] or missing [5] license headers - I am wondering whether 
these can be changed, or we are not allowed simply because we are importing 
source files from a different entity than ASF

4. We would be adding binary files [6] to our source tree; this would imply 
changing our root LICENSE / NOTICE files + adjusting the source package 
management during release process

5. I haven't made an extensive search, but I could not find any usage of Maven 
wrapper in any of the ASF projects I am involved in

6. <hyperbolic_mode>Why limit to Maven? Why not bundling JDK? Or operating 
system?</hyperbolic_mode>

Summarizing: I don't find enough reasons to be -1 against such proposed change, 
but I would rather avoid the amount of troubles it brings (especially for 
releases), as I see the trade-off with benefits extremely low.

Regards.

> [1] https://github.com/apache/syncope/pull/122
[2] https://github.com/apache/syncope/blob/master/pom.xml#L2123-L2145
[3] https://travis-ci.org/apache/syncope/jobs/588979502
[4] 
https://github.com/apache/syncope/pull/122/files#diff-59a310fc0b8358d0c91a717f18f7cfedR1-R15
[5] 
https://github.com/apache/syncope/pull/122/files#diff-de2bfeb3d4c0f4a0b3af8d261a26a21aR1
[6] 
https://github.com/apache/syncope/pull/122/files#diff-2e0bce82bce59a26bc532fbc92db892e

-- 
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/

Reply via email to