I have made another iteration based on James' latest updates and some great observations and suggestions from this thread.
- Make sections for "NORMAL", GRADLE, PROFILES and FORGE - Sort by artifactId (I found some collisions, added '-core' to those) - Rename some artifactIds - Remove '-views' from gsp - Use 'json' instead of 'gson' as json is the common name while 'gson' is the technology in Grails (implementation detail). - Remove 'grails-profile-' from grails profiles (good point Michael). - Rename org.apache.grails.profiles:core back to org.apache.grails.profiles:profile (as it is "a profile for creating profiles": https://github.com/apache/grails-profiles/tree/10.0.x/profile). - Rename org.apache.grails:grails-gradle-plugin to org.apache.grails:grails-gradle-plugins (plural) as this library contains many Gradle plugins (good point James F) - Add '-views' to the view compiling Gradle plugins as I think the names became a bit too general. (Want to keep the names connected to the grails-views-json and grails-views-markup libraries). https://github.com/apache/grails-core/pull/14075 Den tors 20 mars 2025 kl 04:37 skrev Michael Yan <rainbo...@apache.org>: > Currently, I am a little worried about such a drastic change. Renaming the > package name seems easy, but it will also bring a lot of trouble, which is > not wise to change in 7.x. > Before that, we still have a lot of work to do, such as defining the > responsibilities and scope of each module, sorting out the dependencies of > each module, cleaning up some legacy codes, merging codes with the same > functions, and splitting some common base classes and packages. > > > From my current perspective, the grails-async and grails-events modules > can merge their underlying implementation modules into one, but the premise > is to use Spring Boot's AutoConfiguration for transformation instead of the > existing ServiceLoader mechanism. > > | old group id | old artifact id > | new group id | new artifact > id | old gradle plugin name | > new gradle plugin name | repository | > > |-----------------------------------|-------------------------------------------------|-------------------------------------------------|---------------------------------------------------------------|------------------------|------------------------|------------------------| > | org.grails | grails-async > | org.apache.grails | > grails-async-core | > | | grails-core | > | org.grails | grails-async-gpars > | org.apache.grails | > grails-async-gpars | > | | grails-core | > | org.grails | grails-async-rxjava > | org.apache.grails | > grails-async-rxjava | > | | grails-core | > | org.grails | grails-async-rxjava2 > | org.apache.grails | > grails-async-rxjava2 | > | | grails-core | > | org.grails | grails-async-rxjava3 > | org.apache.grails | > grails-async-rxjava3 | > | | grails-core | > | org.grails.plugins | async > | org.apache.grails | > grails-async | > | | grails-core | > > | org.grails | grails-events > | org.apache.grails | > grails-events-core | > | | grails-core | > | org.grails | grails-events-compat > | org.apache.grails | > grails-events-compat | > | | grails-core | > | org.grails | grails-events-gpars > | org.apache.grails | > grails-events-gpars | > | | grails-core | > | org.grails | grails-events-rxjava > | org.apache.grails | > grails-events-rxjava | > | | grails-core | > | org.grails | grails-events-rxjava2 > | org.apache.grails | > grails-events-rxjava2 | > | | grails-core | > | org.grails | grails-events-rxjava3 > | org.apache.grails | > grails-events-rxjava3 | > | | grails-core | > | org.grails | grails-events-spring > | org.apache.grails | > grails-events-spring | > | | grails-core | > | org.grails | grails-events-transform > | org.apache.grails | > grails-events-transform | > | | grails-core | > | org.grails.plugins | events > | org.apache.grails | > grails-events | > | | grails-core | > > If we use these modules from the user's perspective, we may have different > thoughts. Although I am in favor of removing the *plugin* prefix, it is > only for plugins such as cache and events, but in the current situation, > the role of the plugin is actually similar to that of Spring Boot's > starters. > > > In addition, some of the following modules can be merged and > refactored.But this is a complex and arduous task. > > grails-web-mvc > grails-web-url-mappings > grails-converters > grails-controllers > grails-interceptors > grails-mimetypes > grails-rest-responder > grails-url-mappings > > > // Codec > | org.grails | grails-encoder > | org.apache.grails | > grails-encoder | > | | grails-core | > | org.grails | grails-codecs > | org.apache.grails | > grails-codecs | > | | grails-core | > | org.grails | grails-plugin-codecs > | org.apache.grails | > grails-codecs | > | | grails-core | > > // Databinding > | org.grails | grails-databinding > | org.apache.grails | > grails-databinding | > | | grails-core | > | org.grails | grails-plugin-databinding > | org.apache.grails | > grails-databinding | > | | grails-core | > | org.grails | grails-web-databinding > | org.apache.grails | > grails-web-databinding | > | | grails-core | > > // DataSource and Data Mappings > | org.grails | grails-plugin-datasource > | org.apache.grails | > grails-datasource | > | | grails-core | > | org.grails | grails-plugin-domain-class > | org.apache.grails | > grails-domain-class | > | | grails-core | > | org.grails | grails-plugin-validation > | org.apache.grails | > grails-validation | > | | grails-core | > | org.grails | grails-datastore-core > | org.apache.grails | > grails-datastore-core | > | | grails-data-mapping | > | org.grails | grails-datastore-gorm > | org.apache.grails | > grails-data-mapping-core | > | | grails-data-mapping | > | org.grails | grails-datastore-gorm-hibernate5 > | org.apache.grails | > grails-data-mapping-hibernate5 | > | | grails-data-mapping | > | org.grails | grails-datastore-gorm-support > | org.apache.grails | > grails-data-mapping-support | > | | grails-data-mapping | > | org.grails | grails-datastore-gorm-validation > | org.apache.grails | > grails-data-mapping-validation | > | | grails-data-mapping | > | org.grails | grails-datastore-web > | org.apache.grails | > grails-datastore-web | > | | grails-data-mapping | > | org.grails | grails-gorm-testing-support > | org.apache.grails.testing | > grails-data-mapping-testing-support | > | | grails-data-mapping | > | org.grails.plugins | database-migration > | org.apache.grails | > grails-data-hibernate5-migration | > | | grails-data-mapping | > | org.grails.plugins | hibernate5 > | org.apache.grails | > grails-data-hibernate5 | > | | grails-data-mapping | > > // Services > | org.grails | grails-plugin-services > | org.apache.grails | > grails-services | > | | grails-core | > > // Controllers > | org.grails | grails-plugin-controllers > | org.apache.grails | > grails-controllers | > | | grails-core | > | org.grails.plugins | converters > | org.apache.grails | org.grails > | grails-plugin-url-mappings | > org.apache.grails | grails-url-mappings > | | > | grails-core | > | org.grails | grails-plugin-interceptors > | org.apache.grails | > grails-interceptors | > | | grails-core | > | org.grails | grails-plugin-mimetypes > | org.apache.grails | > grails-mimetypes | > | | grails-core | > > // I18n > | org.grails | grails-plugin-i18n > | org.apache.grails | > grails-i18n | > | | grails-core | > > > // REST > | grails-converters | > | | grails-core | > | org.grails | grails-plugin-rest > | org.apache.grails | > grails-rest-responder | > | | grails-core | > > GSP and Views can coexist in the same project, grails-web-gsp, > grails-views-gsp, grails-views-gson. > The gsp plugin is renamed grails-views-gsp, but in fact it is different > from gson in implementation. Views wins in performance, but is far less > powerful than GSP in terms of functionality. Maybe in the future, the > underlying API design and implementation can be unified. > > // GSP and Views > > | org.grails | grails-gsp > | org.apache.grails | > grails-gsp-core | > | | grails-views | > | org.grails | grails-taglib > | org.apache.grails | > grails-taglib | > | | grails-views | > | org.grails | grails-web-gsp > | org.apache.grails | > grails-web-gsp | > | | grails-views | > | org.grails | grails-web-gsp-taglib > | org.apache.grails | > grails-web-gsp-taglib | > | | grails-views | > | org.grails | grails-web-jsp > | org.apache.grails | > grails-web-jsp | > | | grails-views | > | org.grails | grails-web-taglib > | org.apache.grails | > grails-web-taglib | > | | grails-views | > | org.grails.plugins | gsp > | org.apache.grails | > grails-views-gsp | > | | grails-views | > | org.grails.plugins | scaffolding > | org.apache.grails | > grails-scaffolding | > | | grails-views | > | org.grails.plugins | fields > | org.apache.grails | > grails-fields | > | | grails-views | > > | org.grails.plugins | views-json > | org.apache.grails | > grails-views-gson | > | | grails-views | > | org.grails | views-core > | org.apache.grails | > grails-views-core | > | | grails-views | > | org.grails | views-json-testing-support > | org.apache.grails.testing | > grails-views-json-testing-support | > | | grails-views | > | org.grails | views-markup > | org.apache.grails | > grails-views-markup | > | | grails-views | > > > On 2025/03/20 01:22:10 James Daugherty wrote: > > James Fredley: I am good with your proposal. > > > > Søren, Mattias, Michael, and Gianluca - does James’s updated version work > > for you all? > > > > I am ok removing grails profile from the artifact id too. > > > > If Michael is willing to help us consolidate, it would be wonderful. > > Otherwise, I would suggest we leave consolidation of the profiles as a > > future todo. > > > > -James > > > > On Wed, Mar 19, 2025 at 9:01 PM James Fredley <jamesfred...@apache.org> > > wrote: > > > > > That is a great point about the profile not being included in the final > > > distribution. > > > > > > consolidation of the profiles would be great. Do you have any time to > > > work on this task? > > > > > > On 2025/03/20 00:48:09 Michael Yan wrote: > > > > If using 'org.apache.grails.profiles' as groupId, why do we need > to add > > > > the prefix grails-profile-? The profile artifact will not be > packaged in > > > > the final distributions. > > > > Also I think we don't need so many profiles, some of theme can be > merged, > > > > included base. Maybe we also can make angular, react, vue just be > > > optional > > > > features. > > > > > > > > web = base + (web / web-plugin / rest-api) > > > > > > > > > > > > | org.grails.profiles | angular > > > > | org.apache.grails.profiles | grails-profile-angular > > > > | | | > > > > grails-profiles | > > > > | org.grails.profiles | base > > > > | org.apache.grails.profiles | grails-profile-base > > > > | | | > > > > grails-profiles | > > > > | org.grails.profiles | plugin > > > > | org.apache.grails.profiles | grails-profile-plugin > > > > | | | > > > > grails-profiles | > > > > | org.grails.profiles | profile > > > > | org.apache.grails.profiles | grails-profile-core > > > > | | | > > > > grails-profiles | > > > > | org.grails.profiles | react > > > > | org.apache.grails.profiles | grails-profile-react > > > > | | | > > > > grails-profiles | > > > > | org.grails.profiles | rest-api > > > > | org.apache.grails.profiles | grails-profile-rest-api > > > > | | | > > > > grails-profiles | > > > > | org.grails.profiles | rest-api-plugin > > > > | org.apache.grails.profiles | > grails-profile-rest-api-plugin > > > > | | | > > > > grails-profiles | > > > > | org.grails.profiles | vue > > > > | org.apache.grails.profiles | grails-profile-vue > > > > | | | > > > > grails-profiles | > > > > | org.grails.profiles | web > > > > | org.apache.grails.profiles | grails-profile-web > > > > | | | > > > > grails-profiles | > > > > | org.grails.profiles | web-plugin > > > > | org.apache.grails.profiles | grails-profile-web-plugin > > > > | | | > > > > grails-profiles | > > > > > > > > James Fredley <jamesfred...@apache.org> 于2025年3月20日周四 08:43写道: > > > > > > > > > Here is a further updated table with the views Gradle plugins > > > consolidated > > > > > into grails-gradle-plugin, which is renamed back to its original > name. > > > > > This update also moves grails-test to the correct groupid. > > > > > > > > > > > > > > > > > > > https://github.com/apache/grails-core/blob/jamesfredley/renameProposal/RENAME.md > > > > > > > > > > PR: https://github.com/apache/grails-core/pull/14077 > > > > > > > > > > On 2025/03/20 00:16:33 James Daugherty wrote: > > > > > > Makes sense on the gson-templates update. > > > > > > > > > > > > Concerning the gradle plugins, I think there's some confusion > here. > > > The > > > > > > "grouping" artifact isn't a gradle plugin. It only adds the > gradle > > > > > plugins > > > > > > to the classpath so it would not be used in a plugin { } block. > I am > > > > > > speaking about these lines: > > > > > > > > > > > > > > > > > > > > > https://github.com/apache/grails-core/blob/c4f40b77e7693f37d2b4c885db3b27159292c813/RENAME.md?plain=1#L125 > > > > > > > > > > > > > > > https://github.com/apache/grails-core/blob/c4f40b77e7693f37d2b4c885db3b27159292c813/RENAME.md?plain=1#L71 > > > > > > > > > > > > For 'grails-gradle-plugin', here are some example usages of this > > > library: > > > > > > buildscript usage: > > > > > > > > > > > > > > > https://github.com/apache/grails-core/blob/e899196d24c75d1cfb80ca51db2e7aae574b67b4/grails-test-examples/app1/build.gradle#L7 > > > > > > buildSrc usage: > > > > > > > > > > > > > > > https://github.com/apache/grails-views/blob/f9e28f2cfefdc6545f439b72fad15156d5c00781/buildSrc/build.gradle#L29 > > > > > > > > > > > > I'm not proposing we rename the gradle plugin names from your > list, > > > but > > > > > > rather just that artifact that includes them all so gradle can > > > resolve > > > > > > them. > > > > > > > > > > > > On Wed, Mar 19, 2025 at 7:51 PM James Fredley < > > > jamesfred...@apache.org> > > > > > > wrote: > > > > > > > > > > > > > https://github.com/apache/grails-core/pull/14077/files > > > > > > > replaced 'mongo-gson-templates' with > > > > > 'grails-data-mongodb-gson-templates' > > > > > > > to match it up with the project. It also looks like it was > changed > > > > > from > > > > > > > json to gson before I added the prefix. > > > > > > > > > > > > > > Are you proposing always applying the Grails Gradle plugins > with > > > > > > > `classpath` and `apply plugin` and not using `plugins {id > > > version}`? > > > > > The > > > > > > > long groupid and artifactid is only used for `plugins {id > > > version}`. > > > > > > > > > > > > > > James > > > > > > > > > > > > > > On 2025/03/19 23:23:57 James Daugherty wrote: > > > > > > > > Mattias made a good point in his open PR: there are other > > > security > > > > > > > > frameworks such as https://shiro.apache.org/. This > convinced > > > me to > > > > > keep > > > > > > > > the 'spring' in the name to be clear. > > > > > > > > > > > > > > > > Looking at Mattias' revision and comparing it to James > > > Fredley's, I > > > > > > > think I > > > > > > > > agree with everything James Fredley has except two points: > > > > > > > > > > > > > > > > 1. mongo-gson-templates, I think we should keep a prefix of > > > 'grails' > > > > > at a > > > > > > > > minimum in the artifact name. These templates are specific > to > > > > > grails. > > > > > > > > > > > > > > > > 2. I don't like the "grouping" artifacts that contain all of > the > > > > > gradle > > > > > > > > plugins. With this proposal, buildScript would look > something > > > like > > > > > this: > > > > > > > > > > > > > > > > buildscript { > > > > > > > > repositories { > > > > > > > > ... > > > > > > > > } > > > > > > > > dependencies { > > > > > > > > classpath > > > > > platform("org.apache.grails:grails-bom:$grailsVersion") > > > > > > > > classpath > 'org.apache.grails:grails-gradle-plugin-core' > > > > > > > > } > > > > > > > > } > > > > > > > > > > > > > > > > These grouping artifacts should be clearly named to indicate > what > > > > > they > > > > > > > > contain. We currently have 2 of these - one in grails-views > and > > > one > > > > > in > > > > > > > > grails-gradle plugin. > > > > > > > > > > > > > > > > I'd rather see these named something like this: > > > > > > > > > > > > > > > > org.apache.grails:grails-gradle-plugins > > > > > > > > org.apache.grails:grails-view-gradle-plugins > > > > > > > > > > > > > > > > Or even better, the view gradle plugins are already in a > separate > > > > > gradle > > > > > > > > build imported into the grails-views build. They can easily > be > > > moved > > > > > > > into > > > > > > > > the grails-gradle-plugin repository. I'd rather see us > collapse > > > > > these > > > > > > > > plugins into a single repo and then just have the below as > the > > > > > grouping > > > > > > > > artifact: > > > > > > > > > > > > > > > > org.apache.grails:grails-gradle-plugins > > > > > > > > > > > > > > > > -James > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Mar 19, 2025 at 4:57 PM Gianluca Sartori < > > > > > g.sart...@gmail.com> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > Mattias' suggestion is the most convincing naming scheme > to me. > > > > > > > > > > > > > > > > > > Keeping the right-to-left grouping strategy I would > probably > > > give > > > > > > > > > precedence to the hibernate implementation. > > > > > > > > > Even though there are reasons to keep the "spring" name in > the > > > > > > > > > "spring-security" plugins (search the web) I would rather > have > > > the > > > > > > > > > following instead to stay simple. > > > > > > > > > > > > > > > > > > org.apache.grails:grails-codecs > > > > > > > > > org.apache.grails:grails-controllers > > > > > > > > > org.apache.grails:grails-databinding > > > > > > > > > org.apache.grails:grails-datasource > > > > > > > > > org.apache.grails:grails-domain-class > > > > > > > > > org.apache.grails:grails-i18n > > > > > > > > > org.apache.grails:grails-interceptors > > > > > > > > > org.apache.grails:grails-mimetypes > > > > > > > > > org.apache.grails:grails-rest-responder > > > > > > > > > org.apache.grails:grails-services > > > > > > > > > org.apache.grails:grails-url-mappings > > > > > > > > > > > > > > > > > > org.apache.grails:grails-async > > > > > > > > > org.apache.grails:grails-converters > > > > > > > > > org.apache.grails:grails-events > > > > > > > > > org.apache.grails:grails-sitemesh3 > > > > > > > > > org.apache.grails:grails-fields > > > > > > > > > org.apache.grails:grails-views-gsp > > > > > > > > > org.apache.grails:grails-views-gson > > > > > > > > > org.apache.grails:grails-views-markup > > > > > > > > > org.apache.grails:grails-scaffolding > > > > > > > > > > > > > > > > > > org.apache.grails:grails-data-hibernate5 > > > > > > > > > org.apache.grails:grails-data-hibernate5-migration > > > > > > > > > org.apache.grails:grails-data-hibernate6 > > > > > > > > > org.apache.grails:grails-data-hibernate6-migration > > > > > > > > > org.apache.grails:grails-data-mongodb > > > > > > > > > > > > > > > > > > org.apache.grails:grails-cache > > > > > > > > > org.apache.grails:grails-geb > > > > > > > > > org.apache.grails:grails-security-acl > > > > > > > > > org.apache.grails:grails-security-cas > > > > > > > > > org.apache.grails:grails-security-core > > > > > > > > > org.apache.grails:grails-security-ldap > > > > > > > > > org.apache.grails:grails-security-oauth2 > > > > > > > > > org.apache.grails:grails-security-rest > > > > > > > > > org.apache.grails:grails-security-rest-data > > > > > > > > > org.apache.grails:grails-security-rest-grails-cache > > > > > > > > > org.apache.grails:grails-security-rest-memcached > > > > > > > > > org.apache.grails:grails-security-rest-redis > > > > > > > > > org.apache.grails:grails-security-ui > > > > > > > > > > > > > > > > > > org.apache.grails:grails-redis > > > > > > > > > org.apache.grails:grails-quartz > > > > > > > > > > > > > > > > > > Gianluca > > > > > > > > > > > > > > > > > > On Wed, 19 Mar 2025 at 17:10, Mattias Reichel < > > > > > > > mattias.reic...@gmail.com> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.grails:grails-codecs > > > > > > > > > > org.apache.grails:grails-controllers > > > > > > > > > > org.apache.grails:grails-databinding > > > > > > > > > > org.apache.grails:grails-datasource > > > > > > > > > > org.apache.grails:grails-domain-class > > > > > > > > > > org.apache.grails:grails-i18n > > > > > > > > > > org.apache.grails:grails-interceptors > > > > > > > > > > org.apache.grails:grails-mimetypes > > > > > > > > > > org.apache.grails:grails-rest-responder > > > > > > > > > > org.apache.grails:grails-services > > > > > > > > > > org.apache.grails:grails-url-mappings > > > > > > > > > > > > > > > > > > > > org.apache.grails:grails-async > > > > > > > > > > org.apache.grails:grails-converters > > > > > > > > > > org.apache.grails:grails-events > > > > > > > > > > org.apache.grails:grails-sitemesh3 > > > > > > > > > > org.apache.grails:grails-fields > > > > > > > > > > org.apache.grails:grails-views-gsp > > > > > > > > > > org.apache.grails:grails-views-gson > > > > > > > > > > org.apache.grails:grails-views-markup > > > > > > > > > > org.apache.grails:grails-scaffolding > > > > > > > > > > > > > > > > > > > > org.apache.grails:grails-data-hibernate5 > > > > > > > > > > org.apache.grails:grails-data-hibernate6 > > > > > > > > > > org.apache.grails:grails-data-migration-hibernate5 > > > > > > > > > > org.apache.grails:grails-data-migration-hibernate6 > > > > > > > > > > org.apache.grails:grails-data-mongodb > > > > > > > > > > > > > > > > > > > > org.apache.grails:grails-cache > > > > > > > > > > org.apache.grails:grails-geb > > > > > > > > > > org.apache.grails:grails-spring-security-acl > > > > > > > > > > org.apache.grails:grails-spring-security-cas > > > > > > > > > > org.apache.grails:grails-spring-security-core > > > > > > > > > > org.apache.grails:grails-spring-security-ldap > > > > > > > > > > org.apache.grails:grails-spring-security-oauth2 > > > > > > > > > > org.apache.grails:grails-spring-security-rest > > > > > > > > > > org.apache.grails:grails-spring-security-rest-data > > > > > > > > > > > org.apache.grails:grails-spring-security-rest-grails-cache > > > > > > > > > > org.apache.grails:grails-spring-security-rest-memcached > > > > > > > > > > org.apache.grails:grails-spring-security-rest-redis > > > > > > > > > > org.apache.grails:grails-spring-security-ui > > > > > > > > > > > > > > > > > > > > org.apache.grails:grails-redis > > > > > > > > > > org.apache.grails:grails-quartz > > > > > > > > > > > > > > > > > > > > Regards > > > > > > > > > > Mattias > > > > > > > > > > > > > > > > > > > > Den ons 19 mars 2025 kl 16:25 skrev James Daugherty > > > > > > > > > > <jdaughe...@jdresources.net.invalid>: > > > > > > > > > > > > > > > > > > > > > Some follow-up notes: > > > > > > > > > > > > > > > > > > > > > > > The artifactid containing grails-, grails-plugin-, > > > > > > > grails-profile- or > > > > > > > > > > > grails-gradle-plugin- is important so that the jar > > > filename is > > > > > > > clear > > > > > > > > > and > > > > > > > > > > > descriptive when pulled from maven central and you are > > > viewing > > > > > > > them in > > > > > > > > > a > > > > > > > > > > > fat jar/war or directory. There are a few that do not > > > have > > > > > one of > > > > > > > > > these > > > > > > > > > > > prefixes and I think a prefix should be added to the > > > > > artifactid. > > > > > > > > > > > 1. Did my table miss adding prefixes? I think I added > all > > > of > > > > > the > > > > > > > ones > > > > > > > > > I > > > > > > > > > > > was aware of ... > > > > > > > > > > > 2. I agree with you on the location - starting allows > them > > > to > > > > > be > > > > > > > used > > > > > > > > > as > > > > > > > > > > a > > > > > > > > > > > prefix and allows discoverability via maven. > > > > > > > > > > > > > > > > > > > > > > >grails-gradle-plugins is slightly confusing when > > > > > > > > > > grails-gradle-plugin-*'s > > > > > > > > > > > exist. Maybe something like > > > > > > > > > grails-gradle-plugin-core/base/main/common, > > > > > > > > > > > same for grails-gradle-view-plugins > > > > > > > > > > > grails-gradle-plugins isn't a gradle plugin. It's the > > > grouping > > > > > > > for all > > > > > > > > > > > gradle plugins under that given repo. This is what we > often > > > > > add to > > > > > > > the > > > > > > > > > > > classpath in buildScript to import all of the known > plugins > > > > > > > > > > > > > > > > > > > > > > > grails-view-plugin- and grails-security-plugin-, > should > > > > > plugin > > > > > > > come > > > > > > > > > > > before view and security? I agree with > > > grails-gradle-plugin, > > > > > but > > > > > > > am > > > > > > > > > > unsure > > > > > > > > > > > on these two. > > > > > > > > > > > I'm fine changing that, but shouldn't gorm & view be > > > included > > > > > in > > > > > > > this? > > > > > > > > > > > grails-plugin-gorm, grails-plugin-security, > > > grails-plugin-view, > > > > > > > > > > > grails-plugin-gorm - how do these sound? > > > > > > > > > > > > > > > > > > > > > > > The 2 artifactids that start with views- should start > > > with > > > > > > > > > > grails-views- > > > > > > > > > > > Can you identify these artifacts? Are you talking > about > > > the > > > > > gradle > > > > > > > > > > plugins > > > > > > > > > > > (we renamed these already) or something else? > > > > > > > > > > > > > > > > > > > > > > > I think org.apache.grails.forge:grails-cli should be > > > > > > > > > > > org.apache.grails.forge:grails-forge-cli. This may be > a > > > good > > > > > time > > > > > > > to > > > > > > > > > > > rename grails-shell to grails-shell-cli also. > > > > > > > > > > > I agree with these. > > > > > > > > > > > > > > > > > > > > > > > The long artifactids, like, > > > > > org.grails.grails-gsp.gradle.plugin > > > > > > > ... > > > > > > > > > are > > > > > > > > > > > the way Gradle Plugins can be published to a non-Gradle > > > Plugin > > > > > > > Portal > > > > > > > > > > > Are you sure about this statement? I noticed the views > > > plugins > > > > > > > > > (markup / > > > > > > > > > > > json) do not have this and they are used in projects > > > without > > > > > issue > > > > > > > - > > > > > > > > > > that's > > > > > > > > > > > why I proposed the change. > > > > > > > > > > > > > > > > > > > > > > > Can we standardize gorm-, grails-datastore-gorm-, > > > > > > > grails-gorm-plugin- > > > > > > > > > > and > > > > > > > > > > > grails-datastore- around grails-data- and > > > grails-plugin-data- > > > > > > > > > > > So grails-plugin-gorm becomes grails-plugin-data? > That's > > > > > > > reasonable. > > > > > > > > > > For > > > > > > > > > > > the datastore & gorm, I think we need to work through > each > > > of > > > > > these > > > > > > > > > since > > > > > > > > > > > for each gorm implementation there is often a base > > > > > implementation > > > > > > > and > > > > > > > > > > then > > > > > > > > > > > a plugin that exposes that implementation and then > there > > > are > > > > > the > > > > > > > base > > > > > > > > > > gorm > > > > > > > > > > > libraries that are considered part of the original > > > > > data-mapping. > > > > > > > Can > > > > > > > > > you > > > > > > > > > > > enumerate what should be renamed to what? > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > James > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Mar 19, 2025 at 11:11 AM James Fredley < > > > > > > > > > jamesfred...@apache.org> > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > I put a number of related details in my longer > post. In > > > > > terms of > > > > > > > > > > > location > > > > > > > > > > > > of the word `plugin` in the artifactid, I prefer > towards > > > the > > > > > > > > > beginning > > > > > > > > > > vs > > > > > > > > > > > > at the end. This makes grouping and search a bit > > > simpler. > > > > > I we > > > > > > > go > > > > > > > > > > this > > > > > > > > > > > > direction, we need to make decisions on > > > grails-view-plugin-, > > > > > > > > > > > > grails-gradle-plugin- and grails-security-plugin-. > > > > > > > > > > > > > > > > > > > > > > > > On 2025/03/19 13:02:18 Søren Berg Glasius wrote: > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > > > > > > > > > > > I agree on most, but wonder why there is > inconsistency > > > on > > > > > some > > > > > > > of > > > > > > > > > the > > > > > > > > > > > > > plugin naming: > > > > > > > > > > > > > > > > > > > > > > > > > > org.grails.plugins fields org.apache.grails.plugins > > > > > > > > > > > grails-plugin-fields > > > > > > > > > > > > > grails-views > > > > > > > > > > > > > org.grails.plugins gsp org.apache.grails.plugins > > > > > > > > > > grails-view-plugin-gsp > > > > > > > > > > > > > grails-views > > > > > > > > > > > > > org.grails.plugins scaffolding > > > org.apache.grails.plugins > > > > > > > > > > > > > grails-plugin-scaffolding grails-views > > > > > > > > > > > > > org.grails.plugins views-json > org.apache.grails.plugins > > > > > > > > > > > > > grails-view-plugin-gson grails-views > > > > > > > > > > > > > org.grails views-core org.apache.grails views-core > > > > > grails-views > > > > > > > > > > > > > org.grails views-json-testing-support > > > > > org.apache.grails.testing > > > > > > > > > > > > > views-json-testing-support grails-views > > > > > > > > > > > > > org.grails views-markup org.apache.grails.plugins > > > > > > > > > > > > grails-view-plugin-markup > > > > > > > > > > > > > grails-views > > > > > > > > > > > > > IMO we should decide where the word *plugin* is > placed > > > in > > > > > the > > > > > > > name. > > > > > > > > > > > > > Personally I'd prefer *grails-x-plugin*, and > > > > > > > *grails-view-x-plugin* > > > > > > > > > > (so > > > > > > > > > > > > > *grails-fields-plugin* and > *grails-view-gsp-plugin* for > > > > > > > examples > > > > > > > > > and > > > > > > > > > > > > > perhaps *grails-view-core*) for consistency. > > > > > > > > > > > > > > > > > > > > > > > > > > Just my 0.02€ worth. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Den ons. 19. mar. 2025 kl. 13.46 skrev James > Daugherty > > > > > > > > > > > > > <jdaughe...@jdresources.net.invalid>: > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Everyone, > > > > > > > > > > > > > > > > > > > > > > > > > > > > Per previous meetings, we agreed to rename the > maven > > > > > > > coordinates > > > > > > > > > as > > > > > > > > > > > > part of > > > > > > > > > > > > > > transitioning to the ASF. During this renaming, > we > > > also > > > > > set > > > > > > > out > > > > > > > > > > > > several > > > > > > > > > > > > > > requirements for being consistent with our group > ids > > > and > > > > > > > artifact > > > > > > > > > > > ids. > > > > > > > > > > > > > > Since these renames are going to be referenced > > > heavily by > > > > > > > anyone > > > > > > > > > > > > upgrading > > > > > > > > > > > > > > to the ASF packages, I am proposing we create a > > > > > 'RENAME.md' > > > > > > > > > > markdown > > > > > > > > > > > > file > > > > > > > > > > > > > > in the grails-core repository. We can then later > > > include > > > > > > > this > > > > > > > > > file > > > > > > > > > > > on > > > > > > > > > > > > the > > > > > > > > > > > > > > website, grails docs, etc. > > > > > > > > > > > > > > > > > > > > > > > > > > > > My attempt at mapping the new group ids and > artifacts > > > > > ids are > > > > > > > > > here: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/apache/grails-core/blob/9ac56cac136f5228d783bda5671a49d433901ba5/RENAME.md > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The PR to add this file to grails-core is here: > > > > > > > > > > > > > > > > > https://github.com/apache/grails-core/pull/14074/files > > > > > > > > > > > > > > > > > > > > > > > > > > > > Can people either comment on the PR or discuss > here > > > for > > > > > the > > > > > > > > > > proposed > > > > > > > > > > > > > > renames? > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > James > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > > > Med venlig hilsen, > > > > > > > > > > > > > Søren Berg Glasius > > > > > > > > > > > > > > > > > > > > > > > > > > Hedevej 1, Gl. Rye, 8680 Ry > > > > > > > > > > > > > Mobile: +45 40 44 91 88 > > > > > > > > > > > > > --- Press ESC once to quit - twice to save the > changes. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >