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

Reply via email to