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/
