jdaugherty commented on PR #189:
URL: https://github.com/apache/grails-redis/pull/189#issuecomment-3102549982

   Here are the pom.xml files with my change vs @matrei:
   
   @jdaugherty pom file: 
   
         <?xml version="1.0" encoding="UTF-8"?>
         <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
           <!-- This module was also published with a richer model, Gradle 
metadata,  -->
           <!-- which should be used instead. Do not delete the following line 
which  -->
           <!-- is to indicate to Gradle or any Gradle module metadata file 
consumer  -->
           <!-- that they should prefer consuming it instead. -->
           <!-- do_not_remove: published-with-gradle-metadata -->
           <modelVersion>4.0.0</modelVersion>
           <groupId>org.apache.grails</groupId>
           <artifactId>grails-redis</artifactId>
           <version>5.0.0-SNAPSHOT</version>
           <dependencies>
             <dependency>
               <groupId>redis.clients</groupId>
               <artifactId>jedis</artifactId>
               <scope>compile</scope>
               <version>6.0.0</version>
             </dependency>
             <dependency>
               <groupId>com.google.code.gson</groupId>
               <artifactId>gson</artifactId>
               <scope>compile</scope>
               <version>2.13.1</version>
             </dependency>
           </dependencies>
           <name>Grails Redis Plugin</name>
           <description>This Plugin provides access to Redis and various 
utilities (service, annotations, etc) for caching.</description>
           <url>https://github.com/apache/grails-redis</url>
           <licenses>
             <license>
               <name>The Apache Software License, Version 2.0</name>
               <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
               <distribution>repo</distribution>
             </license>
           </licenses>
           <scm>
             <url>https://github.com/apache/grails-redis</url>
             
<connection>scm:[email protected]:apache/grails-redis.git</connection>
             
<developerConnection>scm:[email protected]:apache/grails-redis.git</developerConnection>
           </scm>
           <issueManagement>
             <system>GitHub Issues</system>
             <url>https://github.com/apache/grails-redis/issues</url>
           </issueManagement>
           <developers>
             <developer>
               <id>tednaleid</id>
               <name>Ted Naleid</name>
             </developer>
             <developer>
               <id>burtbeckwith</id>
               <name>Burt Beckwith</name>
             </developer>
             <developer>
               <id>christianoestreich</id>
               <name>Christian Oestreich</name>
             </developer>
             <developer>
               <id>briancoles</id>
               <name>Brian Coles</name>
             </developer>
             <developer>
               <id>michaelcameron</id>
               <name>Michael Cameron</name>
             </developer>
             <developer>
               <id>johnengelman</id>
               <name>John Engelman</name>
             </developer>
             <developer>
               <id>davidseiler</id>
               <name>David Seiler</name>
             </developer>
             <developer>
               <id>jordonsaardchit</id>
               <name>Jordon Saardchit</name>
             </developer>
             <developer>
               <id>florianlangenhahn</id>
               <name>Florian Langenhahn</name>
             </developer>
             <developer>
               <id>germansancho</id>
               <name>German Sancho</name>
             </developer>
             <developer>
               <id>johnmulhern</id>
               <name>John Mulhern</name>
             </developer>
             <developer>
               <id>shaunjurgemeyer</id>
               <name>Shaun Jurgemeyer</name>
             </developer>
             <developer>
               <id>puneetbehl</id>
               <name>Puneet Behl</name>
             </developer>
           </developers>
         </project>
   
   
   @matrei pom file: 
   
         <?xml version="1.0" encoding="UTF-8"?>
         <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
           <!-- This module was also published with a richer model, Gradle 
metadata,  -->
           <!-- which should be used instead. Do not delete the following line 
which  -->
           <!-- is to indicate to Gradle or any Gradle module metadata file 
consumer  -->
           <!-- that they should prefer consuming it instead. -->
           <!-- do_not_remove: published-with-gradle-metadata -->
           <modelVersion>4.0.0</modelVersion>
           <groupId>org.apache.grails</groupId>
           <artifactId>grails-redis</artifactId>
           <version>5.0.0-SNAPSHOT</version>
           <dependencies>
             <dependency>
               <groupId>redis.clients</groupId>
               <artifactId>jedis</artifactId>
               <scope>compile</scope>
               <version>6.0.0</version>
             </dependency>
             <dependency>
               <groupId>com.google.code.gson</groupId>
               <artifactId>gson</artifactId>
               <scope>compile</scope>
               <version>2.13.1</version>
             </dependency>
             <dependency>
               <groupId>org.springframework</groupId>
               <artifactId>spring-beans</artifactId>
               <scope>compile</scope>
               <version>6.2.8</version>
             </dependency>
             <dependency>
               <groupId>org.springframework</groupId>
               <artifactId>spring-core</artifactId>
               <scope>compile</scope>
               <version>6.2.8</version>
             </dependency>
             <dependency>
               <groupId>org.apache.grails.data</groupId>
               <artifactId>grails-datamapping-core</artifactId>
               <scope>runtime</scope>
               <version>7.0.0-M5</version>
             </dependency>
             <dependency>
               <groupId>org.apache.grails.views</groupId>
               <artifactId>grails-web-taglib</artifactId>
               <scope>runtime</scope>
               <version>7.0.0-M5</version>
             </dependency>
           </dependencies>
           <name>Grails Redis Plugin</name>
           <description>This Plugin provides access to Redis and various 
utilities (service, annotations, etc) for caching.</description>
           <url>https://github.com/apache/grails-redis</url>
           <licenses>
             <license>
               <name>The Apache Software License, Version 2.0</name>
               <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
               <distribution>repo</distribution>
             </license>
           </licenses>
           <scm>
             <url>https://github.com/apache/grails-redis</url>
             
<connection>scm:[email protected]:apache/grails-redis.git</connection>
             
<developerConnection>scm:[email protected]:apache/grails-redis.git</developerConnection>
           </scm>
           <issueManagement>
             <system>GitHub Issues</system>
             <url>https://github.com/apache/grails-redis/issues</url>
           </issueManagement>
           <developers>
             <developer>
               <id>tednaleid</id>
               <name>Ted Naleid</name>
             </developer>
             <developer>
               <id>burtbeckwith</id>
               <name>Burt Beckwith</name>
             </developer>
             <developer>
               <id>christianoestreich</id>
               <name>Christian Oestreich</name>
             </developer>
             <developer>
               <id>briancoles</id>
               <name>Brian Coles</name>
             </developer>
             <developer>
               <id>michaelcameron</id>
               <name>Michael Cameron</name>
             </developer>
             <developer>
               <id>johnengelman</id>
               <name>John Engelman</name>
             </developer>
             <developer>
               <id>davidseiler</id>
               <name>David Seiler</name>
             </developer>
             <developer>
               <id>jordonsaardchit</id>
               <name>Jordon Saardchit</name>
             </developer>
             <developer>
               <id>florianlangenhahn</id>
               <name>Florian Langenhahn</name>
             </developer>
             <developer>
               <id>germansancho</id>
               <name>German Sancho</name>
             </developer>
             <developer>
               <id>johnmulhern</id>
               <name>John Mulhern</name>
             </developer>
             <developer>
               <id>shaunjurgemeyer</id>
               <name>Shaun Jurgemeyer</name>
             </developer>
             <developer>
               <id>puneetbehl</id>
               <name>Puneet Behl</name>
             </developer>
           </developers>
           <dependencyManagement>
             <dependencies>
               <dependency>
                 <groupId>org.apache.grails</groupId>
                 <artifactId>grails-bom</artifactId>
                 <version>7.0.0-M5</version>
                 <scope>import</scope>
                 <type>pom</type>
               </dependency>
               <dependency>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-dependencies</artifactId>
                 <version>3.5.3</version>
                 <scope>import</scope>
                 <type>pom</type>
               </dependency>
             </dependencies>
           </dependencyManagement>
         </project>
   
   
   Interestingly, here are the file size differences: 
   
   @jdaugherty:
   
       -rw-r--r--  1 jdaugherty 109K Jul 21 14:49 
grails-redis-5.0.0-SNAPSHOT-javadoc.jar
       -rw-r--r--  1 jdaugherty  37K Jul 21 14:45 
grails-redis-5.0.0-SNAPSHOT-sources.jar
       -rw-r--r--  1 jdaugherty 132K Jul 21 14:49 
grails-redis-5.0.0-SNAPSHOT.jar
   
   
   @matrei
   
   
       -rw-r--r--  1 jdaugherty 109K Jul 22 08:31 
grails-redis-5.0.0-SNAPSHOT-javadoc.jar
       -rw-r--r--  1 jdaugherty  37K Jul 22 08:31 
grails-redis-5.0.0-SNAPSHOT-sources.jar
       -rw-r--r--  1 jdaugherty 136K Jul 22 08:31 
grails-redis-5.0.0-SNAPSHOT.jar
   
   I don't think the file sizes are a material difference, but the poms will 
have a real impact on needing to release this in the future.  
   
   I think https://github.com/apache/grails-core/pull/14924 will help make this 
look less like a kitchen sink since it will collapse the dependencies to 2 
statements (see the grails-dependencies-all example).  My concern with 
https://github.com/apache/grails-redis/pull/190 is that by depending on all of 
these libraries, we're forcing gradle to resolve them for every future Grails 
version & we're exposing the dependency management plugin to pull in all of the 
Spring Boot dependencies.  We're also reaching into the Grails internals 
(org.apache.grails.views:grails-web-taglib) and adding a dependency that should 
be considered the equivalent of `package private`.  
   
   Changes like this prevent us from restructuring Grails in the future unless 
we also continually re-release code that adds this style of dependencies. We 
need to view the `grails-core` repo projects as a platform.  We know it's 
present when we pull in these plugins and there's no reason to have to release 
a plugin for every release.  Otherwise, we're going to spend all of our time 
releasing when we can be coding.  
   
   On a side note: I 100% agree that inside of `grails-core` we should be 
diligent about declaring explicit dependencies.  I disagree we should do that 
in plugins since it will slow our release cadence and ability to get a change 
done.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to