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.
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> 

Reply via email to