Skip to content

Commit

Permalink
Explicitly remove java dependency
Browse files Browse the repository at this point in the history
  • Loading branch information
DamnClin committed Jul 11, 2022
1 parent 531b66a commit bca8016
Show file tree
Hide file tree
Showing 21 changed files with 206 additions and 115 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.add(SOURCE.template("HexagonalArchTest.java"), testDestination.append("HexagonalArchTest.java"))
.and()
.javaDependencies()
.dependency(archUnitDependency())
.addDependency(archUnitDependency())
.and()
.optionalReplacements()
.in("src/test/resources/logback.xml")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
//@formatter:off
return moduleBuilder(properties)
.javaDependencies()
.version(javaDependencyVersion("node", NODE_VERSION))
.version(javaDependencyVersion("npm", NPM_VERSION))
.setVersion(javaDependencyVersion("node", NODE_VERSION))
.setVersion(javaDependencyVersion("npm", NPM_VERSION))
.and()
.javaBuildPlugins()
.plugin(checksumPlugin())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ private JHipsterModule buildModule(
.put("apiExternalDocUrl", "")
.and()
.javaDependencies()
.dependency(springdocJavaDependency)
.addDependency(springdocJavaDependency)
.and()
.files()
.add(SOURCE.template(srcSpringdocJavaFile), mainDestination.append(SPRINGDOC_CONFIG_JAVA_FILE))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ public class SpringBootCoreModuleFactory {
private static final GroupId SRPING_BOOT_GROUP = groupId("org.springframework.boot");
private static final String APPLICATION_PROPERTIES = "application.properties";

private static final String JUNIT_GROUP = "org.junit.jupiter";
private static final String MOCKITO_GROUP = "org.mockito";

private static final JHipsterDestination MAIN_RESOURCE_DESTINATION = to("src/main/resources");
private static final JHipsterDestination MAIN_CONFIG_DESTINATION = MAIN_RESOURCE_DESTINATION.append("config");
private static final JHipsterDestination TEST_RESOURCES_DESTINATION = to("src/test/resources");
Expand All @@ -38,11 +41,16 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.put("mainClass", mainClassName)
.and()
.javaDependencies()
.dependencyManagement(springBootBom())
.dependency(SRPING_BOOT_GROUP, artifactId("spring-boot-starter"))
.dependency(springBootConfigurationProcessor())
.dependency(groupId("org.apache.commons"), artifactId("commons-lang3"))
.dependency(springBootTest())
.removeDependency(dependencyId(JUNIT_GROUP, "junit-jupiter-engine"))
.removeDependency(dependencyId(JUNIT_GROUP, "junit-jupiter-params"))
.removeDependency(dependencyId("org.assertj", "assertj-core"))
.removeDependency(dependencyId(MOCKITO_GROUP, "mockito-junit-jupiter"))
.removeDependency(dependencyId(MOCKITO_GROUP, "mockito-inline"))
.addDependencyManagement(springBootBom())
.addDependency(SRPING_BOOT_GROUP, artifactId("spring-boot-starter"))
.addDependency(springBootConfigurationProcessor())
.addDependency(groupId("org.apache.commons"), artifactId("commons-lang3"))
.addDependency(springBootTest())
.and()
.javaBuildPlugins()
.pluginManagement(springBootPluginManagement())
Expand Down Expand Up @@ -94,17 +102,17 @@ private JavaBuildPlugin springBootPluginManagement() {
.versionSlug("spring-boot")
.additionalElements(
"""
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>${start-class}</mainClass>
</configuration>
"""
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>${start-class}</mainClass>
</configuration>
"""
)
.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,12 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.add(SOURCE.file("gitkeep"), to("src/test/features/.gitkeep"))
.and()
.javaDependencies()
.dependency(cucumberJunitDependency())
.dependency(cucumberJavaDependency())
.dependency(cucumberSpringDependency())
.dependency(junitVintageDependency())
.dependency(testNgDependency())
.dependency(awaitilityDependency())
.addDependency(cucumberJunitDependency())
.addDependency(cucumberJavaDependency())
.addDependency(cucumberSpringDependency())
.addDependency(junitVintageDependency())
.addDependency(testNgDependency())
.addDependency(awaitilityDependency())
.and();
//@formatter:on

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {

return sqlCommonModuleBuilder(properties, DatabaseType.MARIADB, dockerImages.get("mariadb"), documentationTitle("MariaDB"))
.javaDependencies()
.dependency(groupId("org.mariadb.jdbc"), artifactId("mariadb-java-client"))
.addDependency(groupId("org.mariadb.jdbc"), artifactId("mariadb-java-client"))
.and()
.springMainProperties()
.set(propertyKey("spring.datasource.url"), propertyValue("jdbc:mariadb://localhost:3306/" + properties.projectBaseName().name()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {

return sqlCommonModuleBuilder(properties, DatabaseType.MYSQL, dockerImages.get("mysql"), documentationTitle("MySQL"))
.javaDependencies()
.dependency(groupId("mysql"), artifactId("mysql-connector-java"))
.addDependency(groupId("mysql"), artifactId("mysql-connector-java"))
.and()
.springMainProperties()
.set(propertyKey("spring.datasource.url"), propertyValue("jdbc:mysql://localhost:3306/" + properties.projectBaseName().name()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
)
.and()
.javaDependencies()
.dependency(groupId(ORG_POSTGRESQL), artifactId("postgresql"))
.addDependency(groupId(ORG_POSTGRESQL), artifactId("postgresql"))
.and()
.springMainProperties()
.set(propertyKey("spring.datasource.url"), propertyValue("jdbc:postgresql://localhost:5432/" + properties.projectBaseName().name()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,10 @@ public static JHipsterModuleBuilder sqlCommonModuleBuilder(
.add(source.template(databaseId + ".yml"), toSrcMainDocker().append(databaseId + ".yml"))
.and()
.javaDependencies()
.dependency(groupId("org.springframework.boot"), artifactId("spring-boot-starter-data-jpa"))
.dependency(groupId("com.zaxxer"), artifactId("HikariCP"))
.dependency(groupId(ORG_HIBERNATE), artifactId("hibernate-core"))
.dependency(testContainer(databaseId))
.addDependency(groupId("org.springframework.boot"), artifactId("spring-boot-starter-data-jpa"))
.addDependency(groupId("com.zaxxer"), artifactId("HikariCP"))
.addDependency(groupId(ORG_HIBERNATE), artifactId("hibernate-core"))
.addDependency(testContainer(databaseId))
.and()
.springMainProperties()
.set(propertyKey("spring.datasource.password"), propertyValue(""))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
}

private void appendDependencies(JHipsterModuleBuilder builder) {
builder.javaDependencies().dependency(SPRING_GROUP, artifactId("spring-boot-devtools"));
builder.javaDependencies().addDependency(SPRING_GROUP, artifactId("spring-boot-devtools"));
}

private void appendSpringProperties(JHipsterModuleBuilder builder) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
//@formatter:off
return moduleBuilder(properties)
.javaDependencies()
.dependency(groupId("org.springframework.boot"), artifactId("spring-boot-starter-aop"))
.addDependency(groupId("org.springframework.boot"), artifactId("spring-boot-starter-aop"))
.and()
.files()
.batch(SOURCE, toSrcMainJava().append(properties.basePackage().path()).append(AOP_FOLDER))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,10 @@ private void appendJavaFiles(JHipsterModuleBuilder builder, JHipsterModuleProper
private void appendDependencies(JHipsterModuleBuilder builder) {
builder
.javaDependencies()
.dependency(SPRING_GROUP, artifactId("spring-boot-starter-security"))
.dependency(SPRING_GROUP, artifactId("spring-boot-starter-oauth2-client"))
.dependency(SPRING_GROUP, artifactId("spring-boot-starter-oauth2-resource-server"))
.dependency(springSecurityTest());
.addDependency(SPRING_GROUP, artifactId("spring-boot-starter-security"))
.addDependency(SPRING_GROUP, artifactId("spring-boot-starter-oauth2-client"))
.addDependency(SPRING_GROUP, artifactId("spring-boot-starter-oauth2-resource-server"))
.addDependency(springSecurityTest());
}

private void appendSpringProperties(JHipsterModuleBuilder builder) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ private JHipsterModuleBuilder initBuilder(JHipsterModuleProperties properties) {
.put("base64JwtSecret", Base64Utils.getBase64Secret())
.and()
.javaDependencies()
.dependencyManagement(springCloudDependenciesManagement())
.dependency(SPRING_CLOUD_GROUP, artifactId("spring-cloud-starter-bootstrap"))
.dependency(SPRING_CLOUD_GROUP, artifactId("spring-cloud-starter-config"))
.addDependencyManagement(springCloudDependenciesManagement())
.addDependency(SPRING_CLOUD_GROUP, artifactId("spring-cloud-starter-bootstrap"))
.addDependency(SPRING_CLOUD_GROUP, artifactId("spring-cloud-starter-config"))
.and()
.files()
.add(SOURCE.template("jhipster-registry.yml"), toSrcMainDocker().append("jhipster-registry.yml"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.add(SOURCE.append("docker").template("application.config.yml.mustache"), toSrcMainDocker().append("central-server-config").append("application.yml"))
.and()
.javaDependencies()
.dependencyManagement(springCloudDependencyManagement())
.dependency(springCloudStarterBootstrapDependency())
.dependency(springCloudConsulDiscoveryDependency())
.dependency(springCloudConsulConfigDependency())
.addDependencyManagement(springCloudDependencyManagement())
.addDependency(springCloudStarterBootstrapDependency())
.addDependency(springCloudConsulDiscoveryDependency())
.addDependency(springCloudConsulConfigDependency())
.and()
.springMainBootstrapProperties()
.set(propertyKey("spring.application.name"), propertyValue(baseName))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.put("base64JwtSecret", Base64Utils.getBase64Secret())
.and()
.javaDependencies()
.dependencyManagement(springCloudDependenciesManagement())
.dependency( SPRING_CLOUD_GROUP, artifactId("spring-cloud-starter-bootstrap"))
.dependency(
.addDependencyManagement(springCloudDependenciesManagement())
.addDependency( SPRING_CLOUD_GROUP, artifactId("spring-cloud-starter-bootstrap"))
.addDependency(
SPRING_CLOUD_GROUP,
artifactId("spring-cloud-starter-netflix-eureka-client"),
versionSlug("spring-cloud-netflix-eureka-client")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
//@formatter:off
return moduleBuilder(properties)
.javaDependencies()
.dependencyManagement(springCloudDependenciesManagement())
.dependency(SPRING_CLOUD_GROUP, artifactId("spring-cloud-starter-bootstrap"))
.dependency(SPRING_CLOUD_GROUP, artifactId("spring-cloud-starter-gateway"))
.addDependencyManagement(springCloudDependenciesManagement())
.addDependency(SPRING_CLOUD_GROUP, artifactId("spring-cloud-starter-bootstrap"))
.addDependency(SPRING_CLOUD_GROUP, artifactId("spring-cloud-starter-gateway"))
.and()
.springMainBootstrapProperties()
.set(propertyKey("spring.application.name"), propertyValue(properties.projectBaseName().get()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import tech.jhipster.lite.module.domain.javabuildplugin.JHipsterModuleJavaBuildPlugin.JHipsterModuleJavaBuildPluginBuilder;
import tech.jhipster.lite.module.domain.javabuildplugin.JavaBuildPlugin;
import tech.jhipster.lite.module.domain.javabuildplugin.JavaBuildPlugin.JavaBuildPluginGroupIdBuilder;
import tech.jhipster.lite.module.domain.javadependency.DependencyId;
import tech.jhipster.lite.module.domain.javadependency.JHipsterModuleJavaDependencies;
import tech.jhipster.lite.module.domain.javadependency.JHipsterModuleJavaDependencies.JHipsterModuleJavaDependenciesBuilder;
import tech.jhipster.lite.module.domain.javadependency.JavaDependency;
Expand Down Expand Up @@ -118,6 +119,10 @@ public static JavaDependencyVersion javaDependencyVersion(String slug, String ve
return new JavaDependencyVersion(slug, version);
}

public static DependencyId dependencyId(String groupId, String artifactId) {
return new DependencyId(groupId(groupId), artifactId(artifactId));
}

public static JavaBuildPluginGroupIdBuilder javaBuildPlugin() {
return JavaBuildPlugin.builder();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,19 @@
import tech.jhipster.lite.module.domain.javabuild.VersionSlug;
import tech.jhipster.lite.module.domain.javabuild.command.JavaBuildCommand;
import tech.jhipster.lite.module.domain.javabuild.command.JavaBuildCommands;
import tech.jhipster.lite.module.domain.javabuild.command.RemoveDirectJavaDependency;
import tech.jhipster.lite.module.domain.javabuild.command.SetVersion;

public class JHipsterModuleJavaDependencies {

private final Collection<JavaDependencyVersion> versions;
private final Collection<DependencyId> dependenciesToRemove;
private final Collection<JavaDependencyManagement> dependenciesManagement;
private final Collection<DirectJavaDependency> dependencies;

private JHipsterModuleJavaDependencies(JHipsterModuleJavaDependenciesBuilder builder) {
versions = builder.versions;
dependenciesToRemove = builder.dependenciesToRemove;
dependenciesManagement = builder.dependenciesManagement;
dependencies = builder.dependencies;
}
Expand All @@ -36,6 +39,7 @@ public JavaBuildCommands buildChanges(CurrentJavaDependenciesVersions currentVer
return Stream
.of(
settedVersionsCommands(),
dependenciesToRemoveCommands(),
dependenciesManagementChanges(currentVersions, projectDependencies),
dependenciesChanges(currentVersions, projectDependencies)
)
Expand All @@ -51,6 +55,14 @@ private Function<JavaDependencyVersion, JavaBuildCommand> toSetVersionCommand()
return (Function<JavaDependencyVersion, JavaBuildCommand>) SetVersion::new;
}

private Stream<JavaBuildCommands> dependenciesToRemoveCommands() {
return Stream.of(new JavaBuildCommands(dependenciesToRemove.stream().map(toDepenencyToRemove()).toList()));
}

private Function<DependencyId, JavaBuildCommand> toDepenencyToRemove() {
return (Function<DependencyId, JavaBuildCommand>) RemoveDirectJavaDependency::new;
}

private Stream<JavaBuildCommands> dependenciesManagementChanges(
CurrentJavaDependenciesVersions currentVersions,
ProjectJavaDependencies projectDependencies
Expand All @@ -69,6 +81,7 @@ public static class JHipsterModuleJavaDependenciesBuilder {

private final JHipsterModuleBuilder module;
private final Collection<JavaDependencyVersion> versions = new ArrayList<>();
private final Collection<DependencyId> dependenciesToRemove = new ArrayList<>();
private final Collection<DirectJavaDependency> dependencies = new ArrayList<>();
private final Collection<JavaDependencyManagement> dependenciesManagement = new ArrayList<>();

Expand All @@ -78,33 +91,41 @@ private JHipsterModuleJavaDependenciesBuilder(JHipsterModuleBuilder module) {
this.module = module;
}

public JHipsterModuleJavaDependenciesBuilder dependency(GroupId groupId, ArtifactId artifactId) {
return dependency(groupId, artifactId, null);
public JHipsterModuleJavaDependenciesBuilder removeDependency(DependencyId dependency) {
Assert.notNull("dependency", dependency);

dependenciesToRemove.add(dependency);

return this;
}

public JHipsterModuleJavaDependenciesBuilder addDependency(GroupId groupId, ArtifactId artifactId) {
return addDependency(groupId, artifactId, null);
}

public JHipsterModuleJavaDependenciesBuilder dependency(GroupId groupId, ArtifactId artifactId, VersionSlug versionSlug) {
public JHipsterModuleJavaDependenciesBuilder addDependency(GroupId groupId, ArtifactId artifactId, VersionSlug versionSlug) {
JavaDependency dependency = JavaDependency.builder().groupId(groupId).artifactId(artifactId).versionSlug(versionSlug).build();

return dependency(dependency);
return addDependency(dependency);
}

public JHipsterModuleJavaDependenciesBuilder dependency(JavaDependency dependency) {
public JHipsterModuleJavaDependenciesBuilder addDependency(JavaDependency dependency) {
Assert.notNull("dependency", dependency);

dependencies.add(new DirectJavaDependency(dependency));

return this;
}

public JHipsterModuleJavaDependenciesBuilder version(JavaDependencyVersion version) {
public JHipsterModuleJavaDependenciesBuilder setVersion(JavaDependencyVersion version) {
Assert.notNull("version", version);

versions.add(version);

return this;
}

public JHipsterModuleJavaDependenciesBuilder dependencyManagement(JavaDependency dependency) {
public JHipsterModuleJavaDependenciesBuilder addDependencyManagement(JavaDependency dependency) {
Assert.notNull("dependency", dependency);

dependenciesManagement.add(new JavaDependencyManagement(dependency));
Expand Down
Loading

0 comments on commit bca8016

Please sign in to comment.