Does this proposal address all of the issues then? https://github.com/apache/grails-core/pull/14080
On Thu, Mar 20, 2025 at 9:44 AM Mattias Reichel <mattias.reic...@gmail.com> wrote: > > On gson vs json: if we introduce other json options in the future (i.e. > jackson) this could cause confusion. I'd rather we call them gson since > that's the underlying technology. > I'm fine with using gson instead of json. > > Den tors 20 mars 2025 kl 14:40 skrev Mattias Reichel < > mattias.reic...@gmail.com>: > > > > Spring calls these starters, grails calls them plugins. > > I'm not sure this analogy is 100% correct. Aren't Spring Starters just > > dependency aggregators, not bringing any code of their own. > > Maybe Spring AutoConfigurations are more analogous to Grails Plugins? > > Anyways, I think the concept of Plugins is much easier for users to grasp > > than AutoConfigurations or Starters and we should also create our own > > dependency aggregators to clean up the app build files. > > > > > Mattias' workaround was to add a `-core` suffix, but I don't think this > > will make it easier on us. I'm not against the rename, I just worry it's > > going to be a problem when we try to simplify. > > Yes, this is to have the best possible names for the public facing > > dependencies (plugins). > > Even if we change the group id, we will still need to separate the > > artifactIds because of the distribution packaging where every jar ends up > > in the same directory. > > > > > Concerning gsp, markdown, and json: they are all view technologies. > > Yes, that is absolutely correct and why I had grails-views-gsp in my > first > > iteration. But there is also a difference between gsp vs markdown and > json. > > I am fine either way. > > > > > It sounds like people may be supportive of combining the gradle plugins > > into a single repository. Mattias are you? > > Yes, right now I cannot think of a reason this would be a bad idea. > > > > > Gianluca proposed reversing the order of spring-security to > > security-spring. I'm fine with either. Mattias: What are your thoughts > on > > this topic? > > I think grails-security-spring-* is a good idea! > > > > > Why don't we make anything that is a plugin have a root group id of > > "org.apache.grails", and anything that's supportive have a nested group > > name based on the type? > > I think this is worth exploring! > > > > Den tors 20 mars 2025 kl 13:46 skrev James Daugherty > > <jdaughe...@jdresources.net.invalid>: > > > >> Actually, how about this proposal: > >> > >> Why don't we make anything that is a plugin have a root group id of > >> "org.apache.grails", and anything that's supportive have a nested group > >> name based on the type? > >> > >> > >> On Thu, Mar 20, 2025 at 8:42 AM James Daugherty <jdaughe...@apache.org> > >> wrote: > >> > >> > Here are the differences between James Fredley's proposal and > Mattias's > >> (I > >> > couldn't attach an image unfortunately): > >> > > >> > > >> > grails-codecs-core > >> > grails-databinding-core > >> > grails-gradle-plugins > >> > grails-gsp > >> > spring-security-rest-testapp > >> > grails-views-json > >> > grails-data-mongodb-json-templates > >> > org.apache.grails.gradle.grails-views-json.gradle.plugin > >> > views-json grails-views-json > >> > org.apache.grails.gradle.grails-views-markup.gradle.plugin > >> > views-markup grails-views-markup > >> > > >> > > >> > > >> > Michael brought up a good point earlier - long term we will likely > want > >> to > >> > simplify the artifact names that are presented to users. Spring calls > >> > these starters, grails calls them plugins. I think we're making this > >> > problem worse by not distinguishing between a library vs a > configuration > >> > that imports that library (plugin/starter). Mattias' workaround was > to > >> add > >> > a `-core` suffix, but I don't think this will make it easier on us. > I'm > >> > not against the rename, I just worry it's going to be a problem when > we > >> try > >> > to simplify. > >> > > >> > Concerning gsp, markdown, and json: they are all view technologies. I > >> > don't think we should simplify the gsp name by removing views & > clarify > >> > json by adding it. It's inconsistent. If you're using a rest app, > you > >> > don't even use gsps. We should either prefix them with views or drop > >> views > >> > from all of them. > >> > > >> > On gson vs json: if we introduce other json options in the future > (i.e. > >> > jackson) this could cause confusion. I'd rather we call them gson > since > >> > that's the underlying technology. > >> > > >> > I am ok with grails-gradle-plugin or grails-gradle-plugins. It sounds > >> > like people may be supportive of combining the gradle plugins into a > >> single > >> > repository. Mattias are you? > >> > > >> > Gianluca proposed reversing the order of spring-security to > >> > security-spring. I'm fine with either. Mattias: What are your > >> thoughts on > >> > this topic? > >> > > >> > Michael, this proposal only concerns the artifact names. We had > planned > >> > to repackage, but at this point I'm wondering if that should wait > until > >> 8. > >> > It seems people have several thoughts on how that packaging should > look. > >> > For example, while I'm ok with collapsing the libraries that the end > >> user > >> > needs to include, I do not want to combine a bunch of gradle projects > >> into > >> > a single one. If we do that, given our repo sizes, it will mean > gradle > >> > can't parallel process or cache those projects. This could be a huge > >> > development burden. I would suggest we get through the discussion of > >> the > >> > artifact names and then address repackaging. Longer term, we can > >> address > >> > collapsing what the user uses. > >> > > >> > On Michael's point on the group ids: I am ok with making more specific > >> > group ids. What are other people's thoughts on this? This proposal > >> > already contains testing & gradle specific groups. Should we do as > >> Michael > >> > suggests and add more for async, data, events, etc? > >> > > >> > On 2025/03/20 09:24:58 Mattias Reichel wrote: > >> > > 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. > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > > >