Skip to content

Commit

Permalink
rework spring-cache dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
mshima committed Mar 20, 2024
1 parent 62f057d commit 181012c
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 27 deletions.
4 changes: 2 additions & 2 deletions generators/java/types.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ export type JavaArtifactVersion = RequireOneOrNone<{ version: string; versionRef
export type JavaDependency = JavaArtifact & JavaArtifactVersion;

export type JavaDefinition = {
versions: JavaDependencyVersion[];
dependencies: JavaDependency[];
versions?: JavaDependencyVersion[];
dependencies?: JavaDependency[];
};

export type JavaNeedleOptions = GradleNeedleOptions;
Expand Down
18 changes: 0 additions & 18 deletions generators/server/resources/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,10 @@
<blockhound-junit-platform.version>1.0.8.RELEASE</blockhound-junit-platform.version>
<commons-beanutils.version>1.9.4</commons-beanutils.version>
<gatling.version>3.10.4</gatling.version>
<hazelcast-hibernate53.version>5.1.0</hazelcast-hibernate53.version>
<hazelcast-spring.version>5.3.6</hazelcast-spring.version>
<jackson-databind-nullable.version>0.2.6</jackson-databind-nullable.version>
<mapstruct.version>1.5.5.Final</mapstruct.version>
<micrometer-context-propagation.version>1.1.1</micrometer-context-propagation.version>
<picocli.version>4.7.5</picocli.version>
<typesafe.version>1.4.3</typesafe.version>

<!-- Plugin versions -->
<checkstyle.version>10.14.2</checkstyle.version>
Expand Down Expand Up @@ -56,26 +53,11 @@
<artifactId>commons-beanutils</artifactId>
<version>${commons-beanutils.version}</version>
</dependency>
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-hibernate53</artifactId>
<version>${hazelcast-hibernate53.version}</version>
</dependency>
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-spring</artifactId>
<version>${hazelcast-spring.version}</version>
</dependency>
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit-junit5-api</artifactId>
<version>${archunit-junit5.version}</version>
</dependency>
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
<version>${typesafe.version}</version>
</dependency>
<dependency>
<groupId>io.gatling.highcharts</groupId>
<artifactId>gatling-charts-highcharts</artifactId>
Expand Down
17 changes: 13 additions & 4 deletions generators/spring-cache/generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import writeTask from './files.js';
import cleanupTask from './cleanup.js';
import { createNeedleCallback } from '../base/support/needles.js';
import { getCacheProviderMavenDefinition } from './internal/dependencies.js';
import { JavaDependency } from '../java/types.js';
import { JavaDependency, JavaDependencyVersion } from '../java/types.js';

export default class SpringCacheGenerator extends BaseApplicationGenerator {
async beforeQueue() {
Expand All @@ -37,6 +37,9 @@ export default class SpringCacheGenerator extends BaseApplicationGenerator {

get preparing() {
return this.asPreparingTaskGroup({
loadDependabot({ application }) {
this.loadJavaDependenciesFromGradleCatalog(application.javaDependencies!, true);
},
addNeedles({ source, application }) {
if (
(application as any).cacheProviderEhcache ||
Expand Down Expand Up @@ -136,12 +139,18 @@ export default class SpringCacheGenerator extends BaseApplicationGenerator {
const { cacheProvider, enableHibernateCache } = application as any;

const dependencies: JavaDependency[] = [{ groupId: 'org.springframework.boot', artifactId: 'spring-boot-starter-cache' }];
const versions: JavaDependencyVersion[] = [];
const definition = getCacheProviderMavenDefinition(cacheProvider, javaDependencies);
dependencies.push(...definition.base.dependencies);
versions.push(...(definition.base.versions ?? []));
dependencies.push(...definition.base.dependencies!);
if (enableHibernateCache && definition.hibernateCache) {
dependencies.push(...definition.hibernateCache.dependencies);
versions.push(...(definition.hibernateCache.versions ?? []));
dependencies.push(...definition.hibernateCache.dependencies!);
}
source.addJavaDependencies?.(dependencies, { gradleFile: 'buildSrc/src/main/groovy/jhipster.spring-cache-conventions.gradle' });
source.addJavaDefinition?.(
{ dependencies, versions },
{ gradleFile: 'buildSrc/src/main/groovy/jhipster.spring-cache-conventions.gradle' },
);
},
});
}
Expand Down
13 changes: 10 additions & 3 deletions generators/spring-cache/internal/dependencies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* limitations under the License.
*/

import { JavaDependency } from '../../java/types.js';
import { JavaDependency, JavaDependencyVersion } from '../../java/types.js';

const javaxCacheApi = {
groupId: 'javax.cache',
Expand All @@ -28,9 +28,11 @@ const hibernateJCache = {
artifactId: 'hibernate-jcache',
};

type CacheProviderDefinition = { versions?: JavaDependencyVersion[]; dependencies: JavaDependency[] };

type CacheProviderDependencies = {
base: { dependencies: JavaDependency[] };
hibernateCache?: { dependencies: JavaDependency[] };
base: CacheProviderDefinition;
hibernateCache?: CacheProviderDefinition;
};

// eslint-disable-next-line import/prefer-default-export
Expand All @@ -55,6 +57,7 @@ export const getCacheProviderMavenDefinition: (
{
groupId: 'org.redisson',
artifactId: 'redisson',
version: '3.27.2',
},
],
},
Expand Down Expand Up @@ -151,19 +154,23 @@ export const getCacheProviderMavenDefinition: (
},
memcached: {
base: {
versions: [{ name: 'xmemcached-provider', version: javaDependencies['xmemcached-provider'] }],
dependencies: [
javaxCacheApi,
{
groupId: 'com.google.code.simple-spring-memcached',
artifactId: 'spring-cache',
versionRef: 'xmemcached-provider',
},
{
groupId: 'com.google.code.simple-spring-memcached',
artifactId: 'xmemcached-provider',
versionRef: 'xmemcached-provider',
},
{
groupId: 'com.googlecode.xmemcached',
artifactId: 'xmemcached',
version: javaDependencies.xmemcached,
},
],
},
Expand Down
13 changes: 13 additions & 0 deletions generators/spring-cache/resources/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[libraries]
# caffeine
typesafe = { module = 'com.typesafe:config', version = '1.4.3' }

# hazelcast
hazelcast-hibernate53 = { module = 'com.hazelcast:hazelcast-hibernate53', version = '5.1.0' }

hazelcast-spring = { module = 'com.hazelcast:hazelcast-spring', version = '5.3.6' }

# memcached
xmemcached-provider = { module = 'com.google.code.simple-spring-memcached:xmemcached-provider', version = '4.1.3' }

xmemcached = { module = 'com.googlecode.xmemcached:xmemcached', version = '2.4.8' }

0 comments on commit 181012c

Please sign in to comment.