You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by GitBox <gi...@apache.org> on 2020/08/15 13:24:18 UTC

[GitHub] [httpcomponents-core] nhojpatrick opened a new pull request #218: Takari maven wrapper

nhojpatrick opened a new pull request #218:
URL: https://github.com/apache/httpcomponents-core/pull/218


   Maven 3.7.0 will introduce a maven wrapper that is based upon the takari maven wrapper.
   
   The advantage of using a maven wrapper is that it puts the control over what maven version to be use into source control, and each branch or tag controls the version it requires. Both developers and CI/CD no longer have to play russian roulette over what version needs to be installed.
   
   This PR changes mvn CI/CD commands to mvnw include documentation and comments.
   
   I've been using takari for about 4 years and have tested the version which will released as part of maven v3.7.0. Moving to the apache maven version will simply be a case of properties file url which happens for any maven upgrade and the mvnw scripts mainly around the license header.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[GitHub] [httpcomponents-core] michael-o commented on pull request #218: Takari maven wrapper

Posted by GitBox <gi...@apache.org>.
michael-o commented on pull request #218:
URL: https://github.com/apache/httpcomponents-core/pull/218#issuecomment-675284110


   @nhojpatrick If your project setup requires a specific (old) patch version then
   
   * Something is wrong with your setup
   * The pain is not enough to fix the issue you are experiencing with an n + 1 release.
   
   We define a minimum Maven version. No further restrictions apply.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[GitHub] [httpcomponents-core] nhojpatrick commented on pull request #218: Takari maven wrapper

Posted by GitBox <gi...@apache.org>.
nhojpatrick commented on pull request #218:
URL: https://github.com/apache/httpcomponents-core/pull/218#issuecomment-675154265


   @ok2c i'm going to be closing my attempt in my view of improving commons builds and setting up Maven-As-Code, based upon an email thread on the commons dev ML.
   
   httpcomponents-core might use enforcer to enforce a specific version of maven is used, or a specific range of versions, or newer than or older than. But if your working on multiple projects, from different sources, older brownfield projects, newer greenfield projects, how many maven versions should a developer need to install. Each time I switch between a project, i'll do `mvn clean install` (or `mvn clean verify` if your one of those people, but verify never works for me as -rf never works with verify). So it then reports a enforce, i forgot to change my maven version, okay, reset path and try again. It works. Move to another project, oh that java 11 or 14, will this version of maven work, okay fine it works. Get a bug report of some legacy code, need to now build a Java 1.6 project, set Java home, re-execute, wait maven fails need to use an older version. Using ./mvnw I don't have to go about setting up which maven version to use, the project controls what version of maven to us
 e and when to upgrade. Develop might need maven 3.6.3, and master might need 3.6.0, so switching branches I need to change my path again, using ./mvnw I don't have to worry. My path might end up /opt/mvn-v3.6.1/bin:/opt/mvn-v3.6.0/bin:/opt/mvn-v3.6.3/bin:/opt/mvn-v3.6.1/bin:/opt/java-1.8/bin:/opt/bin/bin, with the easy option of me adding the maven bin path to the front of PATH each time i change.
   
   CI and CI/CD get easier, maintainers don't need to preinstall maven on the Jenkins node, or the OpenShift Jenkins Image, your Jenkinsfile or Circle CI configuration just needs ./mvnw and CI & CI/CD will download maven as or when needed. Want to test out a a new version of Maven on your CI or CI/CD, simply change the config and push that branch, no faffing about with CI machines, installing a newer maven and getting your test branch to use that setup.
   
   New developer joins your team, or your given a new work vm or laptop or workstation, saves setup or having to teach someone, less support overhead or new joiners. Say you have a new windows work vm, install Java, install Git Bash, clone repo, execute ./mvnw and it's building.
   
   Hopefully a java versions will be available in a few years. I know toolchain is available, but we have no option to automatically do that cross OS and cross version.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[GitHub] [httpcomponents-core] nhojpatrick commented on pull request #218: Takari maven wrapper

