Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Let’s use Ivy (properly!) and drop Maven Ant tasks + Commons OpenPGP #54

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

twogee
Copy link
Contributor

@twogee twogee commented Dec 26, 2017

The implementation is incomplete, please comment.
I put the extraneous stuff in attic subdirectory for reference.
release/upload.xml could very well be integrated in build.xml (because of project.version).
fetch.xml does not implement all targets nor updating of Ant distribution
(could be done by restricting ivy:resolve to a particular conf). 🎅

@asfgit
Copy link

asfgit commented Dec 27, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/16/

@asfgit
Copy link

asfgit commented Dec 27, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/22/

@bodewig
Copy link
Member

bodewig commented Dec 27, 2017

I don't have any problem with you replacing stuff that works with other stuff that works as well. But before you put too much effort into it, maybe you should look through https://github.com/apache/ant/blob/master/ReleaseInstructions to see what is and what is not used during a release at all.

As I've managed a few releases myself let me start by telling you that I have run fetch.xml when we upgraded BCEL but usually don't use it at all as my workspace already contains everything I need to build a release.

I have never used build-osx-pkg.py (and am not aware of anybody ever using it, buildosxpackage has never been true for me and there is no pkg file in http://archive.apache.org/dist/ant/binaries/) or signit.xml (as I prefer to use the command line for that, I think Antoine has used it in the past).

As I usually am not an Ivy user I'd prefer my everyday build of Ant to not require me to place Ivy on the CLASSPATH, I'm totally content with not integrating upload with the normal build process as uploading is a very rare exceptional use case only ever performed by a single person. But that's just my preference, YMMV.

@twogee
Copy link
Contributor Author

twogee commented Dec 27, 2017

I would like to point out one distinction: I would like to replace the stuff that works (sort of) with less stuff that does the same job, and hopefully more. Besides, my beef with Maven Ant tasks was that they morphed into Aether Ant tasks, and then Maven Resolver Ant tasks and changed syntax along the way, and I couldn't add Bintray using Maven Ant tasks (at least not in a trivial way).

buildosxpackage is a requested feature, and it does no harm to keep it, albeit in a simple native implementation.

The point with signit.xml is that Ivy does it all in one go with upload.xml and with less stuff in ivy.xml

I can change fetch.xml so that release conf goes into a separate place, and so Ivy + BouncyCastle are kept out of sight (unlike Maven Ant tasks).

@bodewig
Copy link
Member

bodewig commented Dec 27, 2017

I didn't suggest to remove the buildosxpackage feature, just that you are putting quite a bit of effort into an area that is probably never used - at least not much.

As I said, I don't use signit at all and I do not want to give the passphrase to my PGP key on the command line. As long as I can keep using the gpg command line and Ivy will then upload the signatures I've created, I'm fine with it.

@twogee
Copy link
Contributor Author

twogee commented Dec 27, 2017

buildosxpackage was peanuts compared to getting rid of root system property kludge for surefire in tests.

BTW, Ivy signer saves you work with

  1. signing in advance
  2. having to declare all signatures in ivy.xml
  3. publishing extraneous checksums for signatures

I'd rather add another ivy.xml for distributions that would use filesystem resolver to publish signed distributions into the svn repo... svn resolver for Ivy seems a bit of an overkill.

@twogee
Copy link
Contributor Author

twogee commented Dec 27, 2017

Re password input: isn't there a task with SecureInputHandler for that?

@bodewig
Copy link
Member

bodewig commented Dec 28, 2017

For the changes you plan to introduce to the release process I urge you to not change things just because they look better to you. As it stands I'd be your main user and I'm fine with the process as it is and am completely happy with signing artifacts manually (which happens whenever I cut a release, so twice every few months at best).

Our Nexus is going to create extraneous checksums anyway, no matter what Ivy does. Not sure about your second point (I don't declare anything anywhere). You are completely losing me when you talk about the svn resolver, I don't see any reason to use Ivy in order to publish artifacts to dist.apache.org at all.

@twogee
Copy link
Contributor Author

twogee commented Dec 28, 2017

I am very well aware of your role. I hope we agree about KISS or continuous improvement, though.

In particular, regarding the second point, please compare release/ivy.xml with ivy.xml (too bad the diff is so huge that Git thinks they're two different files). The price of simplification to pay, so to speak, is signing while uploading. If you're not willing to discuss that, we can leave the whole upload discussion out and only focus on fetch. However, there is one more point with distributions (zip and tar), if you bear with me.

It is my understanding of the release process that distributions are manually copied and checked into Subversion. My point was that the process could be better documented by creating an extra ivy.xml which would be used by upload (or upload-like) process and thus be semi-automated.

@bodewig
Copy link
Member

bodewig commented Dec 28, 2017

Sorry if I sounds bossy here, this is not at all what I'm trying to be. It's more like your user asking you to verify your product improvements are actually improvements for them. :-)

I'm certainly not against improvements, neither continuous nor as bigger bangs.

TBH I don't really care for the content of a write-once Ivy file much, but that may be just me. Maybe I'm (a bit) old-fashioned, I actually really want to upload files to Nexus and svn manually rather than automate this, as this is the step where I personally verify all artifacts one more time before calling for a vote.

We probably should move the upload discussion to the dev list and really focus on the fetch part here.

@bodewig
Copy link
Member

bodewig commented Dec 28, 2017

@twogee
Copy link
Contributor Author

twogee commented Dec 28, 2017

Good idea. Meanwhile, I'd like commit the pkg-distribution target sans python to avoid distraction.

@twogee twogee changed the title Let’s use Ivy (properly!) and drop Maven Ant tasks, Commons OpenPGP, … Let’s use Ivy (properly!) and drop Maven Ant tasks + Commons OpenPGP Dec 31, 2017
@asfgit
Copy link

asfgit commented Dec 31, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/23/

@asfgit
Copy link

asfgit commented Dec 31, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/17/

@asfgit
Copy link

asfgit commented Jan 16, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/18/

@asfgit
Copy link

asfgit commented Jan 16, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/24/

@asfgit
Copy link

asfgit commented Jan 16, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/19/

@asfgit
Copy link

asfgit commented Jan 16, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/25/

@twogee
Copy link
Contributor Author

twogee commented Jan 18, 2018

I revised the documentation as suggested and added correct entries for Groovy in the process.

@asfgit
Copy link

asfgit commented Jan 18, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/26/

@asfgit
Copy link

asfgit commented Jan 18, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/20/

@asfgit
Copy link

asfgit commented Jan 19, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/21/

@asfgit
Copy link

asfgit commented Jan 19, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/27/

@asfgit
Copy link

asfgit commented Jan 19, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/22/

@asfgit
Copy link

asfgit commented Jan 19, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/28/

@asfgit
Copy link

asfgit commented Jan 19, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/23/

@asfgit
Copy link

asfgit commented Aug 12, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/79/

@asfgit
Copy link

asfgit commented Aug 12, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/73/

@asfgit
Copy link

asfgit commented Aug 12, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/82/

@asfgit
Copy link

asfgit commented Aug 12, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/76/

@asfgit
Copy link

asfgit commented Aug 20, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/77/

@asfgit
Copy link

asfgit commented Aug 20, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/83/

@asfgit
Copy link

asfgit commented Aug 28, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/79/

@asfgit
Copy link

asfgit commented Aug 28, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/85/

@asfgit
Copy link

asfgit commented Nov 9, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/94/

@asfgit
Copy link

asfgit commented Nov 9, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/88/

@asfgit
Copy link

asfgit commented Dec 27, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/104/

@asfgit
Copy link

asfgit commented Dec 27, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/110/

@asfgit
Copy link

asfgit commented Dec 27, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/106/

@asfgit
Copy link

asfgit commented Dec 27, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/112/

@asfgit
Copy link

asfgit commented May 26, 2019

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Windows/126/

@asfgit
Copy link

asfgit commented May 26, 2019

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ant%20Github-PR-Linux/120/

@twogee twogee force-pushed the dog-food-ivy branch 2 times, most recently from b8e03d9 to 8a546db Compare March 5, 2021 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants