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]