Posted by GitBox <gi...@apache.org>.
nhojpatrick commented on pull request #218:
URL: https://github.com/apache/httpcomponents-core/pull/218#issuecomment-676671680


   Withdrawing PR due to negative email voting regarding mvnw as being an improvement.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[GitHub] [httpcomponents-core] garydgregory commented on pull request #218: Takari maven wrapper

Posted by GitBox <gi...@apache.org>.
garydgregory commented on pull request #218:
URL: https://github.com/apache/httpcomponents-core/pull/218#issuecomment-675180186


   FWIW, I just argued against the same request for Apache Commons components where the context was more about CI from my understanding of the request. From my POV:
   
   There is no blocking issue to fix here IMO. When you build in a CI, you know what OS you get and Maven is pre-configured, no mystery.
   
   My view here is that it would be the CI's job to toggle the Maven version just like a CI does for Java, the OS, and everything else a CI build uses.
   
   What I can see us doing is going to GitHub and asking for an actions/setup-maven just like there is an actions/setup-java. If we do anything we should create our own actions/setup-maven.
   
   I personally do not want to see or maintain copies of these files in 20+ repositories; it seems like a giant maintenance headache to me. I don't want to consider why this component does it this way and this other one that way. I've been aiming for GitHub CI builds to be as consistent as possible FWIW.
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[GitHub] [httpcomponents-core] michael-o commented on pull request #218: Takari maven wrapper

Posted by GitBox <gi...@apache.org>.
michael-o commented on pull request #218:
URL: https://github.com/apache/httpcomponents-core/pull/218#issuecomment-674850910


   @ok2c This has been recently imported into the Maven tree. I voted against because
   
   * I never understood the purpose of this
   * Package management has to be done by OS, not us
   * We enforce a Maven version with the Enforcer Plugin
   
   Personally for me, this is useless clutter w/ little benefit. If someone is too stupid to install Maven properly, he shouldn't code. Period.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[GitHub] [httpcomponents-core] ok2c commented on pull request #218: Takari maven wrapper

Posted by GitBox <gi...@apache.org>.
ok2c commented on pull request #218:
URL: https://github.com/apache/httpcomponents-core/pull/218#issuecomment-674857606


   @nhojpatrick I tend to agree with @michael-o. I understand the benefits of using a wrapper for Gradle that still has a rapidly evolving APIs but I fail to see any benefits for using Maven wrapper in our projects. As soon as we have different branches requiring different versions of Maven we can revisit the decision.  


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[GitHub] [httpcomponents-core] michael-o edited a comment on pull request #218: Takari maven wrapper

Posted by GitBox <gi...@apache.org>.
michael-o edited a comment on pull request #218:
URL: https://github.com/apache/httpcomponents-core/pull/218#issuecomment-674850910


   @ok2c This has been recently imported into the Maven tree. I voted against because
   
   * I never understood the purpose of this
   * Package management has to be done by OS, not us
   * We enforce a Maven version with the Enforcer Plugin
   
   Personally for me, this is useless clutter w/ little benefit. If someone is too stupid to install Maven properly, he/she shouldn't code. Period.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[GitHub] [httpcomponents-core] ok2c commented on pull request #218: Takari maven wrapper

Posted by GitBox <gi...@apache.org>.
ok2c commented on pull request #218:
URL: https://github.com/apache/httpcomponents-core/pull/218#issuecomment-674848942


   @nhojpatrick I am not aware of any version specific Maven functionality used by the project. Why would we want to use the wrapper in the first place?
   @michael-o Do you happen to know anything about it? 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[GitHub] [httpcomponents-core] nhojpatrick closed pull request #218: Takari maven wrapper

Posted by GitBox <gi...@apache.org>.
nhojpatrick closed pull request #218:
URL: https://github.com/apache/httpcomponents-core/pull/218


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org