Hi Alex, I think you are judging this plugin's functionality from its name, which I always thought is misleading. It's not the main goal of this plugin to invoke things. It's an integration test-tool for maven plugins. It does what it does by invoking maven builds (Therefore the name). With the invoker plugin you can define a number of projects which are built as separate integration tests. For each test-projcect you can even define an acceptance test where the output is inspected. I would much more trust a real test than just not getting an error in a build. I remember adding the UI integration tests in the framework module after noticing we were building FlexJS for days but due to some changes in the compiler (I think) the build did not fail, but the output didn't work and this wasn't discovered as we didn't have any sort of test)
And replying to your other email: "A Jar built for Ant must be tested by Ant before putting the artifacts up for a vote. So, you must have Ant and use it at some point in the release process. Also, since we want to make sure that there is a working Ant script to build an IDE compatible release, it is best to use that Ant script to create the artifacts, in order to prove that it works." Where is this requirement written down? It's definitely not an Ant and not an ASF requirement. If it's a Royale requirement I would like to challenge that. In the end we're actually not building Jars for ANT, but for the Java VM and that's the same in both cases. If I have two ways to produce the same output, I can't see the need to actually go both paths. Of course, it would be good to be able to verify a staged build. And jusding from Royales recent vote threads, I would doubt that a single PMC who voted actually built the SDK from the sources locally and checked the staged release-candidate for binary equality ... at least I couldn't find any reference to that in the vote emails. (That's something the maven team is currently working on) I think it shouldn't be a problem to create a profile that tweaks the parts needed on the CI server ... that's actually a quite common pattern. So the problem is that the release:prepare step pushes it's changes and that the gpg plugin signs the artifacts, correct? I'll whip up a PR for fixing that ASAP. Chris Am 18.03.20, 17:17 schrieb "Alex Harui" <[email protected]>: On 3/18/20, 9:12 AM, "Christofer Dutz" <[email protected]> wrote: We could use the maven-invoker-plugin to execute a number of Ant builds. This way we could ensure the Ant tasks work correctly. Would that be an option? Of course it is an option, but I do not like it. IMO, invoker is just a verbose Maven way of doing what Ant does. As I just posted, IMO we still need to run Ant at some point, so why not use Ant for scripting? That's what it is meant for. Please, can we just try to fix the CI steps? Add the noPush and skipGPG params. Tell me where I can read what the steps are. -Alex Chris Am 18.03.20, 16:54 schrieb "Carlos Rovira" <[email protected]>: Hi Chris, thanks for joining the conversation :) About "creating artifacts two times", I think we should just create one with Maven *for the release process*, while ensuring ANT continues to work as expected, since many people rely on it. So maybe the solution is: 0.- we need to fix the Maven distribution for IDE compilation (this is independent of the release process, since is needed) --- 1.- make all the release process using the 2 steps you said 2.- check the ant build by adding a step that generates it and then check agains the reproducible maven build distribution (for this we need to find a way to check that distribution is generating the same SDK as ANT, can that be done?) For me that means removing lots of problems and ease the overall process Make this sense? El mié., 18 mar. 2020 a las 16:37, Christofer Dutz (< [email protected]>) escribió: > Ok ... as it sort of feels silly to not respond to this list, but read it > ... here goes ;-) > > Shouldn't the metric be: "does it bring the project forward?" and less > "how much time did it cost to get here?" > In PLC4X I recently deleted code that took me more than 3/4 of a year to > write in more than full-time work. No commit felt better as it improved > things greatly and what we replaced it with, was a giant leap for the > project. > > So if you folks could explain what the refactoring I did some time ago > broke ... > > And perhaps let me explain the reason for doing it in the first place: > I really loved and still love the productivity I had with Apache Flex. I > was consumed with counting and shifting bits, however knowing I need a > frontend eventually. I was hoping that Royale was going to be that option. > However I did notice with worries how long it took to get new releases out > the door and hearing rumors about how many people invested so much time and > some still failed. So I offered my assistance and had a look at the build. > Being an expert in this particular area, I did notice some configuration > "problems" or "misconfigurations", which I fixed. Usually if you need > something special for some reason it's a good practice to write a comment > to it in order for the person viewing the code to know the implications and > reasoning behind this. > > You can't expect every newcomer to parse the last few years of discussions > before contributing. > > Another reason was that I remembered that one of the "objections" to Maven > was, that Maven couldn't do reproducible builds. So as the latest versions > of the core maven plugins were updated to support this, I thought, perhaps > this way we could get a stable release process. > > From a Maven point of view the updated Maven build is now rock-solid. > Releasing it would require two timely separated sessions and 3 commands in > total and would be done on the developer machine. > 1) Create the release branch > 2) Prepare and do the release > > The issues you folks were having ... I can't really confirm them ... Just > to day I did a check of how many Apache project use which build tool. The > result was that 61,9% use Maven (4,2% use Ant) ... if Maven really was that > broken, I guess we would be hearing a lot more from the other projects. And > I am not hearing any complaints at all. > > If the distributions are currently not 100% match of the Ant ones, I would > like to help to make them one. Just tell me what the difference is and > it'll be done in no-time. However it's hard to fix something you don't know > what's broken. > > Also do I not quite understand why a jar used in Ant has to be built by > Ant ... in general the jars should be identical. I know that maven saves > some additional information in the pom (Actually storing the pom and the > values properties had when it was built in the jar, which I think is a > great thing for reproducibility). Perhaps disabling this could make them > identical. And as soon as that's the case, I don't really see the point in > building them twice. Do you agree? > > And no worries, I am not interested in joining the project again ... I > want to help the project be able to get releases out because I would like > to use them. After that's done I'm happy to disappear again, if you wish > that I do. > > So far all the projects I have helped with their builds are firing out > releases like machine-guns ... let me help you folks do so too. > > Chris > > > > > > Am 18.03.20, 12:43 schrieb "Piotr Zarzycki" <[email protected]>: > > Btw. I truly doubt that it would be bigger than time which was > invested in > building this whole release process. > > śr., 18 mar 2020 o 12:41 Piotr Zarzycki <[email protected]> > napisał(a): > > > Carlos, > > > > Why it is so huge effort ? What was broken so much that you are > talking > > about huge effort ? > > > > śr., 18 mar 2020 o 12:37 Carlos Rovira <[email protected]> > > napisał(a): > > > >> Hi Piotr, > >> > >> as I responded before, I think that will be a huge task, in effort > and > >> time, and a task that can be easily broken again as any other one > >> introduces new changes, what is something will happen for sure as we > >> evolve. So what I'm offering is my time to be used in a way that > can allow > >> us to have a more reliable workflow. If I work on trying to fix as > it's > >> now, I probably will not succeed since I already tried for several > hours > >> and days (you can check emails around 19 or 20th Nov I think), and > nothing > >> of my tries could make a difference. Instead, I'm think taking a big > >> different approach can make a difference. I can be wrong, but in > that > >> case, > >> we'll know for sure that the way to go is the current one. > >> > >> > >> El mié., 18 mar. 2020 a las 12:05, Piotr Zarzycki (< > >> [email protected]>) escribió: > >> > >> > Carlos, > >> > > >> > In the other ways you are not going to fix current steps and > release new > >> > version of SDK ? > >> > > >> > > >> > > >> > śr., 18 mar 2020 o 10:39 Carlos Rovira <[email protected]> > >> > napisał(a): > >> > > >> > > Hi all and thanks for your responses: > >> > > > >> > > @greg, yes the plan I point is to do research to try a new way > and see > >> > > where we go. At the end, we don't get it, it will be our > >> responsibility > >> > and > >> > > our time. > >> > > > >> > > @yishay, I think you state a concrete but very real issue. I > think the > >> > work > >> > > done by Alex was amazing (no doubt here), but I'm afraid, as > much as > >> it > >> > > pains me to say it, that it does not solve the problem you > state and > >> the > >> > > proof is that only Piotr tried to use the process and it was > not easy > >> and > >> > > then when fixing other things, it has broken with some ease. > >> > > > >> > > @om, as I said in the initial email. There's no war anymore > between > >> Maven > >> > > and ANT. We all want both, and I'm using both when developing > Royale > >> to > >> > > test. As well I continually know more about how things are done > in > >> Maven. > >> > > My position is just that we need to separate concerns. One > thing is to > >> > have > >> > > both systems for developers and user to use (Maven and ANT), > but my > >> point > >> > > is that Releasing should just involve Maven, since is more > suite for > >> > > releasing at Apache and CIs, and ensure Ant continue working as > >> expected. > >> > > So no one wants one over the other, or remove one of them. > That's not > >> the > >> > > problem anymore. > >> > > > >> > > @piotr, I think your experience is very important, since you > were the > >> > only > >> > > one that do the full process. My guess is that removing ANT > from the > >> > > release process will remove completely all the pain with such > complex > >> > > process and we all be able release from our own machines without > >> having > >> > > problems with complex task, uploading artifacts to a.o and > more. We > >> just > >> > > need to ensure ANT still can be build exactly as before, and > continue > >> to > >> > > produce the same. > >> > > > >> > > So in the end, we can stick with the old process, or try another > >> > different > >> > > approach to it build over standards. That means Chris and I > will be > >> using > >> > > our times not yours. If we succeed, your test of the new > approach will > >> > need > >> > > to ensure all the prerequisites and be lot more simpler. If we > don't > >> get > >> > to > >> > > that and fail in the process, just announce here and we can > continue > >> in > >> > the > >> > > old process. > >> > > > >> > > That's my proposal (that will need to be consensuated first > here and > >> then > >> > > with Chris) > >> > > > >> > > Thanks > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > El mié., 18 mar. 2020 a las 8:14, Alex Harui > >> (<[email protected] > >> > >) > >> > > escribió: > >> > > > >> > > > > >> > > > > >> > > > On 3/17/20, 11:37 PM, "OmPrakash Muppirala" < > [email protected]> > >> > > wrote: > >> > > > > >> > > > My 2 cents: > >> > > > > >> > > > I don't think we need to go back to the Ant vs Maven > discussion. > >> > If > >> > > > the > >> > > > Maven build/stage/release scripts works flawlessly, an > Ant task > >> can > >> > > > simply > >> > > > call it. There is no reason both cannot be worked on > >> continuously. > >> > > > In the > >> > > > same way, if Maven users want, they can call Ant scripts > as > >> needed. > >> > > > > >> > > > Why do both camps want the other way to go away? > >> > > > > >> > > > I don't want one to go away. I want to use Maven for what it > is > >> good > >> > for > >> > > > and Ant for what it is good for. > >> > > > > >> > > > For example, we also publish to NPM as part of the > release. > >> There > >> > is > >> > > a > >> > > > node.js script that gets called from the Ant script > during the > >> > > release > >> > > > process. The node.js script is a black box as far as the > Ant > >> > script > >> > > is > >> > > > concerned. > >> > > > > >> > > > That said, Carlos if you think you can get a release done > with > >> just > >> > > > Maven, > >> > > > please go ahead and give it a shot. From what I > remember, the > >> > Maven > >> > > > part > >> > > > of the build/release was the issue and not the Ant > portions. We > >> > all > >> > > > would > >> > > > love to see improvements there. > >> > > > > >> > > > Alex, you say that Carlos did not work in the trenches > during > >> the > >> > > > release > >> > > > process, but are objecting (I think, if I understand your > email > >> > > > correctly) > >> > > > to him wanting to work now. That seem contradictory, > IMHO. > >> > > > > >> > > > I'm saying that if Carlos/Chris go back to the Maven Release > Plugin > >> > > > process, it will likely bring us back to the same problems we > >> created > >> > the > >> > > > CI steps to work around. So why go through all of that again? > >> > > > > >> > > > Like Piotr just posted, Carlos should get in the trenches and > get > >> the > >> > CI > >> > > > steps to work with the new Maven poms. Not acknowledging > that > >> there > >> > > have > >> > > > been past problems using the process they propose is going to > >> result in > >> > > > more time wasted. > >> > > > > >> > > > -Alex > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > >> > > -- > >> > > Carlos Rovira > >> > > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cfcab155a339f489dbf2b08d7cb572fba%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637201447644039384&sdata=leozIkcJAUyXngghf2wTlbR0CsZq3cEELDsZrD8uEc4%3D&reserved=0 > >> > > > >> > > >> > > >> > -- > >> > > >> > Piotr Zarzycki > >> > > >> > Patreon: *https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cfcab155a339f489dbf2b08d7cb572fba%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637201447644039384&sdata=NJFoIIrl5jF4fHfWO07P1IOkXaqWeNSKImuLDMMuf5s%3D&reserved=0 > >> > <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cfcab155a339f489dbf2b08d7cb572fba%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637201447644039384&sdata=NJFoIIrl5jF4fHfWO07P1IOkXaqWeNSKImuLDMMuf5s%3D&reserved=0>* > >> > > >> > >> > >> -- > >> Carlos Rovira > >> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cfcab155a339f489dbf2b08d7cb572fba%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637201447644039384&sdata=leozIkcJAUyXngghf2wTlbR0CsZq3cEELDsZrD8uEc4%3D&reserved=0 > >> > > > > > > -- > > > > Piotr Zarzycki > > > > Patreon: *https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cfcab155a339f489dbf2b08d7cb572fba%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637201447644039384&sdata=NJFoIIrl5jF4fHfWO07P1IOkXaqWeNSKImuLDMMuf5s%3D&reserved=0 > > <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cfcab155a339f489dbf2b08d7cb572fba%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637201447644039384&sdata=NJFoIIrl5jF4fHfWO07P1IOkXaqWeNSKImuLDMMuf5s%3D&reserved=0>* > > > > > -- > > Piotr Zarzycki > > Patreon: *https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cfcab155a339f489dbf2b08d7cb572fba%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637201447644039384&sdata=NJFoIIrl5jF4fHfWO07P1IOkXaqWeNSKImuLDMMuf5s%3D&reserved=0 > <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cfcab155a339f489dbf2b08d7cb572fba%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637201447644039384&sdata=NJFoIIrl5jF4fHfWO07P1IOkXaqWeNSKImuLDMMuf5s%3D&reserved=0>* > > > -- Carlos Rovira https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cfcab155a339f489dbf2b08d7cb572fba%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637201447644039384&sdata=leozIkcJAUyXngghf2wTlbR0CsZq3cEELDsZrD8uEc4%3D&reserved=0
