Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [starter-dev] Cleanup/Reconiliation

Yes, this is indeed a common technique we have always had in mind - exactly for the reasons you stated. It’s also what the folks at Microsoft that work on our official Archetypes and Maven plugins advised in addition to using Velocity and Groovy.

I will try to do what makes the best sense to me and we can review the PR together to see what could be improved. Similarly we should continuously think about evolving the code together as we add more features.

I am very hopeful a sensible evolutionary path will be pretty obvious and should not require much contention.
 

From: starter-dev <starter-dev-bounces@xxxxxxxxxxx> on behalf of Ondro Mihályi <mihalyi@xxxxxxxxxxx>
Sent: Monday, January 2, 2023 5:30 PM
To: starter developer discussions <starter-dev@xxxxxxxxxxx>
Subject: Re: [starter-dev] Cleanup/Reconiliation
 
I'd like to point out that there's one solution for the archetype to keep the code for each Jakarta EE version separate and still release everything as a single archetype.

The archetype can have multiple code templates in different folders, one folder for EE 8/9 (with only javax/jakarta change), one for EE 10, and separate ones for any future version. Everything can be then filtered in the groovy script that runs after the project is generated. The script could easily delete directories not related to the chosen EE version. I know, it's a bit awkward that it would first copy files for all EE versions and then delete all versions but one, that's a limitation of the Maven archetype plugin, but I think it would work pretty well.

Currently, the groovy script in the rest starter archetype (https://github.com/eclipse-ee4j/starter/blob/master/rest-starter/src/main/resources/META-INF/archetype-post-generate.groovy) just deletes a few files that aren't needed for a specific runtime and runs Groovy templating engine to make modifications on the generated files (e.g. replace javax with jakarta). But this script could do much more, and if we use it wisely, we can structure the code very well and still support any EE version with a single archetype, which would be more user-frinedly than having different archetypes for each EE version.

Ondro

On Mon, Jan 2, 2023 at 5:31 PM reza_rahman@xxxxxxxxx <reza_rahman@xxxxxxxxx> wrote:
To be honest, the time zones are all over the place if we count potential solid contributors from Asia like Hantsy Bai. I don’t remember now what the poll options were, but if we do a fresh one, it’s best to have a wide array of options and see where things land

Personally I don’t think we should focus on just the latest version. We pretty much already have multi-version support, all the other starters support multiple versions, not all popular runtimes support all versions so quickly (TomEE certainly comes to mind), and user adoption also has historically lagged significantly (indeed what I see from customers is that Jakarta EE 8/Java SE 8 is alive and well, possibly will remain so for some time). We could certainly keep statistics in the UI for version usage and cut less popular combinations in the future. It’s possible for the starter use case, newer versions matter more.
 

From: starter-dev <starter-dev-bounces@xxxxxxxxxxx> on behalf of Alexander Rühl via starter-dev <starter-dev@xxxxxxxxxxx>
Sent: Monday, January 2, 2023 1:51 AM
To: starter developer discussions <starter-dev@xxxxxxxxxxx>
Cc: Alexander Rühl <alexander.ruehl@xxxxxxxxxxxxxxxx>
Subject: Re: [starter-dev] Cleanup/Reconiliation
 

Since I haven’t touched my laptop for a week, I’m a bit late to the party...

 

Meeting: I think it’s a good idea to have a standup-style meeting. Having short minutes is nevertheless useful for later actions. Which time zones are involved here? Mine would be Central Europe. But I would arrange to take part at any time.

 

Jakarta versions: We should aim for easiness, clarity and simplicity rather than completeness. I’d favor to concentrate on the latest version and then maybe have hints in documentation or examples on how to use older ones.

 

 

 

 

 

Von: starter-dev <starter-dev-bounces@xxxxxxxxxxx> Im Auftrag von reza_rahman@xxxxxxxxx
Gesendet: Sonntag, 1. Januar 2023 21:33
An: starter-dev@xxxxxxxxxxx
Betreff: [starter-dev] Cleanup/Reconiliation

 

Per my knowledge, there are no in-flight changes to the Archetypes right now although Bazlur is working on getting the UI up and running.

 

I would like to start a holistic cleanup process on the Archetype/documentation side right away, quite possibly finishing by next weekend. I aim to essentially reconcile the code base on the decisions made so far and have a clean, cohesive, documented code base to go forward with together. I will do this via PR and notify here so we can all properly review before merging.

 

I am acknowledging that there is some outstanding disagreement with regards to whether we should have Archetypes per Jakarta EE version right away. I believe I can do most of the cleanup work right now while we determine how to achieve reasonable consensus in a way that aligns with Eclipse Foundation governance principles.

 

Please let me know in the next few days if there are questions or concerns. This is a non-trivial bit of work but it is essential and long pending.

_______________________________________________
starter-dev mailing list
starter-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/starter-dev

Back to the top