diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrActuatorEndpointsAutoConfiguration.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrActuatorEndpointsAutoConfiguration.java index e3c7ab82..a9a961e0 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrActuatorEndpointsAutoConfiguration.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrActuatorEndpointsAutoConfiguration.java @@ -33,8 +33,7 @@ import org.springframework.context.annotation.Configuration; public class InitializrActuatorEndpointsAutoConfiguration { @Bean - public BomRangesInfoContributor bomRangesInfoContributor( - InitializrMetadataProvider metadataProvider) { + public BomRangesInfoContributor bomRangesInfoContributor(InitializrMetadataProvider metadataProvider) { return new BomRangesInfoContributor(metadataProvider); } diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfiguration.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfiguration.java index c7cdd682..55ad2fbe 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfiguration.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfiguration.java @@ -57,10 +57,9 @@ class InitializrStatsAutoConfiguration { @Bean @ConditionalOnBean(InitializrMetadataProvider.class) - public ProjectGenerationStatPublisher projectRequestStatHandler( - RestTemplateBuilder restTemplateBuilder) { - return new ProjectGenerationStatPublisher(new ProjectRequestDocumentFactory(), - this.statsProperties, restTemplateBuilder, statsRetryTemplate()); + public ProjectGenerationStatPublisher projectRequestStatHandler(RestTemplateBuilder restTemplateBuilder) { + return new ProjectGenerationStatPublisher(new ProjectRequestDocumentFactory(), this.statsProperties, + restTemplateBuilder, statsRetryTemplate()); } @Bean @@ -70,8 +69,7 @@ class InitializrStatsAutoConfiguration { ExponentialBackOffPolicy backOffPolicy = new ExponentialBackOffPolicy(); backOffPolicy.setInitialInterval(3000L); backOffPolicy.setMultiplier(3); - SimpleRetryPolicy retryPolicy = new SimpleRetryPolicy( - this.statsProperties.getElastic().getMaxAttempts(), + SimpleRetryPolicy retryPolicy = new SimpleRetryPolicy(this.statsProperties.getElastic().getMaxAttempts(), Collections.singletonMap(Exception.class, true)); retryTemplate.setBackOffPolicy(backOffPolicy); retryTemplate.setRetryPolicy(retryPolicy); diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/BomRangesInfoContributor.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/BomRangesInfoContributor.java index 642a0594..752d96d7 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/BomRangesInfoContributor.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/BomRangesInfoContributor.java @@ -41,18 +41,16 @@ public class BomRangesInfoContributor implements InfoContributor { @Override public void contribute(Info.Builder builder) { Map details = new LinkedHashMap<>(); - this.metadataProvider.get().getConfiguration().getEnv().getBoms() - .forEach((k, v) -> { - if (v.getMappings() != null && !v.getMappings().isEmpty()) { - Map bom = new LinkedHashMap<>(); - v.getMappings().forEach((it) -> { - String requirement = "Spring Boot " - + it.determineVersionRangeRequirement(); - bom.put(it.getVersion(), requirement); - }); - details.put(k, bom); - } + this.metadataProvider.get().getConfiguration().getEnv().getBoms().forEach((k, v) -> { + if (v.getMappings() != null && !v.getMappings().isEmpty()) { + Map bom = new LinkedHashMap<>(); + v.getMappings().forEach((it) -> { + String requirement = "Spring Boot " + it.determineVersionRangeRequirement(); + bom.put(it.getVersion(), requirement); }); + details.put(k, bom); + } + }); if (!details.isEmpty()) { builder.withDetail("bom-ranges", details); } diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributor.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributor.java index 62019338..a047ca3e 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributor.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributor.java @@ -65,8 +65,7 @@ public class DependencyRangesInfoContributor implements InfoContributor { }); if (!dep.isEmpty()) { if (dependency.getRange() == null) { - boolean openRange = dep.values().stream() - .anyMatch((v) -> v.getHigherVersion() == null); + boolean openRange = dep.values().stream().anyMatch((v) -> v.getHigherVersion() == null); if (!openRange) { Version higher = getHigher(dep); dep.put("managed", new VersionRange(higher)); diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisher.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisher.java index c391c7dd..098f9662 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisher.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisher.java @@ -44,8 +44,7 @@ import org.springframework.web.util.UriComponentsBuilder; */ public class ProjectGenerationStatPublisher { - private static final Log logger = LogFactory - .getLog(ProjectGenerationStatPublisher.class); + private static final Log logger = LogFactory.getLog(ProjectGenerationStatPublisher.class); private final ProjectRequestDocumentFactory documentFactory; @@ -58,15 +57,12 @@ public class ProjectGenerationStatPublisher { private final RetryTemplate retryTemplate; public ProjectGenerationStatPublisher(ProjectRequestDocumentFactory documentFactory, - StatsProperties statsProperties, RestTemplateBuilder restTemplateBuilder, - RetryTemplate retryTemplate) { + StatsProperties statsProperties, RestTemplateBuilder restTemplateBuilder, RetryTemplate retryTemplate) { this.documentFactory = documentFactory; this.objectMapper = createObjectMapper(); StatsProperties.Elastic elastic = statsProperties.getElastic(); - UriComponentsBuilder uriBuilder = UriComponentsBuilder - .fromUri(determineEntityUrl(elastic)); - this.restTemplate = configureAuthorization(restTemplateBuilder, elastic, - uriBuilder).build(); + UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUri(determineEntityUrl(elastic)); + this.restTemplate = configureAuthorization(restTemplateBuilder, elastic, uriBuilder).build(); this.requestUrl = uriBuilder.userInfo(null).build().toUri(); this.retryTemplate = retryTemplate; } @@ -82,8 +78,8 @@ public class ProjectGenerationStatPublisher { } json = toJson(document); - RequestEntity request = RequestEntity.post(this.requestUrl) - .contentType(MediaType.APPLICATION_JSON).body(json); + RequestEntity request = RequestEntity.post(this.requestUrl).contentType(MediaType.APPLICATION_JSON) + .body(json); this.retryTemplate.execute((context) -> { this.restTemplate.exchange(request, String.class); @@ -91,9 +87,7 @@ public class ProjectGenerationStatPublisher { }); } catch (Exception ex) { - logger.warn(String.format( - "Failed to publish stat to index, document follows %n%n%s%n", json), - ex); + logger.warn(String.format("Failed to publish stat to index, document follows %n%n%s%n", json), ex); } } @@ -121,25 +115,21 @@ public class ProjectGenerationStatPublisher { this.requestUrl = requestUrl; } - private static RestTemplateBuilder configureAuthorization( - RestTemplateBuilder restTemplateBuilder, Elastic elastic, + private static RestTemplateBuilder configureAuthorization(RestTemplateBuilder restTemplateBuilder, Elastic elastic, UriComponentsBuilder uriComponentsBuilder) { String userInfo = uriComponentsBuilder.build().getUserInfo(); if (StringUtils.hasText(userInfo)) { String[] credentials = userInfo.split(":"); - return restTemplateBuilder.basicAuthentication(credentials[0], - credentials[1]); + return restTemplateBuilder.basicAuthentication(credentials[0], credentials[1]); } else if (StringUtils.hasText(elastic.getUsername())) { - return restTemplateBuilder.basicAuthentication(elastic.getUsername(), - elastic.getPassword()); + return restTemplateBuilder.basicAuthentication(elastic.getUsername(), elastic.getPassword()); } return restTemplateBuilder; } private static URI determineEntityUrl(Elastic elastic) { - String entityUrl = elastic.getUri() + "/" + elastic.getIndexName() + "/" - + elastic.getEntityName(); + String entityUrl = elastic.getUri() + "/" + elastic.getIndexName() + "/" + elastic.getEntityName(); try { return new URI(entityUrl); } diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocument.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocument.java index e71d1d32..fa8aa809 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocument.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocument.java @@ -169,19 +169,14 @@ public class ProjectRequestDocument { @Override public String toString() { - return new StringJoiner(", ", ProjectRequestDocument.class.getSimpleName() + "[", - "]").add("generationTimestamp=" + this.generationTimestamp) - .add("type='" + this.type + "'") - .add("buildSystem='" + this.buildSystem + "'") - .add("groupId='" + this.groupId + "'") - .add("artifactId='" + this.artifactId + "'") - .add("javaVersion='" + this.javaVersion + "'") - .add("language='" + this.language + "'") - .add("packaging='" + this.packaging + "'") - .add("packageName='" + this.packageName + "'") - .add("version=" + this.version).add("client=" + this.client) - .add("dependencies=" + this.dependencies) - .add("errorState=" + this.errorState).toString(); + return new StringJoiner(", ", ProjectRequestDocument.class.getSimpleName() + "[", "]") + .add("generationTimestamp=" + this.generationTimestamp).add("type='" + this.type + "'") + .add("buildSystem='" + this.buildSystem + "'").add("groupId='" + this.groupId + "'") + .add("artifactId='" + this.artifactId + "'").add("javaVersion='" + this.javaVersion + "'") + .add("language='" + this.language + "'").add("packaging='" + this.packaging + "'") + .add("packageName='" + this.packageName + "'").add("version=" + this.version) + .add("client=" + this.client).add("dependencies=" + this.dependencies) + .add("errorState=" + this.errorState).toString(); } /** @@ -198,8 +193,7 @@ public class ProjectRequestDocument { public VersionInformation(Version version) { this.id = version.toString(); this.major = String.format("%s", version.getMajor()); - this.minor = (version.getMinor() != null) - ? String.format("%s.%s", version.getMajor(), version.getMinor()) + this.minor = (version.getMinor() != null) ? String.format("%s.%s", version.getMajor(), version.getMinor()) : null; } @@ -217,9 +211,8 @@ public class ProjectRequestDocument { @Override public String toString() { - return new StringJoiner(", ", "{", "}").add("id='" + this.id + "'") - .add("major='" + this.major + "'").add("minor='" + this.minor + "'") - .toString(); + return new StringJoiner(", ", "{", "}").add("id='" + this.id + "'").add("major='" + this.major + "'") + .add("minor='" + this.minor + "'").toString(); } } @@ -263,8 +256,8 @@ public class ProjectRequestDocument { @Override public String toString() { - return new StringJoiner(", ", "{", "}").add("id='" + this.id + "'") - .add("values=" + this.values).add("count=" + this.count).toString(); + return new StringJoiner(", ", "{", "}").add("id='" + this.id + "'").add("values=" + this.values) + .add("count=" + this.count).toString(); } } @@ -307,9 +300,8 @@ public class ProjectRequestDocument { @Override public String toString() { - return new StringJoiner(", ", "{", "}").add("id='" + this.id + "'") - .add("version='" + this.version + "'").add("ip='" + this.ip + "'") - .add("country='" + this.country + "'").toString(); + return new StringJoiner(", ", "{", "}").add("id='" + this.id + "'").add("version='" + this.version + "'") + .add("ip='" + this.ip + "'").add("country='" + this.country + "'").toString(); } } @@ -388,10 +380,9 @@ public class ProjectRequestDocument { @Override public String toString() { return new StringJoiner(", ", "{", "}").add("invalid=" + this.invalid) - .add("javaVersion=" + this.javaVersion) - .add("language=" + this.language).add("packaging=" + this.packaging) - .add("type=" + this.type).add("dependencies=" + this.dependencies) - .add("message='" + this.message + "'").toString(); + .add("javaVersion=" + this.javaVersion).add("language=" + this.language) + .add("packaging=" + this.packaging).add("type=" + this.type) + .add("dependencies=" + this.dependencies).add("message='" + this.message + "'").toString(); } } @@ -419,8 +410,7 @@ public class ProjectRequestDocument { @Override public String toString() { - return new StringJoiner(", ", "{", "}").add(String.join(", ", this.values)) - .toString(); + return new StringJoiner(", ", "{", "}").add(String.join(", ", this.values)).toString(); } } diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactory.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactory.java index e7b88eff..b28eccf1 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactory.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactory.java @@ -59,8 +59,7 @@ public class ProjectRequestDocumentFactory { } document.setLanguage(request.getLanguage()); - if (StringUtils.hasText(request.getLanguage()) - && metadata.getLanguages().get(request.getLanguage()) == null) { + if (StringUtils.hasText(request.getLanguage()) && metadata.getLanguages().get(request.getLanguage()) == null) { document.triggerError().setLanguage(true); } @@ -72,8 +71,7 @@ public class ProjectRequestDocumentFactory { document.setType(request.getType()); document.setBuildSystem(determineBuildSystem(request)); - if (StringUtils.hasText(request.getType()) - && metadata.getTypes().get(request.getType()) == null) { + if (StringUtils.hasText(request.getType()) && metadata.getTypes().get(request.getType()) == null) { document.triggerError().setType(true); } @@ -82,11 +80,9 @@ public class ProjectRequestDocumentFactory { dependencies.addAll(request.getStyle()); dependencies.addAll(request.getDependencies()); List validDependencies = dependencies.stream() - .filter((id) -> metadata.getDependencies().get(id) != null) - .collect(Collectors.toList()); + .filter((id) -> metadata.getDependencies().get(id) != null).collect(Collectors.toList()); document.setDependencies(new DependencyInformation(validDependencies)); - List invalidDependencies = dependencies.stream() - .filter((id) -> (!validDependencies.contains(id))) + List invalidDependencies = dependencies.stream().filter((id) -> (!validDependencies.contains(id))) .collect(Collectors.toList()); if (!invalidDependencies.isEmpty()) { document.triggerError().triggerInvalidDependencies(invalidDependencies); @@ -140,8 +136,7 @@ public class ProjectRequestDocumentFactory { private String determineIp(WebProjectRequest request) { String candidate = (String) request.getParameters().get("cf-connecting-ip"); - return (StringUtils.hasText(candidate)) ? candidate - : (String) request.getParameters().get("x-forwarded-for"); + return (StringUtils.hasText(candidate)) ? candidate : (String) request.getParameters().get("x-forwarded-for"); } private String determineCountry(WebProjectRequest request) { diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/ActuatorIntegrationTests.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/ActuatorIntegrationTests.java index e87da12f..1347c5f3 100755 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/ActuatorIntegrationTests.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/ActuatorIntegrationTests.java @@ -38,8 +38,7 @@ class ActuatorIntegrationTests extends AbstractFullStackInitializrIntegrationTes @Test void infoHasExternalProperties() { - String body = getRestTemplate().getForObject(createUrl("/actuator/info"), - String.class); + String body = getRestTemplate().getForObject(createUrl("/actuator/info"), String.class); assertThat(body).contains("\"spring-boot\""); assertThat(body).contains("\"version\":\"2.1.4.RELEASE\""); } diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrActuatorEndpointsAutoConfigurationTests.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrActuatorEndpointsAutoConfigurationTests.java index 879b97aa..492dca91 100644 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrActuatorEndpointsAutoConfigurationTests.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrActuatorEndpointsAutoConfigurationTests.java @@ -36,21 +36,17 @@ import static org.assertj.core.api.Assertions.assertThat; class InitializrActuatorEndpointsAutoConfigurationTests { private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(JacksonAutoConfiguration.class, - InitializrAutoConfiguration.class, - RestTemplateAutoConfiguration.class, - InitializrActuatorEndpointsAutoConfiguration.class)); + .withConfiguration(AutoConfigurations.of(JacksonAutoConfiguration.class, InitializrAutoConfiguration.class, + RestTemplateAutoConfiguration.class, InitializrActuatorEndpointsAutoConfiguration.class)); @Test void autoConfigRegistersBomRangesInfoContributor() { - this.contextRunner.run((context) -> assertThat(context) - .hasSingleBean(BomRangesInfoContributor.class)); + this.contextRunner.run((context) -> assertThat(context).hasSingleBean(BomRangesInfoContributor.class)); } @Test void autoConfigRegistersDependencyRangesInfoContributor() { - this.contextRunner.run((context) -> assertThat(context) - .hasSingleBean(DependencyRangesInfoContributor.class)); + this.contextRunner.run((context) -> assertThat(context).hasSingleBean(DependencyRangesInfoContributor.class)); } } diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfigurationTests.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfigurationTests.java index e167a265..674ada0a 100755 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfigurationTests.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfigurationTests.java @@ -48,32 +48,25 @@ import static org.mockito.Mockito.mock; class InitializrStatsAutoConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(JacksonAutoConfiguration.class, - InitializrAutoConfiguration.class, - RestTemplateAutoConfiguration.class, - InitializrStatsAutoConfiguration.class)); + .withConfiguration(AutoConfigurations.of(JacksonAutoConfiguration.class, InitializrAutoConfiguration.class, + RestTemplateAutoConfiguration.class, InitializrStatsAutoConfiguration.class)); @Test void autoConfigRegistersProjectGenerationStatPublisher() { - this.contextRunner - .withPropertyValues("initializr.stats.elastic.uri=http://localhost:9200") - .run((context) -> assertThat(context) - .hasSingleBean(ProjectGenerationStatPublisher.class)); + this.contextRunner.withPropertyValues("initializr.stats.elastic.uri=http://localhost:9200") + .run((context) -> assertThat(context).hasSingleBean(ProjectGenerationStatPublisher.class)); } @Test void autoConfigRegistersRetryTemplate() { - this.contextRunner - .withPropertyValues("initializr.stats.elastic.uri=http://localhost:9200") + this.contextRunner.withPropertyValues("initializr.stats.elastic.uri=http://localhost:9200") .run((context) -> assertThat(context).hasSingleBean(RetryTemplate.class)); } @Test void statsRetryTemplateConditionalOnMissingBean() { - this.contextRunner - .withUserConfiguration(CustomStatsRetryTemplateConfiguration.class) - .withPropertyValues("initializr.stats.elastic.uri=http://localhost:9200") - .run((context) -> { + this.contextRunner.withUserConfiguration(CustomStatsRetryTemplateConfiguration.class) + .withPropertyValues("initializr.stats.elastic.uri=http://localhost:9200").run((context) -> { assertThat(context).hasSingleBean(RetryTemplate.class); RetryTemplate retryTemplate = context.getBean(RetryTemplate.class); ExponentialBackOffPolicy backOffPolicy = (ExponentialBackOffPolicy) ReflectionTestUtils @@ -85,15 +78,11 @@ class InitializrStatsAutoConfigurationTests { @Test void customRestTemplateBuilderIsUsed() { this.contextRunner.withUserConfiguration(CustomRestTemplateConfiguration.class) - .withPropertyValues("initializr.stats.elastic.uri=http://localhost:9200") - .run((context) -> { - assertThat(context) - .hasSingleBean(ProjectGenerationStatPublisher.class); + .withPropertyValues("initializr.stats.elastic.uri=http://localhost:9200").run((context) -> { + assertThat(context).hasSingleBean(ProjectGenerationStatPublisher.class); RestTemplate restTemplate = (RestTemplate) new DirectFieldAccessor( - context.getBean(ProjectGenerationStatPublisher.class)) - .getPropertyValue("restTemplate"); - assertThat(restTemplate.getErrorHandler()) - .isSameAs(CustomRestTemplateConfiguration.errorHandler); + context.getBean(ProjectGenerationStatPublisher.class)).getPropertyValue("restTemplate"); + assertThat(restTemplate.getErrorHandler()).isSameAs(CustomRestTemplateConfiguration.errorHandler); }); } @@ -125,8 +114,7 @@ class InitializrStatsAutoConfigurationTests { @Import(InfrastructureConfiguration.class) static class CustomRestTemplateConfiguration { - private static final ResponseErrorHandler errorHandler = mock( - ResponseErrorHandler.class); + private static final ResponseErrorHandler errorHandler = mock(ResponseErrorHandler.class); @Bean public RestTemplateCustomizer testRestTemplateCustomizer() { diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/info/BomRangesInfoContributorTests.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/info/BomRangesInfoContributorTests.java index 29e0147a..9b29f421 100755 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/info/BomRangesInfoContributorTests.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/info/BomRangesInfoContributorTests.java @@ -38,8 +38,7 @@ class BomRangesInfoContributorTests { @Test void noBom() { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .build(); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().build(); Info info = getInfo(metadata); assertThat(info.getDetails()).doesNotContainKeys("bom-ranges"); } @@ -47,8 +46,7 @@ class BomRangesInfoContributorTests { @Test void noMapping() { BillOfMaterials bom = BillOfMaterials.create("com.example", "bom", "1.0.0"); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addBom("foo", bom).build(); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addBom("foo", bom).build(); Info info = getInfo(metadata); assertThat(info.getDetails()).doesNotContainKeys("bom-ranges"); } @@ -56,29 +54,23 @@ class BomRangesInfoContributorTests { @Test void withMappings() { BillOfMaterials bom = BillOfMaterials.create("com.example", "bom", "1.0.0"); - bom.getMappings().add( - BillOfMaterials.Mapping.create("[1.3.0.RELEASE,1.3.8.RELEASE]", "1.1.0")); - bom.getMappings().add( - BillOfMaterials.Mapping.create("1.3.8.BUILD-SNAPSHOT", "1.1.1-SNAPSHOT")); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addBom("foo", bom).build(); + bom.getMappings().add(BillOfMaterials.Mapping.create("[1.3.0.RELEASE,1.3.8.RELEASE]", "1.1.0")); + bom.getMappings().add(BillOfMaterials.Mapping.create("1.3.8.BUILD-SNAPSHOT", "1.1.1-SNAPSHOT")); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addBom("foo", bom).build(); Info info = getInfo(metadata); assertThat(info.getDetails()).containsKeys("bom-ranges"); @SuppressWarnings("unchecked") - Map ranges = (Map) info.getDetails() - .get("bom-ranges"); + Map ranges = (Map) info.getDetails().get("bom-ranges"); assertThat(ranges).containsOnlyKeys("foo"); @SuppressWarnings("unchecked") Map foo = (Map) ranges.get("foo"); - assertThat(foo).containsExactly( - entry("1.1.0", "Spring Boot >=1.3.0.RELEASE and <=1.3.8.RELEASE"), + assertThat(foo).containsExactly(entry("1.1.0", "Spring Boot >=1.3.0.RELEASE and <=1.3.8.RELEASE"), entry("1.1.1-SNAPSHOT", "Spring Boot >=1.3.8.BUILD-SNAPSHOT")); } private static Info getInfo(InitializrMetadata metadata) { Info.Builder builder = new Info.Builder(); - new BomRangesInfoContributor(new SimpleInitializrMetadataProvider(metadata)) - .contribute(builder); + new BomRangesInfoContributor(new SimpleInitializrMetadataProvider(metadata)).contribute(builder); return builder.build(); } diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributorTests.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributorTests.java index 28e3ff6b..38189ebf 100755 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributorTests.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributorTests.java @@ -39,30 +39,26 @@ class DependencyRangesInfoContributorTests { @Test void noDependencyWithVersion() { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .build(); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().build(); Info info = getInfo(metadata); assertThat(info.getDetails()).doesNotContainKeys("dependency-ranges"); } @Test void dependencyWithNoMapping() { - Dependency dependency = Dependency.withId("foo", "com.example", "foo", - "1.2.3.RELEASE"); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("foo", dependency).build(); + Dependency dependency = Dependency.withId("foo", "com.example", "foo", "1.2.3.RELEASE"); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("foo", dependency) + .build(); Info info = getInfo(metadata); assertThat(info.getDetails()).doesNotContainKeys("dependency-ranges"); } @Test void dependencyWithRangeOnArtifact() { - Dependency dependency = Dependency.withId("foo", "com.example", "foo", - "1.2.3.RELEASE"); - dependency.getMappings().add(Dependency.Mapping - .create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, "foo2", null)); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("foo", dependency).build(); + Dependency dependency = Dependency.withId("foo", "com.example", "foo", "1.2.3.RELEASE"); + dependency.getMappings().add(Dependency.Mapping.create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, "foo2", null)); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("foo", dependency) + .build(); Info info = getInfo(metadata); assertThat(info.getDetails()).doesNotContainKeys("dependency-ranges"); } @@ -70,67 +66,60 @@ class DependencyRangesInfoContributorTests { @Test void dependencyWithRangeAndBom() { BillOfMaterials bom = BillOfMaterials.create("com.example", "bom", "1.0.0"); - Dependency dependency = Dependency.withId("foo", "com.example", "foo", - "1.2.3.RELEASE"); - dependency.getMappings().add(Dependency.Mapping - .create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "0.1.0.RELEASE")); + Dependency dependency = Dependency.withId("foo", "com.example", "foo", "1.2.3.RELEASE"); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "0.1.0.RELEASE")); dependency.setBom("bom"); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addBom("bom", bom).addDependencyGroup("foo", dependency).build(); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addBom("bom", bom) + .addDependencyGroup("foo", dependency).build(); Info info = getInfo(metadata); assertThat(info.getDetails()).doesNotContainKeys("dependency-ranges"); } @Test void dependencyNoMappingSimpleRange() { - Dependency dependency = Dependency.withId("foo", "com.example", "foo", - "1.2.3.RELEASE"); + Dependency dependency = Dependency.withId("foo", "com.example", "foo", "1.2.3.RELEASE"); dependency.setVersionRange("[1.1.0.RELEASE, 1.5.0.RELEASE)"); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("foo", dependency).build(); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("foo", dependency) + .build(); Info info = getInfo(metadata); assertThat(info.getDetails()).containsKeys("dependency-ranges"); @SuppressWarnings("unchecked") - Map ranges = (Map) info.getDetails() - .get("dependency-ranges"); + Map ranges = (Map) info.getDetails().get("dependency-ranges"); assertThat(ranges).containsOnlyKeys("foo"); @SuppressWarnings("unchecked") Map foo = (Map) ranges.get("foo"); - assertThat(foo).containsExactly( - entry("1.2.3.RELEASE", "Spring Boot >=1.1.0.RELEASE and <1.5.0.RELEASE")); + assertThat(foo).containsExactly(entry("1.2.3.RELEASE", "Spring Boot >=1.1.0.RELEASE and <1.5.0.RELEASE")); } @Test void dependencyWithMappingAndOpenRange() { Dependency dependency = Dependency.withId("foo", null, null, "0.3.0.RELEASE"); - dependency.getMappings().add(Dependency.Mapping - .create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "0.1.0.RELEASE")); - dependency.getMappings().add( - Dependency.Mapping.create("1.2.0.RELEASE", null, null, "0.2.0.RELEASE")); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "0.1.0.RELEASE")); + dependency.getMappings().add(Dependency.Mapping.create("1.2.0.RELEASE", null, null, "0.2.0.RELEASE")); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", dependency).build(); Info info = getInfo(metadata); assertDependencyId(info, "foo"); Map foo = getDependencyRangeInfo(info, "foo"); - assertThat(foo).containsExactly( - entry("0.1.0.RELEASE", "Spring Boot >=1.1.0.RELEASE and <1.2.0.RELEASE"), + assertThat(foo).containsExactly(entry("0.1.0.RELEASE", "Spring Boot >=1.1.0.RELEASE and <1.2.0.RELEASE"), entry("0.2.0.RELEASE", "Spring Boot >=1.2.0.RELEASE")); } @Test void dependencyWithMappingAndNoOpenRange() { Dependency dependency = Dependency.withId("foo", null, null, "0.3.0.RELEASE"); - dependency.getMappings().add(Dependency.Mapping - .create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "0.1.0.RELEASE")); - dependency.getMappings().add(Dependency.Mapping - .create("[1.2.0.RELEASE, 1.3.0.RELEASE)", null, null, "0.2.0.RELEASE")); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "0.1.0.RELEASE")); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.2.0.RELEASE, 1.3.0.RELEASE)", null, null, "0.2.0.RELEASE")); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", dependency).build(); Info info = getInfo(metadata); assertDependencyId(info, "foo"); Map foo = getDependencyRangeInfo(info, "foo"); - assertThat(foo).containsExactly( - entry("0.1.0.RELEASE", "Spring Boot >=1.1.0.RELEASE and <1.2.0.RELEASE"), + assertThat(foo).containsExactly(entry("0.1.0.RELEASE", "Spring Boot >=1.1.0.RELEASE and <1.2.0.RELEASE"), entry("0.2.0.RELEASE", "Spring Boot >=1.2.0.RELEASE and <1.3.0.RELEASE"), entry("managed", "Spring Boot >=1.3.0.RELEASE")); } @@ -138,23 +127,20 @@ class DependencyRangesInfoContributorTests { @SuppressWarnings("unchecked") private void assertDependencyId(Info info, String... dependencyIds) { assertThat(info.getDetails()).containsKeys("dependency-ranges"); - Map ranges = (Map) info.getDetails() - .get("dependency-ranges"); + Map ranges = (Map) info.getDetails().get("dependency-ranges"); assertThat(ranges).containsOnlyKeys(dependencyIds); } @SuppressWarnings("unchecked") private Map getDependencyRangeInfo(Info info, String id) { assertThat(info.getDetails()).containsKeys("dependency-ranges"); - Map ranges = (Map) info.getDetails() - .get("dependency-ranges"); + Map ranges = (Map) info.getDetails().get("dependency-ranges"); return (Map) ranges.get(id); } private static Info getInfo(InitializrMetadata metadata) { Info.Builder builder = new Info.Builder(); - new DependencyRangesInfoContributor( - new SimpleInitializrMetadataProvider(metadata)).contribute(builder); + new DependencyRangesInfoContributor(new SimpleInitializrMetadataProvider(metadata)).contribute(builder); return builder.build(); } diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/MainControllerStatsIntegrationTests.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/MainControllerStatsIntegrationTests.java index 79fda41c..705cb6a5 100755 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/MainControllerStatsIntegrationTests.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/MainControllerStatsIntegrationTests.java @@ -47,8 +47,7 @@ import static org.assertj.core.api.Assertions.fail; */ @Import(StatsMockController.class) @ActiveProfiles({ "test-default", "test-custom-stats" }) -class MainControllerStatsIntegrationTests - extends AbstractFullStackInitializrIntegrationTests { +class MainControllerStatsIntegrationTests extends AbstractFullStackInitializrIntegrationTests { @Autowired private StatsMockController statsMockController; @@ -60,8 +59,8 @@ class MainControllerStatsIntegrationTests public void setup() { this.statsMockController.stats.clear(); // Make sure our mock is going to be invoked with the stats - this.projectGenerationStatPublisher.updateRequestUrl( - URI.create("http://localhost:" + this.port + "/elastic/test/my-entity")); + this.projectGenerationStatPublisher + .updateRequestUrl(URI.create("http://localhost:" + this.port + "/elastic/test/my-entity")); } @Test @@ -100,8 +99,7 @@ class MainControllerStatsIntegrationTests StatsMockController.Content content = this.statsMockController.stats.get(0); JsonNode json = parseJson(content.json); - assertThat(json.has("requestIp")).as("requestIp property should not be set") - .isFalse(); + assertThat(json.has("requestIp")).as("requestIp property should not be set").isFalse(); } @Test @@ -113,8 +111,7 @@ class MainControllerStatsIntegrationTests StatsMockController.Content content = this.statsMockController.stats.get(0); JsonNode json = parseJson(content.json); - assertThat(json.get("client").get("ip").textValue()).as("Wrong requestIp") - .isEqualTo("10.0.0.123"); + assertThat(json.get("client").get("ip").textValue()).as("Wrong requestIp").isEqualTo("10.0.0.123"); } @Test @@ -126,22 +123,20 @@ class MainControllerStatsIntegrationTests StatsMockController.Content content = this.statsMockController.stats.get(0); JsonNode json = parseJson(content.json); - assertThat(json.has("requestIpv4")) - .as("requestIpv4 property should not be set if value is not a valid IPv4") + assertThat(json.has("requestIpv4")).as("requestIpv4 property should not be set if value is not a valid IPv4") .isFalse(); } @Test void requestCountryIsNotSetWhenHeaderIsSetToXX() throws Exception { - RequestEntity request = RequestEntity.get(new URI(createUrl("/starter.zip"))) - .header("cf-ipcountry", "XX").build(); + RequestEntity request = RequestEntity.get(new URI(createUrl("/starter.zip"))).header("cf-ipcountry", "XX") + .build(); getRestTemplate().exchange(request, String.class); assertThat(this.statsMockController.stats).as("No stat got generated").hasSize(1); StatsMockController.Content content = this.statsMockController.stats.get(0); JsonNode json = parseJson(content.json); - assertThat(json.has("requestCountry")) - .as("requestCountry property should not be set if value is set to xx") + assertThat(json.has("requestCountry")).as("requestCountry property should not be set if value is set to xx") .isFalse(); } @@ -170,11 +165,10 @@ class MainControllerStatsIntegrationTests @Test void errorPublishingStatsDoesNotBubbleUp() { - this.projectGenerationStatPublisher.updateRequestUrl( - URI.create("http://localhost:" + this.port + "/elastic-error")); + this.projectGenerationStatPublisher + .updateRequestUrl(URI.create("http://localhost:" + this.port + "/elastic-error")); downloadArchive("/starter.zip"); - assertThat(this.statsMockController.stats).as("No stat should be available") - .isEmpty(); + assertThat(this.statsMockController.stats).as("No stat should be available").isEmpty(); } @RestController diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisherTests.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisherTests.java index 359031f7..bdf21ad5 100755 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisherTests.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisherTests.java @@ -64,10 +64,9 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat */ class ProjectGenerationStatPublisherTests { - private final InitializrMetadata metadata = InitializrMetadataTestBuilder - .withDefaults().addDependencyGroup("core", "security", "validation", "aop") - .addDependencyGroup("web", "web", "data-rest", "jersey") - .addDependencyGroup("data", "data-jpa", "jdbc") + private final InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() + .addDependencyGroup("core", "security", "validation", "aop") + .addDependencyGroup("web", "web", "data-rest", "jersey").addDependencyGroup("data", "data-jpa", "jdbc") .addDependencyGroup("database", "h2", "mysql").build(); private RetryTemplate retryTemplate; @@ -84,10 +83,9 @@ class ProjectGenerationStatPublisherTests { private void configureService(StatsProperties properties) { ProjectRequestDocumentFactory documentFactory = new ProjectRequestDocumentFactory(); this.retryTemplate = new RetryTemplate(); - this.statPublisher = new ProjectGenerationStatPublisher(documentFactory, - properties, new RestTemplateBuilder(), this.retryTemplate); - this.mockServer = MockRestServiceServer - .createServer(this.statPublisher.getRestTemplate()); + this.statPublisher = new ProjectGenerationStatPublisher(documentFactory, properties, new RestTemplateBuilder(), + this.retryTemplate); + this.mockServer = MockRestServiceServer.createServer(this.statPublisher.getRestTemplate()); } @Test @@ -127,19 +125,16 @@ class ProjectGenerationStatPublisherTests { properties.getElastic().setUri("https://example.com/test/"); configureService(properties); testAuthorization("https://example.com/test/initializr/request", - (request) -> assertThat(request.getHeaders().containsKey("Authorization")) - .isFalse()); + (request) -> assertThat(request.getHeaders().containsKey("Authorization")).isFalse()); } - private void testAuthorization(String expectedUri, - RequestMatcher authorizationMatcher) { + private void testAuthorization(String expectedUri, RequestMatcher authorizationMatcher) { ProjectRequest request = createProjectRequest(); request.setGroupId("com.example.foo"); request.setArtifactId("my-project"); this.mockServer.expect(requestTo(expectedUri)).andExpect(method(HttpMethod.POST)) .andExpect(authorizationMatcher) - .andRespond(withStatus(HttpStatus.CREATED) - .body(mockResponse(UUID.randomUUID().toString(), true)) + .andRespond(withStatus(HttpStatus.CREATED).body(mockResponse(UUID.randomUUID().toString(), true)) .contentType(MediaType.APPLICATION_JSON)); handleEvent(request); this.mockServer.verify(); @@ -159,10 +154,8 @@ class ProjectGenerationStatPublisherTests { request.getParameters().put("cf-ipcountry", "BE"); this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) - .andExpect(method(HttpMethod.POST)) - .andExpect(json("stat/request-simple.json")) - .andRespond(withStatus(HttpStatus.CREATED) - .body(mockResponse(UUID.randomUUID().toString(), true)) + .andExpect(method(HttpMethod.POST)).andExpect(json("stat/request-simple.json")) + .andRespond(withStatus(HttpStatus.CREATED).body(mockResponse(UUID.randomUUID().toString(), true)) .contentType(MediaType.APPLICATION_JSON)); handleEvent(request); @@ -180,10 +173,8 @@ class ProjectGenerationStatPublisherTests { request.setLanguage("java"); this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) - .andExpect(method(HttpMethod.POST)) - .andExpect(json("stat/request-no-client.json")) - .andRespond(withStatus(HttpStatus.CREATED) - .body(mockResponse(UUID.randomUUID().toString(), true)) + .andExpect(method(HttpMethod.POST)).andExpect(json("stat/request-no-client.json")) + .andRespond(withStatus(HttpStatus.CREATED).body(mockResponse(UUID.randomUUID().toString(), true)) .contentType(MediaType.APPLICATION_JSON)); handleEvent(request); @@ -201,10 +192,8 @@ class ProjectGenerationStatPublisherTests { request.setLanguage("java"); this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) - .andExpect(method(HttpMethod.POST)) - .andExpect(json("stat/request-invalid-type.json")) - .andRespond(withStatus(HttpStatus.CREATED) - .body(mockResponse(UUID.randomUUID().toString(), true)) + .andExpect(method(HttpMethod.POST)).andExpect(json("stat/request-invalid-type.json")) + .andRespond(withStatus(HttpStatus.CREATED).body(mockResponse(UUID.randomUUID().toString(), true)) .contentType(MediaType.APPLICATION_JSON)); handleEvent(request); @@ -222,10 +211,8 @@ class ProjectGenerationStatPublisherTests { request.setLanguage("c"); this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) - .andExpect(method(HttpMethod.POST)) - .andExpect(json("stat/request-invalid-language.json")) - .andRespond(withStatus(HttpStatus.CREATED) - .body(mockResponse(UUID.randomUUID().toString(), true)) + .andExpect(method(HttpMethod.POST)).andExpect(json("stat/request-invalid-language.json")) + .andRespond(withStatus(HttpStatus.CREATED).body(mockResponse(UUID.randomUUID().toString(), true)) .contentType(MediaType.APPLICATION_JSON)); handleEvent(request); @@ -244,10 +231,8 @@ class ProjectGenerationStatPublisherTests { request.setJavaVersion("1.2"); this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) - .andExpect(method(HttpMethod.POST)) - .andExpect(json("stat/request-invalid-java-version.json")) - .andRespond(withStatus(HttpStatus.CREATED) - .body(mockResponse(UUID.randomUUID().toString(), true)) + .andExpect(method(HttpMethod.POST)).andExpect(json("stat/request-invalid-java-version.json")) + .andRespond(withStatus(HttpStatus.CREATED).body(mockResponse(UUID.randomUUID().toString(), true)) .contentType(MediaType.APPLICATION_JSON)); handleEvent(request); @@ -265,10 +250,8 @@ class ProjectGenerationStatPublisherTests { request.setLanguage("java"); this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) - .andExpect(method(HttpMethod.POST)) - .andExpect(json("stat/request-invalid-dependencies.json")) - .andRespond(withStatus(HttpStatus.CREATED) - .body(mockResponse(UUID.randomUUID().toString(), true)) + .andExpect(method(HttpMethod.POST)).andExpect(json("stat/request-invalid-dependencies.json")) + .andRespond(withStatus(HttpStatus.CREATED).body(mockResponse(UUID.randomUUID().toString(), true)) .contentType(MediaType.APPLICATION_JSON)); handleEvent(request); @@ -280,17 +263,14 @@ class ProjectGenerationStatPublisherTests { ProjectRequest request = createProjectRequest(); this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) - .andExpect(method(HttpMethod.POST)) - .andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR)); + .andExpect(method(HttpMethod.POST)).andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR)); + + this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) + .andExpect(method(HttpMethod.POST)).andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR)); this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) .andExpect(method(HttpMethod.POST)) - .andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR)); - - this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) - .andExpect(method(HttpMethod.POST)) - .andRespond(withStatus(HttpStatus.CREATED) - .body(mockResponse(UUID.randomUUID().toString(), true)) + .andRespond(withStatus(HttpStatus.CREATED).body(mockResponse(UUID.randomUUID().toString(), true)) .contentType(MediaType.APPLICATION_JSON)); handleEvent(request); @@ -300,16 +280,13 @@ class ProjectGenerationStatPublisherTests { @Test void fatalErrorOnlyLogs() { ProjectRequest request = createProjectRequest(); - this.retryTemplate.setRetryPolicy(new SimpleRetryPolicy(2, - Collections.singletonMap(Exception.class, true))); + this.retryTemplate.setRetryPolicy(new SimpleRetryPolicy(2, Collections.singletonMap(Exception.class, true))); this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) - .andExpect(method(HttpMethod.POST)) - .andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR)); + .andExpect(method(HttpMethod.POST)).andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR)); this.mockServer.expect(requestTo("http://example.com/elastic/initializr/request")) - .andExpect(method(HttpMethod.POST)) - .andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR)); + .andExpect(method(HttpMethod.POST)).andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR)); handleEvent(request); this.mockServer.verify(); @@ -326,10 +303,8 @@ class ProjectGenerationStatPublisherTests { } private static String mockResponse(String id, boolean created) { - return "{\"_index\":\"initializr\",\"_type\":\"request\",\"_id\":\"" + id - + "\",\"_version\":1,\"_shards\"" - + ":{\"total\":1,\"successful\":1,\"failed\":0},\"created\":" + created - + "}"; + return "{\"_index\":\"initializr\",\"_type\":\"request\",\"_id\":\"" + id + "\",\"_version\":1,\"_shards\"" + + ":{\"total\":1,\"successful\":1,\"failed\":0},\"created\":" + created + "}"; } private static StatsProperties createProperties() { @@ -359,18 +334,15 @@ class ProjectGenerationStatPublisherTests { private static void assertJsonContent(String expected, String actual) { try { - JSONAssert.assertEquals(expected, actual, new CustomComparator( - JSONCompareMode.STRICT, + JSONAssert.assertEquals(expected, actual, new CustomComparator(JSONCompareMode.STRICT, Customization.customization("generationTimestamp", (o1, o2) -> { Instant timestamp = Instant.ofEpochMilli((long) o1); - return timestamp - .isAfter(Instant.now().minus(2, ChronoUnit.SECONDS)) + return timestamp.isAfter(Instant.now().minus(2, ChronoUnit.SECONDS)) && timestamp.isBefore(Instant.now()); }))); } catch (JSONException ex) { - throw new AssertionError( - "Failed to parse expected or actual JSON request content", ex); + throw new AssertionError("Failed to parse expected or actual JSON request content", ex); } } diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactoryTests.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactoryTests.java index 2f150b18..7c7603bb 100755 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactoryTests.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactoryTests.java @@ -35,10 +35,9 @@ import static org.assertj.core.api.Assertions.assertThat; */ class ProjectRequestDocumentFactoryTests { - private final InitializrMetadata metadata = InitializrMetadataTestBuilder - .withDefaults().addDependencyGroup("core", "security", "validation", "aop") - .addDependencyGroup("web", "web", "data-rest", "jersey") - .addDependencyGroup("data", "data-jpa", "jdbc") + private final InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() + .addDependencyGroup("core", "security", "validation", "aop") + .addDependencyGroup("web", "web", "data-rest", "jersey").addDependencyGroup("data", "data-jpa", "jdbc") .addDependencyGroup("database", "h2", "mysql").build(); private final ProjectRequestDocumentFactory factory = new ProjectRequestDocumentFactory(); @@ -224,8 +223,7 @@ class ProjectRequestDocumentFactoryTests { request.setDependencies(Arrays.asList("web", "invalid", "data-jpa", "invalid-2")); ProjectGeneratedEvent event = createProjectGeneratedEvent(request); ProjectRequestDocument document = this.factory.createDocument(event); - assertThat(document.getDependencies().getValues()).containsExactly("web", - "data-jpa"); + assertThat(document.getDependencies().getValues()).containsExactly("web", "data-jpa"); assertThat(document.getErrorState().isInvalid()).isTrue(); assertThat(document.getErrorState().getJavaVersion()).isNull(); assertThat(document.getErrorState().getLanguage()).isNull(); @@ -233,8 +231,7 @@ class ProjectRequestDocumentFactoryTests { assertThat(document.getErrorState().getType()).isNull(); assertThat(document.getErrorState().getDependencies()).isNotNull(); assertThat(document.getErrorState().getDependencies().isInvalid()).isTrue(); - assertThat(document.getErrorState().getDependencies().getValues()) - .containsExactly("invalid", "invalid-2"); + assertThat(document.getErrorState().getDependencies().getValues()).containsExactly("invalid", "invalid-2"); } @Test diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/test/MetricsAssert.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/test/MetricsAssert.java index f773463f..a245b8ae 100644 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/test/MetricsAssert.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/test/MetricsAssert.java @@ -37,15 +37,14 @@ public class MetricsAssert { } public MetricsAssert hasValue(long value, String... metrics) { - Arrays.asList(metrics).forEach( - (metric) -> assertThat(this.meterRegistry.get(metric).counter().count()) - .isEqualTo(value)); + Arrays.asList(metrics) + .forEach((metric) -> assertThat(this.meterRegistry.get(metric).counter().count()).isEqualTo(value)); return this; } public MetricsAssert hasNoValue(String... metrics) { - Arrays.asList(metrics).forEach((metric) -> assertThat( - Search.in(this.meterRegistry).name((n) -> n.startsWith(metric)).counter()) + Arrays.asList(metrics).forEach( + (metric) -> assertThat(Search.in(this.meterRegistry).name((n) -> n.startsWith(metric)).counter()) .isNull()); return this; } diff --git a/initializr-docs/src/test/java/io/spring/initializr/stub/ClientApplicationTests.java b/initializr-docs/src/test/java/io/spring/initializr/stub/ClientApplicationTests.java index 2aac53d2..83694f86 100755 --- a/initializr-docs/src/test/java/io/spring/initializr/stub/ClientApplicationTests.java +++ b/initializr-docs/src/test/java/io/spring/initializr/stub/ClientApplicationTests.java @@ -41,8 +41,7 @@ import static org.assertj.core.api.Assertions.assertThat; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = WebEnvironment.NONE) -@AutoConfigureStubRunner(ids = "io.spring.initializr:initializr-web:${project.version}", - stubsMode = StubsMode.LOCAL) +@AutoConfigureStubRunner(ids = "io.spring.initializr:initializr-web:${project.version}", stubsMode = StubsMode.LOCAL) // tag::test[] public class ClientApplicationTests { @@ -55,11 +54,9 @@ public class ClientApplicationTests { @Test public void testCurrentMetadata() { RequestEntity request = RequestEntity.get(createUri("/")) - .accept(MediaType.valueOf("application/vnd.initializr.v2.1+json")) - .build(); + .accept(MediaType.valueOf("application/vnd.initializr.v2.1+json")).build(); - ResponseEntity response = this.restTemplate.exchange(request, - String.class); + ResponseEntity response = this.restTemplate.exchange(request, String.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); // other assertions here } diff --git a/initializr-docs/src/test/java/io/spring/initializr/stub/SampleApp.java b/initializr-docs/src/test/java/io/spring/initializr/stub/SampleApp.java index 6fb1aa89..ecfee216 100644 --- a/initializr-docs/src/test/java/io/spring/initializr/stub/SampleApp.java +++ b/initializr-docs/src/test/java/io/spring/initializr/stub/SampleApp.java @@ -26,8 +26,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * * @author Stephane Nicoll */ -@SpringBootApplication(exclude = { InitializrAutoConfiguration.class, - InitializrActuatorEndpointsAutoConfiguration.class }) +@SpringBootApplication( + exclude = { InitializrAutoConfiguration.class, InitializrActuatorEndpointsAutoConfiguration.class }) public class SampleApp { } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildMetadataResolver.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildMetadataResolver.java index 449ef160..8b6f9930 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildMetadataResolver.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildMetadataResolver.java @@ -43,9 +43,7 @@ public class BuildMetadataResolver { * @return a stream of dependency metadata */ public Stream dependencies(Build build) { - return build.dependencies().ids() - .map((id) -> this.metadata.getDependencies().get(id)) - .filter(Objects::nonNull); + return build.dependencies().ids().map((id) -> this.metadata.getDependencies().get(id)).filter(Objects::nonNull); } /** @@ -55,8 +53,7 @@ public class BuildMetadataResolver { * @return {@code true} if this build defines at least a dependency with that facet */ public boolean hasFacet(Build build, String facet) { - return dependencies(build) - .anyMatch((dependency) -> dependency.getFacets().contains(facet)); + return dependencies(build).anyMatch((dependency) -> dependency.getFacets().contains(facet)); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildProjectGenerationConfiguration.java index 745ab5cd..d242ae74 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildProjectGenerationConfiguration.java @@ -50,23 +50,22 @@ public class BuildProjectGenerationConfiguration { @Bean @ConditionalOnPlatformVersion("[1.5.0.RELEASE,2.2.0.M3)") public BuildCustomizer junit4TestStarterContributor() { - return (build) -> build.dependencies().add("test", "org.springframework.boot", - "spring-boot-starter-test", DependencyScope.TEST_COMPILE); + return (build) -> build.dependencies().add("test", "org.springframework.boot", "spring-boot-starter-test", + DependencyScope.TEST_COMPILE); } @Bean @ConditionalOnPlatformVersion("2.2.0.M3") public BuildCustomizer junitJupiterTestStarterContributor() { - return (build) -> build.dependencies().add("test", Dependency - .withCoordinates("org.springframework.boot", "spring-boot-starter-test") - .scope(DependencyScope.TEST_COMPILE) - .exclusions(new Exclusion("org.junit.vintage", "junit-vintage-engine"), - new Exclusion("junit", "junit"))); + return (build) -> build.dependencies().add("test", + Dependency.withCoordinates("org.springframework.boot", "spring-boot-starter-test") + .scope(DependencyScope.TEST_COMPILE) + .exclusions(new Exclusion("org.junit.vintage", "junit-vintage-engine"), + new Exclusion("junit", "junit"))); } @Bean - public DefaultStarterBuildCustomizer defaultStarterContributor( - InitializrMetadata metadata) { + public DefaultStarterBuildCustomizer defaultStarterContributor(InitializrMetadata metadata) { return new DefaultStarterBuildCustomizer(metadata); } @@ -78,24 +77,22 @@ public class BuildProjectGenerationConfiguration { @Bean @ConditionalOnPackaging(WarPackaging.ID) - public WarPackagingWebStarterBuildCustomizer warPackagingWebStarterBuildCustomizer( - InitializrMetadata metadata) { + public WarPackagingWebStarterBuildCustomizer warPackagingWebStarterBuildCustomizer(InitializrMetadata metadata) { return new WarPackagingWebStarterBuildCustomizer(metadata); } @Bean @ConditionalOnLanguage(KotlinLanguage.ID) @ConditionalOnBuildSystem(GradleBuildSystem.ID) - public KotlinJpaGradleBuildCustomizer kotlinJpaGradleBuildCustomizer( - InitializrMetadata metadata, KotlinProjectSettings settings) { + public KotlinJpaGradleBuildCustomizer kotlinJpaGradleBuildCustomizer(InitializrMetadata metadata, + KotlinProjectSettings settings) { return new KotlinJpaGradleBuildCustomizer(metadata, settings); } @Bean @ConditionalOnLanguage(KotlinLanguage.ID) @ConditionalOnBuildSystem(MavenBuildSystem.ID) - public KotlinJpaMavenBuildCustomizer kotlinJpaMavenBuildCustomizer( - InitializrMetadata metadata) { + public KotlinJpaMavenBuildCustomizer kotlinJpaMavenBuildCustomizer(InitializrMetadata metadata) { return new KotlinJpaMavenBuildCustomizer(metadata); } @@ -106,16 +103,14 @@ public class BuildProjectGenerationConfiguration { } @Bean - public SimpleBuildCustomizer projectDescriptionBuildCustomizer( - ResolvedProjectDescription projectDescription) { + public SimpleBuildCustomizer projectDescriptionBuildCustomizer(ResolvedProjectDescription projectDescription) { return new SimpleBuildCustomizer(projectDescription); } @Bean public SpringBootVersionRepositoriesBuildCustomizer repositoriesBuilderCustomizer( ResolvedProjectDescription description) { - return new SpringBootVersionRepositoriesBuildCustomizer( - description.getPlatformVersion()); + return new SpringBootVersionRepositoriesBuildCustomizer(description.getPlatformVersion()); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizer.java index a4392930..aad2c07c 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizer.java @@ -43,14 +43,12 @@ class DefaultStarterBuildCustomizer implements BuildCustomizer { @Override public void customize(Build build) { - boolean hasStarter = this.buildResolver.dependencies(build) - .anyMatch(this::isValidStarter); + boolean hasStarter = this.buildResolver.dependencies(build).anyMatch(this::isValidStarter); if (!hasStarter) { Dependency root = new Dependency(); root.setId(DEFAULT_STARTER); root.asSpringBootStarter(""); - build.dependencies().add(DEFAULT_STARTER, - MetadataBuildItemMapper.toDependency(root)); + build.dependencies().add(DEFAULT_STARTER, MetadataBuildItemMapper.toDependency(root)); } } @@ -60,8 +58,7 @@ class DefaultStarterBuildCustomizer implements BuildCustomizer { } private boolean isValidStarter(Dependency dependency) { - return dependency.isStarter() - && Dependency.SCOPE_COMPILE.equals(dependency.getScope()); + return dependency.isStarter() && Dependency.SCOPE_COMPILE.equals(dependency.getScope()); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DependencyManagementBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DependencyManagementBuildCustomizer.java index 72b10b73..97db2dc8 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DependencyManagementBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DependencyManagementBuildCustomizer.java @@ -43,8 +43,8 @@ public class DependencyManagementBuildCustomizer implements BuildCustomizer repositories = new LinkedHashMap<>(); mapDependencies(build).forEach((dependency) -> { if (dependency.getBom() != null) { - resolveBom(resolvedBoms, dependency.getBom(), - this.projectDescription.getPlatformVersion()); + resolveBom(resolvedBoms, dependency.getBom(), this.projectDescription.getPlatformVersion()); } if (dependency.getRepository() != null) { String repositoryId = dependency.getRepository(); - repositories.computeIfAbsent(repositoryId, (key) -> this.metadata - .getConfiguration().getEnv().getRepositories().get(key)); + repositories.computeIfAbsent(repositoryId, + (key) -> this.metadata.getConfiguration().getEnv().getRepositories().get(key)); } }); - resolvedBoms.values() - .forEach((bom) -> bom.getRepositories() - .forEach((repositoryId) -> repositories.computeIfAbsent( - repositoryId, (key) -> this.metadata.getConfiguration() - .getEnv().getRepositories().get(key)))); + resolvedBoms.values().forEach( + (bom) -> bom.getRepositories().forEach((repositoryId) -> repositories.computeIfAbsent(repositoryId, + (key) -> this.metadata.getConfiguration().getEnv().getRepositories().get(key)))); resolvedBoms.forEach((key, bom) -> { build.boms().add(key, MetadataBuildItemMapper.toBom(bom)); if (bom.getVersionProperty() != null) { @@ -88,18 +85,14 @@ public class DependencyManagementBuildCustomizer implements BuildCustomizer mapDependencies(Build build) { - return build.dependencies().ids() - .map((id) -> this.metadata.getDependencies().get(id)) - .filter(Objects::nonNull); + return build.dependencies().ids().map((id) -> this.metadata.getDependencies().get(id)).filter(Objects::nonNull); } - private void resolveBom(Map boms, String bomId, - Version requestedVersion) { + private void resolveBom(Map boms, String bomId, Version requestedVersion) { if (!boms.containsKey(bomId)) { - BillOfMaterials bom = this.metadata.getConfiguration().getEnv().getBoms() - .get(bomId).resolve(requestedVersion); - bom.getAdditionalBoms() - .forEach((id) -> resolveBom(boms, id, requestedVersion)); + BillOfMaterials bom = this.metadata.getConfiguration().getEnv().getBoms().get(bomId) + .resolve(requestedVersion); + bom.getAdditionalBoms().forEach((id) -> resolveBom(boms, id, requestedVersion)); boms.put(bomId, bom); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/SpringBootVersionRepositoriesBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/SpringBootVersionRepositoriesBuildCustomizer.java index 288bc1f0..f90b7a39 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/SpringBootVersionRepositoriesBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/SpringBootVersionRepositoriesBuildCustomizer.java @@ -39,12 +39,12 @@ class SpringBootVersionRepositoriesBuildCustomizer implements BuildCustomizer { +public class GradleAnnotationProcessorScopeBuildCustomizer implements BuildCustomizer { @Override public void customize(GradleBuild build) { boolean annotationProcessorUsed = build.dependencies().items() - .anyMatch((dependency) -> dependency - .getScope() == DependencyScope.ANNOTATION_PROCESSOR); + .anyMatch((dependency) -> dependency.getScope() == DependencyScope.ANNOTATION_PROCESSOR); if (annotationProcessorUsed) { build.customizeConfiguration("compileOnly", (configuration) -> configuration.extendsFrom("annotationProcessor")); diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleBuildProjectContributor.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleBuildProjectContributor.java index 5601ead3..7f1bd627 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleBuildProjectContributor.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleBuildProjectContributor.java @@ -60,8 +60,7 @@ public class GradleBuildProjectContributor implements BuildWriter, ProjectContri @Override public void writeBuild(Writer out) throws IOException { - try (IndentingWriter writer = this.indentingWriterFactory - .createIndentingWriter("gradle", out)) { + try (IndentingWriter writer = this.indentingWriterFactory.createIndentingWriter("gradle", out)) { this.buildWriter.writeTo(writer, this.build); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleConfigurationBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleConfigurationBuildCustomizer.java index 87ad8f65..8035e794 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleConfigurationBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleConfigurationBuildCustomizer.java @@ -32,16 +32,13 @@ public class GradleConfigurationBuildCustomizer implements BuildCustomizer DependencyScope.PROVIDED_RUNTIME - .equals(dependency.getScope())); - boolean war = build.getPlugins().stream() - .anyMatch((plugin) -> plugin.getId().equals("war")); + .anyMatch((dependency) -> DependencyScope.PROVIDED_RUNTIME.equals(dependency.getScope())); + boolean war = build.getPlugins().stream().anyMatch((plugin) -> plugin.getId().equals("war")); if (providedRuntimeUsed && !war) { build.addConfiguration("providedRuntime"); } boolean annotationProcessorUsed = build.dependencies().items() - .anyMatch((dependency) -> dependency - .getScope() == DependencyScope.ANNOTATION_PROCESSOR); + .anyMatch((dependency) -> dependency.getScope() == DependencyScope.ANNOTATION_PROCESSOR); if (annotationProcessorUsed) { build.customizeConfiguration("compileOnly", (configuration) -> configuration.extendsFrom("annotationProcessor")); diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleProjectGenerationConfiguration.java index 39e75b93..78908ba3 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleProjectGenerationConfiguration.java @@ -57,8 +57,7 @@ public class GradleProjectGenerationConfiguration { private final IndentingWriterFactory indentingWriterFactory; - public GradleProjectGenerationConfiguration( - IndentingWriterFactory indentingWriterFactory) { + public GradleProjectGenerationConfiguration(IndentingWriterFactory indentingWriterFactory) { this.indentingWriterFactory = indentingWriterFactory; } @@ -72,18 +71,15 @@ public class GradleProjectGenerationConfiguration { @SuppressWarnings("unchecked") private GradleBuild createGradleBuild(BuildItemResolver buildItemResolver, List> buildCustomizers) { - GradleBuild build = (buildItemResolver != null) - ? new GradleBuild(buildItemResolver) : new GradleBuild(); + GradleBuild build = (buildItemResolver != null) ? new GradleBuild(buildItemResolver) : new GradleBuild(); LambdaSafe.callbacks(BuildCustomizer.class, buildCustomizers, build) .invoke((customizer) -> customizer.customize(build)); return build; } @Bean - public BuildCustomizer defaultGradleBuildCustomizer( - ResolvedProjectDescription projectDescription) { - return (build) -> build - .setSourceCompatibility(projectDescription.getLanguage().jvmVersion()); + public BuildCustomizer defaultGradleBuildCustomizer(ResolvedProjectDescription projectDescription) { + return (build) -> build.setSourceCompatibility(projectDescription.getLanguage().jvmVersion()); } @Bean @@ -105,28 +101,23 @@ public class GradleProjectGenerationConfiguration { @Bean @ConditionalOnPlatformVersion("2.0.0.M1") - @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, - dialect = GradleBuildSystem.DIALECT_GROOVY) + @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, dialect = GradleBuildSystem.DIALECT_GROOVY) public BuildCustomizer applyDependencyManagementPluginContributor() { return (build) -> build.applyPlugin("io.spring.dependency-management"); } @Bean - @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, - dialect = GradleBuildSystem.DIALECT_GROOVY) - public GradleBuildProjectContributor gradleBuildProjectContributor( - GroovyDslGradleBuildWriter buildWriter, GradleBuild build) { - return new GradleBuildProjectContributor(buildWriter, build, - this.indentingWriterFactory, "build.gradle"); + @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, dialect = GradleBuildSystem.DIALECT_GROOVY) + public GradleBuildProjectContributor gradleBuildProjectContributor(GroovyDslGradleBuildWriter buildWriter, + GradleBuild build) { + return new GradleBuildProjectContributor(buildWriter, build, this.indentingWriterFactory, "build.gradle"); } @Bean - @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, - dialect = GradleBuildSystem.DIALECT_KOTLIN) - public GradleBuildProjectContributor gradleKtsBuildProjectContributor( - KotlinDslGradleBuildWriter buildWriter, GradleBuild build) { - return new GradleBuildProjectContributor(buildWriter, build, - this.indentingWriterFactory, "build.gradle.kts"); + @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, dialect = GradleBuildSystem.DIALECT_KOTLIN) + public GradleBuildProjectContributor gradleKtsBuildProjectContributor(KotlinDslGradleBuildWriter buildWriter, + GradleBuild build) { + return new GradleBuildProjectContributor(buildWriter, build, this.indentingWriterFactory, "build.gradle.kts"); } /** @@ -148,17 +139,15 @@ public class GradleProjectGenerationConfiguration { } @Bean - public Gradle3SettingsGradleProjectContributor settingsGradleProjectContributor( - GradleBuild build) { + public Gradle3SettingsGradleProjectContributor settingsGradleProjectContributor(GradleBuild build) { return new Gradle3SettingsGradleProjectContributor(build); } @Bean - public BuildCustomizer springBootPluginContributor( - ResolvedProjectDescription projectDescription) { + public BuildCustomizer springBootPluginContributor(ResolvedProjectDescription projectDescription) { return (build) -> { - build.buildscript((buildscript) -> buildscript - .dependency("org.springframework.boot:spring-boot-gradle-plugin:" + build.buildscript( + (buildscript) -> buildscript.dependency("org.springframework.boot:spring-boot-gradle-plugin:" + projectDescription.getPlatformVersion())); build.applyPlugin("org.springframework.boot"); }; @@ -199,8 +188,7 @@ public class GradleProjectGenerationConfiguration { * Configuration specific to projects using Gradle (Groovy DSL) 4 or 5. */ @Configuration - @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, - dialect = GradleBuildSystem.DIALECT_GROOVY) + @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, dialect = GradleBuildSystem.DIALECT_GROOVY) @ConditionalOnGradleVersion({ "4", "5" }) static class Gradle4Or5ProjectGenerationConfiguration { @@ -210,15 +198,14 @@ public class GradleProjectGenerationConfiguration { } @Bean - public SettingsGradleProjectContributor settingsGradleProjectContributor( - GradleBuild build, IndentingWriterFactory indentingWriterFactory) { + public SettingsGradleProjectContributor settingsGradleProjectContributor(GradleBuild build, + IndentingWriterFactory indentingWriterFactory) { return new SettingsGradleProjectContributor(build, indentingWriterFactory, new GroovyDslGradleSettingsWriter(), "settings.gradle"); } @Bean - public BuildCustomizer springBootPluginContributor( - ResolvedProjectDescription projectDescription) { + public BuildCustomizer springBootPluginContributor(ResolvedProjectDescription projectDescription) { return (build) -> build.addPlugin("org.springframework.boot", projectDescription.getPlatformVersion().toString()); } @@ -226,8 +213,7 @@ public class GradleProjectGenerationConfiguration { @Bean @ConditionalOnPlatformVersion("2.2.0.M3") public BuildCustomizer testTaskContributor() { - return (build) -> build.customizeTask("test", - (test) -> test.invoke("useJUnitPlatform")); + return (build) -> build.customizeTask("test", (test) -> test.invoke("useJUnitPlatform")); } @Bean @@ -241,8 +227,7 @@ public class GradleProjectGenerationConfiguration { * Configuration specific to projects using Gradle (Kotlin DSL). */ @Configuration - @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, - dialect = GradleBuildSystem.DIALECT_KOTLIN) + @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, dialect = GradleBuildSystem.DIALECT_KOTLIN) @ConditionalOnGradleVersion("5") static class GradleKtsProjectGenerationConfiguration { @@ -252,30 +237,26 @@ public class GradleProjectGenerationConfiguration { } @Bean - public SettingsGradleProjectContributor settingsGradleKtsProjectContributor( - GradleBuild build, IndentingWriterFactory indentingWriterFactory) { + public SettingsGradleProjectContributor settingsGradleKtsProjectContributor(GradleBuild build, + IndentingWriterFactory indentingWriterFactory) { return new SettingsGradleProjectContributor(build, indentingWriterFactory, new KotlinDslGradleSettingsWriter(), "settings.gradle.kts"); } @Bean - public BuildCustomizer springBootPluginContributor( - ResolvedProjectDescription projectDescription, + public BuildCustomizer springBootPluginContributor(ResolvedProjectDescription projectDescription, InitializrMetadata metadata) { return (build) -> { - build.addPlugin("org.springframework.boot", - projectDescription.getPlatformVersion().toString()); + build.addPlugin("org.springframework.boot", projectDescription.getPlatformVersion().toString()); build.addPlugin("io.spring.dependency-management", - metadata.getConfiguration().getEnv().getGradle() - .getDependencyManagementPluginVersion()); + metadata.getConfiguration().getEnv().getGradle().getDependencyManagementPluginVersion()); }; } @Bean @ConditionalOnPlatformVersion("2.2.0.M3") public BuildCustomizer testTaskContributor() { - return (build) -> build.customizeTasksWithType("Test", - (test) -> test.invoke("useJUnitPlatform")); + return (build) -> build.customizeTasksWithType("Test", (test) -> test.invoke("useJUnitPlatform")); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleWrapperContributor.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleWrapperContributor.java index 7d9cb274..2569cd54 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleWrapperContributor.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/GradleWrapperContributor.java @@ -28,8 +28,7 @@ class GradleWrapperContributor extends MultipleResourcesProjectContributor { GradleWrapperContributor(String gradleVersion) { super("classpath:gradle/" + gradleVersion + "/wrapper", - (filename) -> filename.equals("gradlew") - || filename.equals("gradlew.bat")); + (filename) -> filename.equals("gradlew") || filename.equals("gradlew.bat")); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/OnGradleVersionCondition.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/OnGradleVersionCondition.java index 4942732a..d5fea53f 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/OnGradleVersionCondition.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/OnGradleVersionCondition.java @@ -36,25 +36,20 @@ import org.springframework.core.type.AnnotatedTypeMetadata; */ public class OnGradleVersionCondition extends ProjectGenerationCondition { - private static final VersionRange GRADLE_3_VERSION_RANGE = VersionParser.DEFAULT - .parseRange("[1.5.0.M1,2.0.0.M1)"); + private static final VersionRange GRADLE_3_VERSION_RANGE = VersionParser.DEFAULT.parseRange("[1.5.0.M1,2.0.0.M1)"); - private static final VersionRange GRADLE_4_VERSION_RANGE = VersionParser.DEFAULT - .parseRange("[2.0.0.M1, 2.1.0.M1)"); + private static final VersionRange GRADLE_4_VERSION_RANGE = VersionParser.DEFAULT.parseRange("[2.0.0.M1, 2.1.0.M1)"); - private static final VersionRange GRADLE_5_VERSION_RANGE = VersionParser.DEFAULT - .parseRange("2.1.0.M1"); + private static final VersionRange GRADLE_5_VERSION_RANGE = VersionParser.DEFAULT.parseRange("2.1.0.M1"); @Override - protected boolean matches(ResolvedProjectDescription projectDescription, - ConditionContext context, AnnotatedTypeMetadata metadata) { - String gradleGeneration = determineGradleGeneration( - projectDescription.getPlatformVersion()); + protected boolean matches(ResolvedProjectDescription projectDescription, ConditionContext context, + AnnotatedTypeMetadata metadata) { + String gradleGeneration = determineGradleGeneration(projectDescription.getPlatformVersion()); if (gradleGeneration == null) { return false; } - String[] values = (String[]) metadata - .getAnnotationAttributes(ConditionalOnGradleVersion.class.getName()) + String[] values = (String[]) metadata.getAnnotationAttributes(ConditionalOnGradleVersion.class.getName()) .get("value"); return Arrays.asList(values).contains(gradleGeneration); } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/SettingsGradleProjectContributor.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/SettingsGradleProjectContributor.java index 4971f360..fdf6d3fc 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/SettingsGradleProjectContributor.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/gradle/SettingsGradleProjectContributor.java @@ -42,8 +42,7 @@ class SettingsGradleProjectContributor implements ProjectContributor { private final String settingsFileName; - SettingsGradleProjectContributor(GradleBuild build, - IndentingWriterFactory indentingWriterFactory, + SettingsGradleProjectContributor(GradleBuild build, IndentingWriterFactory indentingWriterFactory, GradleSettingsWriter settingsWriter, String settingsFileName) { this.build = build; this.indentingWriterFactory = indentingWriterFactory; @@ -53,10 +52,9 @@ class SettingsGradleProjectContributor implements ProjectContributor { @Override public void contribute(Path projectRoot) throws IOException { - Path settingsGradle = Files - .createFile(projectRoot.resolve(this.settingsFileName)); - try (IndentingWriter writer = this.indentingWriterFactory.createIndentingWriter( - "gradle", Files.newBufferedWriter(settingsGradle))) { + Path settingsGradle = Files.createFile(projectRoot.resolve(this.settingsFileName)); + try (IndentingWriter writer = this.indentingWriterFactory.createIndentingWriter("gradle", + Files.newBufferedWriter(settingsGradle))) { this.settingsWriter.writeTo(writer, this.build); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/DefaultMavenBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/DefaultMavenBuildCustomizer.java index 6cd240cd..b562eb24 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/DefaultMavenBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/DefaultMavenBuildCustomizer.java @@ -36,8 +36,7 @@ public class DefaultMavenBuildCustomizer implements BuildCustomizer private final InitializrMetadata metadata; - public DefaultMavenBuildCustomizer(ResolvedProjectDescription projectDescription, - InitializrMetadata metadata) { + public DefaultMavenBuildCustomizer(ResolvedProjectDescription projectDescription, InitializrMetadata metadata) { this.projectDescription = projectDescription; this.metadata = metadata; } @@ -46,18 +45,16 @@ public class DefaultMavenBuildCustomizer implements BuildCustomizer public void customize(MavenBuild build) { build.setName(this.projectDescription.getName()); build.setDescription(this.projectDescription.getDescription()); - build.setProperty("java.version", - this.projectDescription.getLanguage().jvmVersion()); + build.setProperty("java.version", this.projectDescription.getLanguage().jvmVersion()); build.plugin("org.springframework.boot", "spring-boot-maven-plugin"); Maven maven = this.metadata.getConfiguration().getEnv().getMaven(); - String springBootVersion = this.projectDescription.getPlatformVersion() - .toString(); + String springBootVersion = this.projectDescription.getPlatformVersion().toString(); ParentPom parentPom = maven.resolveParentPom(springBootVersion); if (parentPom.isIncludeSpringBootBom()) { String versionProperty = "spring-boot.version"; - BillOfMaterials springBootBom = MetadataBuildItemMapper.toBom(this.metadata - .createSpringBootBom(springBootVersion, versionProperty)); + BillOfMaterials springBootBom = MetadataBuildItemMapper + .toBom(this.metadata.createSpringBootBom(springBootVersion, versionProperty)); if (!hasBom(build, springBootBom)) { build.addInternalVersionProperty(versionProperty, springBootVersion); build.boms().add("spring-boot", springBootBom); @@ -67,14 +64,12 @@ public class DefaultMavenBuildCustomizer implements BuildCustomizer build.setProperty("project.build.sourceEncoding", "UTF-8"); build.setProperty("project.reporting.outputEncoding", "UTF-8"); } - build.parent(parentPom.getGroupId(), parentPom.getArtifactId(), - parentPom.getVersion()); + build.parent(parentPom.getGroupId(), parentPom.getArtifactId(), parentPom.getVersion()); } private boolean hasBom(MavenBuild build, BillOfMaterials bom) { - return build.boms().items() - .anyMatch((candidate) -> candidate.getGroupId().equals(bom.getGroupId()) - && candidate.getArtifactId().equals(bom.getArtifactId())); + return build.boms().items().anyMatch((candidate) -> candidate.getGroupId().equals(bom.getGroupId()) + && candidate.getArtifactId().equals(bom.getArtifactId())); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenBuildProjectContributor.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenBuildProjectContributor.java index 69420cbd..71b09733 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenBuildProjectContributor.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenBuildProjectContributor.java @@ -42,8 +42,7 @@ public class MavenBuildProjectContributor implements BuildWriter, ProjectContrib private final MavenBuildWriter buildWriter; - public MavenBuildProjectContributor(MavenBuild build, - IndentingWriterFactory indentingWriterFactory) { + public MavenBuildProjectContributor(MavenBuild build, IndentingWriterFactory indentingWriterFactory) { this.build = build; this.indentingWriterFactory = indentingWriterFactory; this.buildWriter = new MavenBuildWriter(); @@ -57,8 +56,7 @@ public class MavenBuildProjectContributor implements BuildWriter, ProjectContrib @Override public void writeBuild(Writer out) throws IOException { - try (IndentingWriter writer = this.indentingWriterFactory - .createIndentingWriter("maven", out)) { + try (IndentingWriter writer = this.indentingWriterFactory.createIndentingWriter("maven", out)) { this.buildWriter.writeTo(writer, this.build); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenProjectGenerationConfiguration.java index 75de21dc..2f4ffd81 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenProjectGenerationConfiguration.java @@ -56,10 +56,8 @@ public class MavenProjectGenerationConfiguration { } @SuppressWarnings("unchecked") - private MavenBuild createBuild(BuildItemResolver buildItemResolver, - List> buildCustomizers) { - MavenBuild build = (buildItemResolver != null) ? new MavenBuild(buildItemResolver) - : new MavenBuild(); + private MavenBuild createBuild(BuildItemResolver buildItemResolver, List> buildCustomizers) { + MavenBuild build = (buildItemResolver != null) ? new MavenBuild(buildItemResolver) : new MavenBuild(); LambdaSafe.callbacks(BuildCustomizer.class, buildCustomizers, build) .invoke((customizer) -> customizer.customize(build)); return build; diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenWrapperContributor.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenWrapperContributor.java index 3e0f9f5f..44df5613 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenWrapperContributor.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/maven/MavenWrapperContributor.java @@ -27,8 +27,7 @@ import io.spring.initializr.generator.project.contributor.MultipleResourcesProje class MavenWrapperContributor extends MultipleResourcesProjectContributor { MavenWrapperContributor() { - super("classpath:maven/wrapper", - (filename) -> filename.equals("mvnw") || filename.equals("mvnw.cmd")); + super("classpath:maven/wrapper", (filename) -> filename.equals("mvnw") || filename.equals("mvnw.cmd")); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/MainApplicationTypeCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/MainApplicationTypeCustomizer.java index 1bcdd72c..495b721c 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/MainApplicationTypeCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/MainApplicationTypeCustomizer.java @@ -29,8 +29,7 @@ import org.springframework.core.Ordered; * @author Andy Wilkinson */ @FunctionalInterface -public interface MainApplicationTypeCustomizer - extends Ordered { +public interface MainApplicationTypeCustomizer extends Ordered { void customize(T typeDeclaration); diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/MainSourceCodeProjectContributor.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/MainSourceCodeProjectContributor.java index 8ac533f9..06ec46ff 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/MainSourceCodeProjectContributor.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/MainSourceCodeProjectContributor.java @@ -56,9 +56,8 @@ public class MainSourceCodeProjectContributor> mainSourceCodeCustomizers; - public MainSourceCodeProjectContributor(ResolvedProjectDescription projectDescription, - Supplier sourceFactory, SourceCodeWriter sourceWriter, - ObjectProvider> mainTypeCustomizers, + public MainSourceCodeProjectContributor(ResolvedProjectDescription projectDescription, Supplier sourceFactory, + SourceCodeWriter sourceWriter, ObjectProvider> mainTypeCustomizers, ObjectProvider> mainCompilationUnitCustomizers, ObjectProvider> mainSourceCodeCustomizers) { this.projectDescription = projectDescription; @@ -73,43 +72,35 @@ public class MainSourceCodeProjectContributor> customizers = this.mainTypeCustomizers - .orderedStream().collect(Collectors.toList()); - LambdaSafe - .callbacks(MainApplicationTypeCustomizer.class, customizers, - mainApplicationType) + List> customizers = this.mainTypeCustomizers.orderedStream() + .collect(Collectors.toList()); + LambdaSafe.callbacks(MainApplicationTypeCustomizer.class, customizers, mainApplicationType) .invoke((customizer) -> customizer.customize(mainApplicationType)); } @SuppressWarnings("unchecked") private void customizeMainCompilationUnit(C compilationUnit) { - List> customizers = this.mainCompilationUnitCustomizers - .orderedStream().collect(Collectors.toList()); - LambdaSafe - .callbacks(MainCompilationUnitCustomizer.class, customizers, - compilationUnit) + List> customizers = this.mainCompilationUnitCustomizers.orderedStream() + .collect(Collectors.toList()); + LambdaSafe.callbacks(MainCompilationUnitCustomizer.class, customizers, compilationUnit) .invoke((customizer) -> customizer.customize(compilationUnit)); } @SuppressWarnings("unchecked") private void customizeMainSourceCode(S sourceCode) { - List> customizers = this.mainSourceCodeCustomizers - .orderedStream().collect(Collectors.toList()); + List> customizers = this.mainSourceCodeCustomizers.orderedStream() + .collect(Collectors.toList()); LambdaSafe.callbacks(MainSourceCodeCustomizer.class, customizers, sourceCode) .invoke((customizer) -> customizer.customize(sourceCode)); } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/ServletInitializerContributor.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/ServletInitializerContributor.java index 3e134f87..b47a986f 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/ServletInitializerContributor.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/ServletInitializerContributor.java @@ -49,23 +49,19 @@ class ServletInitializerContributor implements } @Override - public void customize( - SourceCode> sourceCode) { - CompilationUnit compilationUnit = sourceCode - .createCompilationUnit(this.packageName, "ServletInitializer"); - TypeDeclaration servletInitializer = compilationUnit - .createTypeDeclaration("ServletInitializer"); + public void customize(SourceCode> sourceCode) { + CompilationUnit compilationUnit = sourceCode.createCompilationUnit(this.packageName, + "ServletInitializer"); + TypeDeclaration servletInitializer = compilationUnit.createTypeDeclaration("ServletInitializer"); servletInitializer.extend(this.initializerClassName); customizeServletInitializer(servletInitializer); } @SuppressWarnings("unchecked") private void customizeServletInitializer(TypeDeclaration servletInitializer) { - List> customizers = this.servletInitializerCustomizers - .orderedStream().collect(Collectors.toList()); - LambdaSafe - .callbacks(ServletInitializerCustomizer.class, customizers, - servletInitializer) + List> customizers = this.servletInitializerCustomizers.orderedStream() + .collect(Collectors.toList()); + LambdaSafe.callbacks(ServletInitializerCustomizer.class, customizers, servletInitializer) .invoke((customizer) -> customizer.customize(servletInitializer)); } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/SourceCodeProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/SourceCodeProjectGenerationConfiguration.java index 45036d8c..1d087ee1 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/SourceCodeProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/SourceCodeProjectGenerationConfiguration.java @@ -38,27 +38,25 @@ public class SourceCodeProjectGenerationConfiguration { @Bean public MainApplicationTypeCustomizer springBootApplicationAnnotator() { - return (typeDeclaration) -> typeDeclaration.annotate(Annotation - .name("org.springframework.boot.autoconfigure.SpringBootApplication")); + return (typeDeclaration) -> typeDeclaration + .annotate(Annotation.name("org.springframework.boot.autoconfigure.SpringBootApplication")); } @Bean @ConditionalOnPlatformVersion("[1.5.0.RELEASE,2.2.0.M3)") public TestApplicationTypeCustomizer junit4SpringBootTestTypeCustomizer() { return (typeDeclaration) -> { - typeDeclaration.annotate(Annotation.name("org.junit.runner.RunWith", - (annotation) -> annotation.attribute("value", Class.class, - "org.springframework.test.context.junit4.SpringRunner"))); - typeDeclaration.annotate(Annotation - .name("org.springframework.boot.test.context.SpringBootTest")); + typeDeclaration.annotate(Annotation.name("org.junit.runner.RunWith", (annotation) -> annotation + .attribute("value", Class.class, "org.springframework.test.context.junit4.SpringRunner"))); + typeDeclaration.annotate(Annotation.name("org.springframework.boot.test.context.SpringBootTest")); }; } @Bean @ConditionalOnPlatformVersion("2.2.0.M3") public TestApplicationTypeCustomizer junitJupiterSpringBootTestTypeCustomizer() { - return (typeDeclaration) -> typeDeclaration.annotate( - Annotation.name("org.springframework.boot.test.context.SpringBootTest")); + return (typeDeclaration) -> typeDeclaration + .annotate(Annotation.name("org.springframework.boot.test.context.SpringBootTest")); } /** @@ -78,18 +76,15 @@ public class SourceCodeProjectGenerationConfiguration { @ConditionalOnPlatformVersion("[1.5.0.M1, 2.0.0.M1)") public ServletInitializerContributor boot15ServletInitializerContributor( ObjectProvider> servletInitializerCustomizers) { - return new ServletInitializerContributor( - this.projectDescription.getPackageName(), - "org.springframework.boot.web.support.SpringBootServletInitializer", - servletInitializerCustomizers); + return new ServletInitializerContributor(this.projectDescription.getPackageName(), + "org.springframework.boot.web.support.SpringBootServletInitializer", servletInitializerCustomizers); } @Bean @ConditionalOnPlatformVersion("2.0.0.M1") public ServletInitializerContributor boot20ServletInitializerContributor( ObjectProvider> servletInitializerCustomizers) { - return new ServletInitializerContributor( - this.projectDescription.getPackageName(), + return new ServletInitializerContributor(this.projectDescription.getPackageName(), "org.springframework.boot.web.servlet.support.SpringBootServletInitializer", servletInitializerCustomizers); } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/TestApplicationTypeCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/TestApplicationTypeCustomizer.java index a8f8e48f..1cd49adb 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/TestApplicationTypeCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/TestApplicationTypeCustomizer.java @@ -29,8 +29,7 @@ import org.springframework.core.Ordered; * @author Stephane Nicoll */ @FunctionalInterface -public interface TestApplicationTypeCustomizer - extends Ordered { +public interface TestApplicationTypeCustomizer extends Ordered { void customize(T typeDeclaration); diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/TestSourceCodeProjectContributor.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/TestSourceCodeProjectContributor.java index aaeff8ad..0e0d3437 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/TestSourceCodeProjectContributor.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/TestSourceCodeProjectContributor.java @@ -53,8 +53,8 @@ public class TestSourceCodeProjectContributor> testSourceCodeCustomizers; - public TestSourceCodeProjectContributor(ResolvedProjectDescription projectDescription, - Supplier sourceFactory, SourceCodeWriter sourceWriter, + public TestSourceCodeProjectContributor(ResolvedProjectDescription projectDescription, Supplier sourceFactory, + SourceCodeWriter sourceWriter, ObjectProvider> testApplicationTypeCustomizers, ObjectProvider> testSourceCodeCustomizers) { this.projectDescription = projectDescription; @@ -68,32 +68,26 @@ public class TestSourceCodeProjectContributor> customizers = this.testApplicationTypeCustomizers - .orderedStream().collect(Collectors.toList()); - LambdaSafe - .callbacks(TestApplicationTypeCustomizer.class, customizers, - testApplicationType) + List> customizers = this.testApplicationTypeCustomizers.orderedStream() + .collect(Collectors.toList()); + LambdaSafe.callbacks(TestApplicationTypeCustomizer.class, customizers, testApplicationType) .invoke((customizer) -> customizer.customize(testApplicationType)); } @SuppressWarnings("unchecked") private void customizeTestSourceCode(S sourceCode) { - List> customizers = this.testSourceCodeCustomizers - .orderedStream().collect(Collectors.toList()); + List> customizers = this.testSourceCodeCustomizers.orderedStream() + .collect(Collectors.toList()); LambdaSafe.callbacks(TestSourceCodeCustomizer.class, customizers, sourceCode) .invoke((customizer) -> customizer.customize(sourceCode)); } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyDependenciesConfigurer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyDependenciesConfigurer.java index b6950e82..91730a1a 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyDependenciesConfigurer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyDependenciesConfigurer.java @@ -30,8 +30,7 @@ class GroovyDependenciesConfigurer implements BuildCustomizer { @Override public void customize(Build build) { - build.dependencies().add("groovy", "org.codehaus.groovy", "groovy", - DependencyScope.COMPILE); + build.dependencies().add("groovy", "org.codehaus.groovy", "groovy", DependencyScope.COMPILE); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyMavenBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyMavenBuildCustomizer.java index 8b87e9a8..940e190b 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyMavenBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyMavenBuildCustomizer.java @@ -29,13 +29,10 @@ class GroovyMavenBuildCustomizer implements BuildCustomizer { @Override public void customize(MavenBuild build) { - MavenPlugin groovyMavenPlugin = build.plugin("org.codehaus.gmavenplus", - "gmavenplus-plugin", "1.6.3"); + MavenPlugin groovyMavenPlugin = build.plugin("org.codehaus.gmavenplus", "gmavenplus-plugin", "1.6.3"); groovyMavenPlugin.execution(null, - (execution) -> execution.goal("addSources").goal("addTestSources") - .goal("generateStubs").goal("compile").goal("generateTestStubs") - .goal("compileTests").goal("removeStubs") - .goal("removeTestStubs")); + (execution) -> execution.goal("addSources").goal("addTestSources").goal("generateStubs").goal("compile") + .goal("generateTestStubs").goal("compileTests").goal("removeStubs").goal("removeTestStubs")); } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfiguration.java index a642f0f0..3ccafdee 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfiguration.java @@ -52,8 +52,7 @@ public class GroovyProjectGenerationConfiguration { private final IndentingWriterFactory indentingWriterFactory; - public GroovyProjectGenerationConfiguration( - ResolvedProjectDescription projectDescription, + public GroovyProjectGenerationConfiguration(ResolvedProjectDescription projectDescription, IndentingWriterFactory indentingWriterFactory) { this.projectDescription = projectDescription; this.indentingWriterFactory = indentingWriterFactory; @@ -64,21 +63,18 @@ public class GroovyProjectGenerationConfiguration { ObjectProvider> mainApplicationTypeCustomizers, ObjectProvider> mainCompilationUnitCustomizers, ObjectProvider> mainSourceCodeCustomizers) { - return new MainSourceCodeProjectContributor<>(this.projectDescription, - GroovySourceCode::new, - new GroovySourceCodeWriter(this.indentingWriterFactory), - mainApplicationTypeCustomizers, mainCompilationUnitCustomizers, - mainSourceCodeCustomizers); + return new MainSourceCodeProjectContributor<>(this.projectDescription, GroovySourceCode::new, + new GroovySourceCodeWriter(this.indentingWriterFactory), mainApplicationTypeCustomizers, + mainCompilationUnitCustomizers, mainSourceCodeCustomizers); } @Bean public TestSourceCodeProjectContributor testGroovySourceCodeProjectContributor( ObjectProvider> testApplicationTypeCustomizers, ObjectProvider> testSourceCodeCustomizers) { - return new TestSourceCodeProjectContributor<>(this.projectDescription, - GroovySourceCode::new, - new GroovySourceCodeWriter(this.indentingWriterFactory), - testApplicationTypeCustomizers, testSourceCodeCustomizers); + return new TestSourceCodeProjectContributor<>(this.projectDescription, GroovySourceCode::new, + new GroovySourceCodeWriter(this.indentingWriterFactory), testApplicationTypeCustomizers, + testSourceCodeCustomizers); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationDefaultContributorsConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationDefaultContributorsConfiguration.java index 2a2141ae..72f222e7 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationDefaultContributorsConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationDefaultContributorsConfiguration.java @@ -52,22 +52,20 @@ class GroovyProjectGenerationDefaultContributorsConfiguration { @Bean public MainApplicationTypeCustomizer mainMethodContributor() { - return (typeDeclaration) -> typeDeclaration - .addMethodDeclaration(GroovyMethodDeclaration.method("main") - .modifiers(Modifier.PUBLIC | Modifier.STATIC).returning("void") + return (typeDeclaration) -> typeDeclaration.addMethodDeclaration( + GroovyMethodDeclaration.method("main").modifiers(Modifier.PUBLIC | Modifier.STATIC).returning("void") .parameters(new Parameter("java.lang.String[]", "args")) - .body(new GroovyExpressionStatement(new GroovyMethodInvocation( - "org.springframework.boot.SpringApplication", "run", - typeDeclaration.getName(), "args")))); + .body(new GroovyExpressionStatement( + new GroovyMethodInvocation("org.springframework.boot.SpringApplication", "run", + typeDeclaration.getName(), "args")))); } @Bean @ConditionalOnPlatformVersion("[1.5.0.RELEASE,2.2.0.M3)") public TestApplicationTypeCustomizer junit4TestMethodContributor() { return (typeDeclaration) -> { - GroovyMethodDeclaration method = GroovyMethodDeclaration - .method("contextLoads").modifiers(Modifier.PUBLIC).returning("void") - .body(); + GroovyMethodDeclaration method = GroovyMethodDeclaration.method("contextLoads").modifiers(Modifier.PUBLIC) + .returning("void").body(); method.annotate(Annotation.name("org.junit.Test")); typeDeclaration.addMethodDeclaration(method); }; @@ -77,8 +75,7 @@ class GroovyProjectGenerationDefaultContributorsConfiguration { @ConditionalOnPlatformVersion("2.2.0.M3") public TestApplicationTypeCustomizer junitJupiterTestMethodContributor() { return (typeDeclaration) -> { - GroovyMethodDeclaration method = GroovyMethodDeclaration - .method("contextLoads").returning("void").body(); + GroovyMethodDeclaration method = GroovyMethodDeclaration.method("contextLoads").returning("void").body(); method.annotate(Annotation.name("org.junit.jupiter.api.Test")); typeDeclaration.addMethodDeclaration(method); }; @@ -100,16 +97,13 @@ class GroovyProjectGenerationDefaultContributorsConfiguration { public ServletInitializerCustomizer javaServletInitializerCustomizer( ResolvedProjectDescription projectDescription) { return (typeDeclaration) -> { - GroovyMethodDeclaration configure = GroovyMethodDeclaration - .method("configure").modifiers(Modifier.PROTECTED) - .returning( - "org.springframework.boot.builder.SpringApplicationBuilder") - .parameters(new Parameter( - "org.springframework.boot.builder.SpringApplicationBuilder", + GroovyMethodDeclaration configure = GroovyMethodDeclaration.method("configure") + .modifiers(Modifier.PROTECTED) + .returning("org.springframework.boot.builder.SpringApplicationBuilder") + .parameters(new Parameter("org.springframework.boot.builder.SpringApplicationBuilder", "application")) - .body(new GroovyReturnStatement( - new GroovyMethodInvocation("application", "sources", - projectDescription.getApplicationName()))); + .body(new GroovyReturnStatement(new GroovyMethodInvocation("application", "sources", + projectDescription.getApplicationName()))); configure.annotate(Annotation.name("java.lang.Override")); typeDeclaration.addMethodDeclaration(configure); }; diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfiguration.java index 44ea9864..315fb799 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfiguration.java @@ -52,8 +52,7 @@ public class JavaProjectGenerationConfiguration { private final IndentingWriterFactory indentingWriterFactory; - public JavaProjectGenerationConfiguration( - ResolvedProjectDescription projectDescription, + public JavaProjectGenerationConfiguration(ResolvedProjectDescription projectDescription, IndentingWriterFactory indentingWriterFactory) { this.projectDescription = projectDescription; this.indentingWriterFactory = indentingWriterFactory; @@ -64,21 +63,18 @@ public class JavaProjectGenerationConfiguration { ObjectProvider> mainApplicationTypeCustomizers, ObjectProvider> mainCompilationUnitCustomizers, ObjectProvider> mainSourceCodeCustomizers) { - return new MainSourceCodeProjectContributor<>(this.projectDescription, - JavaSourceCode::new, - new JavaSourceCodeWriter(this.indentingWriterFactory), - mainApplicationTypeCustomizers, mainCompilationUnitCustomizers, - mainSourceCodeCustomizers); + return new MainSourceCodeProjectContributor<>(this.projectDescription, JavaSourceCode::new, + new JavaSourceCodeWriter(this.indentingWriterFactory), mainApplicationTypeCustomizers, + mainCompilationUnitCustomizers, mainSourceCodeCustomizers); } @Bean public TestSourceCodeProjectContributor testJavaSourceCodeProjectContributor( ObjectProvider> testApplicationTypeCustomizers, ObjectProvider> testSourceCodeCustomizers) { - return new TestSourceCodeProjectContributor<>(this.projectDescription, - JavaSourceCode::new, - new JavaSourceCodeWriter(this.indentingWriterFactory), - testApplicationTypeCustomizers, testSourceCodeCustomizers); + return new TestSourceCodeProjectContributor<>(this.projectDescription, JavaSourceCode::new, + new JavaSourceCodeWriter(this.indentingWriterFactory), testApplicationTypeCustomizers, + testSourceCodeCustomizers); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationDefaultContributorsConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationDefaultContributorsConfiguration.java index 001510b0..006f29a8 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationDefaultContributorsConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationDefaultContributorsConfiguration.java @@ -49,12 +49,12 @@ class JavaProjectGenerationDefaultContributorsConfiguration { public MainApplicationTypeCustomizer mainMethodContributor() { return (typeDeclaration) -> { typeDeclaration.modifiers(Modifier.PUBLIC); - typeDeclaration.addMethodDeclaration(JavaMethodDeclaration.method("main") - .modifiers(Modifier.PUBLIC | Modifier.STATIC).returning("void") - .parameters(new Parameter("java.lang.String[]", "args")) - .body(new JavaExpressionStatement(new JavaMethodInvocation( - "org.springframework.boot.SpringApplication", "run", - typeDeclaration.getName() + ".class", "args")))); + typeDeclaration.addMethodDeclaration( + JavaMethodDeclaration.method("main").modifiers(Modifier.PUBLIC | Modifier.STATIC).returning("void") + .parameters(new Parameter("java.lang.String[]", "args")) + .body(new JavaExpressionStatement( + new JavaMethodInvocation("org.springframework.boot.SpringApplication", "run", + typeDeclaration.getName() + ".class", "args")))); }; } @@ -63,8 +63,8 @@ class JavaProjectGenerationDefaultContributorsConfiguration { public TestApplicationTypeCustomizer junit4TestMethodContributor() { return (typeDeclaration) -> { typeDeclaration.modifiers(Modifier.PUBLIC); - JavaMethodDeclaration method = JavaMethodDeclaration.method("contextLoads") - .modifiers(Modifier.PUBLIC).returning("void").body(); + JavaMethodDeclaration method = JavaMethodDeclaration.method("contextLoads").modifiers(Modifier.PUBLIC) + .returning("void").body(); method.annotate(Annotation.name("org.junit.Test")); typeDeclaration.addMethodDeclaration(method); }; @@ -74,8 +74,7 @@ class JavaProjectGenerationDefaultContributorsConfiguration { @ConditionalOnPlatformVersion("2.2.0.M3") public TestApplicationTypeCustomizer junitJupiterTestMethodContributor() { return (typeDeclaration) -> { - JavaMethodDeclaration method = JavaMethodDeclaration.method("contextLoads") - .returning("void").body(); + JavaMethodDeclaration method = JavaMethodDeclaration.method("contextLoads").returning("void").body(); method.annotate(Annotation.name("org.junit.jupiter.api.Test")); typeDeclaration.addMethodDeclaration(method); }; @@ -93,15 +92,12 @@ class JavaProjectGenerationDefaultContributorsConfiguration { ResolvedProjectDescription projectDescription) { return (typeDeclaration) -> { typeDeclaration.modifiers(Modifier.PUBLIC); - JavaMethodDeclaration configure = JavaMethodDeclaration - .method("configure").modifiers(Modifier.PROTECTED) - .returning( - "org.springframework.boot.builder.SpringApplicationBuilder") - .parameters(new Parameter( - "org.springframework.boot.builder.SpringApplicationBuilder", + JavaMethodDeclaration configure = JavaMethodDeclaration.method("configure") + .modifiers(Modifier.PROTECTED) + .returning("org.springframework.boot.builder.SpringApplicationBuilder") + .parameters(new Parameter("org.springframework.boot.builder.SpringApplicationBuilder", "application")) - .body(new JavaReturnStatement(new JavaMethodInvocation( - "application", "sources", + .body(new JavaReturnStatement(new JavaMethodInvocation("application", "sources", projectDescription.getApplicationName() + ".class"))); configure.annotate(Annotation.name("java.lang.Override")); typeDeclaration.addMethodDeclaration(configure); diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/GroovyDslKotlinGradleBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/GroovyDslKotlinGradleBuildCustomizer.java index ba3e0f55..6d0ff835 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/GroovyDslKotlinGradleBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/GroovyDslKotlinGradleBuildCustomizer.java @@ -33,11 +33,10 @@ class GroovyDslKotlinGradleBuildCustomizer extends KotlinGradleBuildCustomizer { } @Override - protected void customizeKotlinOptions(KotlinProjectSettings settings, - TaskCustomization compile) { + protected void customizeKotlinOptions(KotlinProjectSettings settings, TaskCustomization compile) { compile.nested("kotlinOptions", (kotlinOptions) -> { - String compilerArgs = settings.getCompilerArgs().stream() - .map((arg) -> "'" + arg + "'").collect(Collectors.joining(", ")); + String compilerArgs = settings.getCompilerArgs().stream().map((arg) -> "'" + arg + "'") + .collect(Collectors.joining(", ")); kotlinOptions.set("freeCompilerArgs", "[" + compilerArgs + "]"); kotlinOptions.set("jvmTarget", "'" + settings.getJvmTarget() + "'"); }); diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDependenciesConfigurer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDependenciesConfigurer.java index ba0c57d1..f2401c68 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDependenciesConfigurer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDependenciesConfigurer.java @@ -41,18 +41,15 @@ class KotlinDependenciesConfigurer implements BuildCustomizer { @Override public void customize(Build build) { VersionReference version = determineDependencyVersion(build); - build.dependencies() - .add("kotlin-stdlib", Dependency - .withCoordinates("org.jetbrains.kotlin", "kotlin-stdlib-jdk8") - .version(version).scope(DependencyScope.COMPILE)); - build.dependencies().add("kotlin-reflect", - Dependency.withCoordinates("org.jetbrains.kotlin", "kotlin-reflect") - .version(version).scope(DependencyScope.COMPILE)); + build.dependencies().add("kotlin-stdlib", + Dependency.withCoordinates("org.jetbrains.kotlin", "kotlin-stdlib-jdk8").version(version) + .scope(DependencyScope.COMPILE)); + build.dependencies().add("kotlin-reflect", Dependency.withCoordinates("org.jetbrains.kotlin", "kotlin-reflect") + .version(version).scope(DependencyScope.COMPILE)); } private VersionReference determineDependencyVersion(Build build) { - if (build instanceof MavenBuild - && this.springBootVersion.compareTo(Version.parse("2.0.0.M1")) <= 0) { + if (build instanceof MavenBuild && this.springBootVersion.compareTo(Version.parse("2.0.0.M1")) <= 0) { return VersionReference.ofProperty("kotlin.version"); } return null; diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDslKotlinGradleBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDslKotlinGradleBuildCustomizer.java index 4fd39348..f32f94a3 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDslKotlinGradleBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDslKotlinGradleBuildCustomizer.java @@ -33,11 +33,10 @@ class KotlinDslKotlinGradleBuildCustomizer extends KotlinGradleBuildCustomizer { } @Override - protected void customizeKotlinOptions(KotlinProjectSettings settings, - TaskCustomization compile) { + protected void customizeKotlinOptions(KotlinProjectSettings settings, TaskCustomization compile) { compile.nested("kotlinOptions", (kotlinOptions) -> { - String compilerArgs = settings.getCompilerArgs().stream() - .map((arg) -> "\"" + arg + "\"").collect(Collectors.joining(", ")); + String compilerArgs = settings.getCompilerArgs().stream().map((arg) -> "\"" + arg + "\"") + .collect(Collectors.joining(", ")); kotlinOptions.set("freeCompilerArgs", "listOf(" + compilerArgs + ")"); kotlinOptions.set("jvmTarget", "\"" + settings.getJvmTarget() + "\""); }); diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinGradleBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinGradleBuildCustomizer.java index 86f1234f..c64605e1 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinGradleBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinGradleBuildCustomizer.java @@ -44,7 +44,6 @@ abstract class KotlinGradleBuildCustomizer implements BuildCustomizer customizeKotlinOptions(this.settings, compile)); } - protected abstract void customizeKotlinOptions(KotlinProjectSettings settings, - TaskCustomization compile); + protected abstract void customizeKotlinOptions(KotlinProjectSettings settings, TaskCustomization compile); } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizer.java index d06ba039..be66044e 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizer.java @@ -34,8 +34,7 @@ public class KotlinJpaGradleBuildCustomizer implements BuildCustomizer configuration.configure("compilerPlugins", - (compilerPlugins) -> compilerPlugins.add("plugin", "jpa"))); - kotlinPlugin.dependency("org.jetbrains.kotlin", "kotlin-maven-noarg", - "${kotlin.version}"); + MavenPlugin kotlinPlugin = build.plugin("org.jetbrains.kotlin", "kotlin-maven-plugin"); + kotlinPlugin.configuration((configuration) -> configuration.configure("compilerPlugins", + (compilerPlugins) -> compilerPlugins.add("plugin", "jpa"))); + kotlinPlugin.dependency("org.jetbrains.kotlin", "kotlin-maven-noarg", "${kotlin.version}"); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenBuildCustomizer.java index f5733448..1fe27de7 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenBuildCustomizer.java @@ -42,16 +42,13 @@ class KotlinMavenBuildCustomizer implements BuildCustomizer { build.setProperty("kotlin.version", this.settings.getVersion()); build.setSourceDirectory("${project.basedir}/src/main/kotlin"); build.setTestSourceDirectory("${project.basedir}/src/test/kotlin"); - MavenPlugin kotlinMavenPlugin = build.plugin("org.jetbrains.kotlin", - "kotlin-maven-plugin"); + MavenPlugin kotlinMavenPlugin = build.plugin("org.jetbrains.kotlin", "kotlin-maven-plugin"); kotlinMavenPlugin.configuration((configuration) -> { - configuration.configure("args", (args) -> this.settings.getCompilerArgs() - .forEach((arg) -> args.add("arg", arg))); - configuration.configure("compilerPlugins", - (compilerPlugins) -> compilerPlugins.add("plugin", "spring")); + configuration.configure("args", + (args) -> this.settings.getCompilerArgs().forEach((arg) -> args.add("arg", arg))); + configuration.configure("compilerPlugins", (compilerPlugins) -> compilerPlugins.add("plugin", "spring")); }); - kotlinMavenPlugin.dependency("org.jetbrains.kotlin", "kotlin-maven-allopen", - "${kotlin.version}"); + kotlinMavenPlugin.dependency("org.jetbrains.kotlin", "kotlin-maven-allopen", "${kotlin.version}"); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenFullBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenFullBuildCustomizer.java index e6531daf..60f9a742 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenFullBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenFullBuildCustomizer.java @@ -39,21 +39,17 @@ class KotlinMavenFullBuildCustomizer implements BuildCustomizer { build.setProperty("kotlin.version", this.settings.getVersion()); build.setSourceDirectory("${project.basedir}/src/main/kotlin"); build.setTestSourceDirectory("${project.basedir}/src/test/kotlin"); - MavenPlugin kotlinMavenPlugin = build.plugin("org.jetbrains.kotlin", - "kotlin-maven-plugin", "${kotlin.version}"); + MavenPlugin kotlinMavenPlugin = build.plugin("org.jetbrains.kotlin", "kotlin-maven-plugin", + "${kotlin.version}"); kotlinMavenPlugin.configuration((configuration) -> { - configuration.configure("args", (args) -> this.settings.getCompilerArgs() - .forEach((arg) -> args.add("arg", arg))); - configuration.configure("compilerPlugins", - (compilerPlugins) -> compilerPlugins.add("plugin", "spring")); + configuration.configure("args", + (args) -> this.settings.getCompilerArgs().forEach((arg) -> args.add("arg", arg))); + configuration.configure("compilerPlugins", (compilerPlugins) -> compilerPlugins.add("plugin", "spring")); configuration.add("jvmTarget", this.settings.getJvmTarget()); }); - kotlinMavenPlugin.execution("compile", - (compile) -> compile.phase("compile").goal("compile")); - kotlinMavenPlugin.execution("test-compile", - (compile) -> compile.phase("test-compile").goal("test-compile")); - kotlinMavenPlugin.dependency("org.jetbrains.kotlin", "kotlin-maven-allopen", - "${kotlin.version}"); + kotlinMavenPlugin.execution("compile", (compile) -> compile.phase("compile").goal("compile")); + kotlinMavenPlugin.execution("test-compile", (compile) -> compile.phase("test-compile").goal("test-compile")); + kotlinMavenPlugin.dependency("org.jetbrains.kotlin", "kotlin-maven-allopen", "${kotlin.version}"); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfiguration.java index bf738d93..1307c3a4 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfiguration.java @@ -54,8 +54,7 @@ public class KotlinProjectGenerationConfiguration { private final IndentingWriterFactory indentingWriterFactory; - public KotlinProjectGenerationConfiguration( - ResolvedProjectDescription projectDescription, + public KotlinProjectGenerationConfiguration(ResolvedProjectDescription projectDescription, IndentingWriterFactory indentingWriterFactory) { this.projectDescription = projectDescription; this.indentingWriterFactory = indentingWriterFactory; @@ -66,21 +65,18 @@ public class KotlinProjectGenerationConfiguration { ObjectProvider> mainApplicationTypeCustomizers, ObjectProvider> mainCompilationUnitCustomizers, ObjectProvider> mainSourceCodeCustomizers) { - return new MainSourceCodeProjectContributor<>(this.projectDescription, - KotlinSourceCode::new, - new KotlinSourceCodeWriter(this.indentingWriterFactory), - mainApplicationTypeCustomizers, mainCompilationUnitCustomizers, - mainSourceCodeCustomizers); + return new MainSourceCodeProjectContributor<>(this.projectDescription, KotlinSourceCode::new, + new KotlinSourceCodeWriter(this.indentingWriterFactory), mainApplicationTypeCustomizers, + mainCompilationUnitCustomizers, mainSourceCodeCustomizers); } @Bean public TestSourceCodeProjectContributor testKotlinSourceCodeProjectContributor( ObjectProvider> testApplicationTypeCustomizers, ObjectProvider> testSourceCodeCustomizers) { - return new TestSourceCodeProjectContributor<>(this.projectDescription, - KotlinSourceCode::new, - new KotlinSourceCodeWriter(this.indentingWriterFactory), - testApplicationTypeCustomizers, testSourceCodeCustomizers); + return new TestSourceCodeProjectContributor<>(this.projectDescription, KotlinSourceCode::new, + new KotlinSourceCodeWriter(this.indentingWriterFactory), testApplicationTypeCustomizers, + testSourceCodeCustomizers); } @Bean diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationDefaultContributorsConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationDefaultContributorsConfiguration.java index ac08585d..2a8de159 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationDefaultContributorsConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationDefaultContributorsConfiguration.java @@ -56,8 +56,7 @@ class KotlinProjectGenerationDefaultContributorsConfiguration { @ConditionalOnPlatformVersion("[1.5.0.RELEASE,2.2.0.M3)") public TestApplicationTypeCustomizer junit4TestMethodContributor() { return (typeDeclaration) -> { - KotlinFunctionDeclaration function = KotlinFunctionDeclaration - .function("contextLoads").body(); + KotlinFunctionDeclaration function = KotlinFunctionDeclaration.function("contextLoads").body(); function.annotate(Annotation.name("org.junit.Test")); typeDeclaration.addFunctionDeclaration(function); }; @@ -67,16 +66,14 @@ class KotlinProjectGenerationDefaultContributorsConfiguration { @ConditionalOnPlatformVersion("2.2.0.M3") public TestApplicationTypeCustomizer junitJupiterTestMethodContributor() { return (typeDeclaration) -> { - KotlinFunctionDeclaration function = KotlinFunctionDeclaration - .function("contextLoads").body(); + KotlinFunctionDeclaration function = KotlinFunctionDeclaration.function("contextLoads").body(); function.annotate(Annotation.name("org.junit.jupiter.api.Test")); typeDeclaration.addFunctionDeclaration(function); }; } @Bean - public BuildCustomizer kotlinDependenciesConfigurer( - ResolvedProjectDescription projectDescription) { + public BuildCustomizer kotlinDependenciesConfigurer(ResolvedProjectDescription projectDescription) { return new KotlinDependenciesConfigurer(projectDescription.getPlatformVersion()); } @@ -89,23 +86,18 @@ class KotlinProjectGenerationDefaultContributorsConfiguration { @Bean @ConditionalOnBuildSystem(MavenBuildSystem.ID) - public KotlinMavenFullBuildCustomizer kotlinBuildCustomizer( - KotlinProjectSettings kotlinProjectSettings) { + public KotlinMavenFullBuildCustomizer kotlinBuildCustomizer(KotlinProjectSettings kotlinProjectSettings) { return new KotlinMavenFullBuildCustomizer(kotlinProjectSettings); } @Bean public MainCompilationUnitCustomizer boot15MainFunctionContributor( ResolvedProjectDescription projectDescription) { - return (compilationUnit) -> compilationUnit - .addTopLevelFunction(KotlinFunctionDeclaration.function("main") - .parameters(new Parameter("Array", "args")) + return (compilationUnit) -> compilationUnit.addTopLevelFunction( + KotlinFunctionDeclaration.function("main").parameters(new Parameter("Array", "args")) .body(new KotlinExpressionStatement( - new KotlinFunctionInvocation( - "org.springframework.boot.SpringApplication", - "run", projectDescription.getApplicationName() - + "::class.java", - "*args")))); + new KotlinFunctionInvocation("org.springframework.boot.SpringApplication", "run", + projectDescription.getApplicationName() + "::class.java", "*args")))); } } @@ -119,22 +111,18 @@ class KotlinProjectGenerationDefaultContributorsConfiguration { @Bean @ConditionalOnBuildSystem(MavenBuildSystem.ID) - public KotlinMavenBuildCustomizer kotlinBuildCustomizer( - KotlinProjectSettings kotlinProjectSettings) { + public KotlinMavenBuildCustomizer kotlinBuildCustomizer(KotlinProjectSettings kotlinProjectSettings) { return new KotlinMavenBuildCustomizer(kotlinProjectSettings); } @Bean public MainCompilationUnitCustomizer mainFunctionContributor( ResolvedProjectDescription projectDescription) { - return (compilationUnit) -> compilationUnit - .addTopLevelFunction(KotlinFunctionDeclaration.function("main") - .parameters(new Parameter("Array", "args")) + return (compilationUnit) -> compilationUnit.addTopLevelFunction( + KotlinFunctionDeclaration.function("main").parameters(new Parameter("Array", "args")) .body(new KotlinExpressionStatement( - new KotlinReifiedFunctionInvocation( - "org.springframework.boot.runApplication", - projectDescription.getApplicationName(), - "*args")))); + new KotlinReifiedFunctionInvocation("org.springframework.boot.runApplication", + projectDescription.getApplicationName(), "*args")))); } } @@ -150,17 +138,13 @@ class KotlinProjectGenerationDefaultContributorsConfiguration { public ServletInitializerCustomizer javaServletInitializerCustomizer( ResolvedProjectDescription projectDescription) { return (typeDeclaration) -> { - KotlinFunctionDeclaration configure = KotlinFunctionDeclaration - .function("configure").modifiers(KotlinModifier.OVERRIDE) - .returning( - "org.springframework.boot.builder.SpringApplicationBuilder") - .parameters(new Parameter( - "org.springframework.boot.builder.SpringApplicationBuilder", + KotlinFunctionDeclaration configure = KotlinFunctionDeclaration.function("configure") + .modifiers(KotlinModifier.OVERRIDE) + .returning("org.springframework.boot.builder.SpringApplicationBuilder") + .parameters(new Parameter("org.springframework.boot.builder.SpringApplicationBuilder", "application")) - .body(new KotlinReturnStatement( - new KotlinFunctionInvocation("application", "sources", - projectDescription.getApplicationName() - + "::class.java"))); + .body(new KotlinReturnStatement(new KotlinFunctionInvocation("application", "sources", + projectDescription.getApplicationName() + "::class.java"))); typeDeclaration.addFunctionDeclaration(configure); }; } @@ -173,13 +157,11 @@ class KotlinProjectGenerationDefaultContributorsConfiguration { * @author Andy Wilkinson */ @Configuration - @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, - dialect = GradleBuildSystem.DIALECT_GROOVY) + @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, dialect = GradleBuildSystem.DIALECT_GROOVY) static class KotlinGradleProjectConfiguration { @Bean - public KotlinGradleBuildCustomizer kotlinBuildCustomizer( - KotlinProjectSettings kotlinProjectSettings) { + public KotlinGradleBuildCustomizer kotlinBuildCustomizer(KotlinProjectSettings kotlinProjectSettings) { return new GroovyDslKotlinGradleBuildCustomizer(kotlinProjectSettings); } @@ -191,13 +173,11 @@ class KotlinProjectGenerationDefaultContributorsConfiguration { * @author Jean-Baptiste Nizet */ @Configuration - @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, - dialect = GradleBuildSystem.DIALECT_KOTLIN) + @ConditionalOnBuildSystem(id = GradleBuildSystem.ID, dialect = GradleBuildSystem.DIALECT_KOTLIN) static class KotlinGradleKtsProjectConfiguration { @Bean - public KotlinDslKotlinGradleBuildCustomizer kotlinBuildCustomizer( - KotlinProjectSettings kotlinProjectSettings) { + public KotlinDslKotlinGradleBuildCustomizer kotlinBuildCustomizer(KotlinProjectSettings kotlinProjectSettings) { return new KotlinDslKotlinGradleBuildCustomizer(kotlinProjectSettings); } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/MetadataKotlinProjectSettings.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/MetadataKotlinProjectSettings.java index 5bbfb98a..fd512a81 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/MetadataKotlinProjectSettings.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/MetadataKotlinProjectSettings.java @@ -28,8 +28,7 @@ public class MetadataKotlinProjectSettings implements KotlinProjectSettings { private final String version; - public MetadataKotlinProjectSettings(ResolvedProjectDescription projectDescription, - InitializrMetadata metadata) { + public MetadataKotlinProjectSettings(ResolvedProjectDescription projectDescription, InitializrMetadata metadata) { this.version = metadata.getConfiguration().getEnv().getKotlin() .resolveKotlinVersion(projectDescription.getPlatformVersion()); } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/ApplicationConfigurationProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/ApplicationConfigurationProjectGenerationConfiguration.java index 8b17eef9..5fa5e553 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/ApplicationConfigurationProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/ApplicationConfigurationProjectGenerationConfiguration.java @@ -36,8 +36,7 @@ public class ApplicationConfigurationProjectGenerationConfiguration { } @Bean - public WebFoldersContributor webFoldersContributor(Build build, - InitializrMetadata metadata) { + public WebFoldersContributor webFoldersContributor(Build build, InitializrMetadata metadata) { return new WebFoldersContributor(build, metadata); } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/GettingStartedSection.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/GettingStartedSection.java index c2388e38..79bddc11 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/GettingStartedSection.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/GettingStartedSection.java @@ -39,17 +39,14 @@ public final class GettingStartedSection extends PreDefinedSection { GettingStartedSection(MustacheTemplateRenderer templateRenderer) { super("Getting Started"); - this.referenceDocs = new BulletedSection<>(templateRenderer, - "documentation/reference-documentation"); + this.referenceDocs = new BulletedSection<>(templateRenderer, "documentation/reference-documentation"); this.guides = new BulletedSection<>(templateRenderer, "documentation/guides"); - this.additionalLinks = new BulletedSection<>(templateRenderer, - "documentation/additional-links"); + this.additionalLinks = new BulletedSection<>(templateRenderer, "documentation/additional-links"); } @Override public boolean isEmpty() { - return referenceDocs().isEmpty() && guides().isEmpty() - && additionalLinks().isEmpty() && super.isEmpty(); + return referenceDocs().isEmpty() && guides().isEmpty() && additionalLinks().isEmpty() && super.isEmpty(); } @Override diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocument.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocument.java index bcd33fc5..e0e01ddd 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocument.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocument.java @@ -70,8 +70,7 @@ public class HelpDocument { * @return this document */ public HelpDocument addSection(String templateName, Map model) { - return addSection( - new MustacheSection(this.templateRenderer, templateName, model)); + return addSection(new MustacheSection(this.templateRenderer, templateName, model)); } public List
getSections() { @@ -88,8 +87,7 @@ public class HelpDocument { } public boolean isEmpty() { - return gettingStarted().isEmpty() && this.sections.isEmpty() - && nextSteps().isEmpty(); + return gettingStarted().isEmpty() && this.sections.isEmpty() && nextSteps().isEmpty(); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfiguration.java index a60bcbd4..9ff1e0d5 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfiguration.java @@ -36,14 +36,12 @@ public class HelpDocumentProjectGenerationConfiguration { public HelpDocument helpDocument(MustacheTemplateRenderer templateRenderer, ObjectProvider helpDocumentCustomizers) { HelpDocument helpDocument = new HelpDocument(templateRenderer); - helpDocumentCustomizers.orderedStream() - .forEach((customizer) -> customizer.customize(helpDocument)); + helpDocumentCustomizers.orderedStream().forEach((customizer) -> customizer.customize(helpDocument)); return helpDocument; } @Bean - public HelpDocumentProjectContributor helpDocumentProjectContributor( - HelpDocument helpDocument) { + public HelpDocumentProjectContributor helpDocumentProjectContributor(HelpDocument helpDocument) { return new HelpDocumentProjectContributor(helpDocument); } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/RequestedDependenciesHelpDocumentCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/RequestedDependenciesHelpDocumentCustomizer.java index f426642b..5fdcbe24 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/RequestedDependenciesHelpDocumentCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/RequestedDependenciesHelpDocumentCustomizer.java @@ -27,15 +27,14 @@ import org.springframework.core.Ordered; * * @author Stephane Nicoll */ -public class RequestedDependenciesHelpDocumentCustomizer - implements HelpDocumentCustomizer { +public class RequestedDependenciesHelpDocumentCustomizer implements HelpDocumentCustomizer { private final ResolvedProjectDescription projectDescription; private final InitializrMetadata metadata; - public RequestedDependenciesHelpDocumentCustomizer( - ResolvedProjectDescription projectDescription, InitializrMetadata metadata) { + public RequestedDependenciesHelpDocumentCustomizer(ResolvedProjectDescription projectDescription, + InitializrMetadata metadata) { this.projectDescription = projectDescription; this.metadata = metadata; } @@ -60,16 +59,13 @@ public class RequestedDependenciesHelpDocumentCustomizer dependency.getLinks().forEach((link) -> { if (link.getDescription() != null && link.getRel() != null) { if ("reference".equals(link.getRel())) { - gettingStartedSection.addReferenceDocLink(link.getHref(), - link.getDescription()); + gettingStartedSection.addReferenceDocLink(link.getHref(), link.getDescription()); } else if ("guide".equals(link.getRel())) { - gettingStartedSection.addGuideLink(link.getHref(), - link.getDescription()); + gettingStartedSection.addGuideLink(link.getHref(), link.getDescription()); } else { - gettingStartedSection.addAdditionalLink(link.getHref(), - link.getDescription()); + gettingStartedSection.addAdditionalLink(link.getHref(), link.getDescription()); } } }); diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/scm/git/GitIgnore.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/scm/git/GitIgnore.java index e4b7c89d..8ad0cc53 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/scm/git/GitIgnore.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/scm/git/GitIgnore.java @@ -51,8 +51,8 @@ public class GitIgnore { public boolean isEmpty() { return this.general.getItems().isEmpty() && this.sts.getItems().isEmpty() - && this.intellijIdea.getItems().isEmpty() - && this.netBeans.getItems().isEmpty() && this.vscode.getItems().isEmpty(); + && this.intellijIdea.getItems().isEmpty() && this.netBeans.getItems().isEmpty() + && this.vscode.getItems().isEmpty(); } public GitIgnoreSection getGeneral() { diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/scm/git/GitProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/scm/git/GitProjectGenerationConfiguration.java index 4296fd65..97fff952 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/scm/git/GitProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/scm/git/GitProjectGenerationConfiguration.java @@ -41,8 +41,7 @@ public class GitProjectGenerationConfiguration { @Bean public GitIgnore gitIgnore(ObjectProvider gitIgnoreCustomizers) { GitIgnore gitIgnore = createGitIgnore(); - gitIgnoreCustomizers.orderedStream() - .forEach((customizer) -> customizer.customize(gitIgnore)); + gitIgnoreCustomizers.orderedStream().forEach((customizer) -> customizer.customize(gitIgnore)); return gitIgnore; } @@ -59,19 +58,17 @@ public class GitProjectGenerationConfiguration { @ConditionalOnBuildSystem(GradleBuildSystem.ID) public GitIgnoreCustomizer gradleGitIgnoreCustomizer() { return (gitIgnore) -> { - gitIgnore.getGeneral().add(".gradle", "/build/", - "!gradle/wrapper/gradle-wrapper.jar"); + gitIgnore.getGeneral().add(".gradle", "/build/", "!gradle/wrapper/gradle-wrapper.jar"); gitIgnore.getIntellijIdea().add("/out/"); }; } private GitIgnore createGitIgnore() { GitIgnore gitIgnore = new GitIgnore(); - gitIgnore.getSts().add(".apt_generated", ".classpath", ".factorypath", ".project", - ".settings", ".springBeans", ".sts4-cache"); + gitIgnore.getSts().add(".apt_generated", ".classpath", ".factorypath", ".project", ".settings", ".springBeans", + ".sts4-cache"); gitIgnore.getIntellijIdea().add(".idea", "*.iws", "*.iml", "*.ipr"); - gitIgnore.getNetBeans().add("/nbproject/private/", "/nbbuild/", "/dist/", - "/nbdist/", "/.nb-gradle/"); + gitIgnore.getNetBeans().add("/nbproject/private/", "/nbbuild/", "/dist/", "/nbdist/", "/.nb-gradle/"); gitIgnore.getVscode().add(".vscode/"); return gitIgnore; } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/util/LambdaSafe.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/util/LambdaSafe.java index b5e5ca4e..591030d8 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/util/LambdaSafe.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/util/LambdaSafe.java @@ -50,8 +50,7 @@ public final class LambdaSafe { static { CLASS_GET_MODULE = ReflectionUtils.findMethod(Class.class, "getModule"); MODULE_GET_NAME = (CLASS_GET_MODULE != null) - ? ReflectionUtils.findMethod(CLASS_GET_MODULE.getReturnType(), "getName") - : null; + ? ReflectionUtils.findMethod(CLASS_GET_MODULE.getReturnType(), "getName") : null; } private LambdaSafe() { @@ -69,12 +68,11 @@ public final class LambdaSafe { * @param the primary argument type * @return a {@link Callback} instance that can be invoked. */ - public static Callback callback(Class callbackType, - C callbackInstance, A argument, Object... additionalArguments) { + public static Callback callback(Class callbackType, C callbackInstance, A argument, + Object... additionalArguments) { Assert.notNull(callbackType, "CallbackType must not be null"); Assert.notNull(callbackInstance, "CallbackInstance must not be null"); - return new Callback<>(callbackType, callbackInstance, argument, - additionalArguments); + return new Callback<>(callbackType, callbackInstance, argument, additionalArguments); } /** @@ -89,13 +87,11 @@ public final class LambdaSafe { * @param the primary argument type * @return a {@link Callbacks} instance that can be invoked. */ - public static Callbacks callbacks(Class callbackType, - Collection callbackInstances, A argument, - Object... additionalArguments) { + public static Callbacks callbacks(Class callbackType, Collection callbackInstances, + A argument, Object... additionalArguments) { Assert.notNull(callbackType, "CallbackType must not be null"); Assert.notNull(callbackInstances, "CallbackInstances must not be null"); - return new Callbacks<>(callbackType, callbackInstances, argument, - additionalArguments); + return new Callbacks<>(callbackType, callbackInstances, argument, additionalArguments); } /** @@ -113,8 +109,7 @@ public final class LambdaSafe { private Filter filter = new GenericTypeFilter<>(); - protected LambdaSafeCallback(Class callbackType, A argument, - Object[] additionalArguments) { + protected LambdaSafeCallback(Class callbackType, A argument, Object[] additionalArguments) { this.callbackType = callbackType; this.argument = argument; this.additionalArguments = additionalArguments; @@ -154,10 +149,8 @@ public final class LambdaSafe { return self(); } - protected final InvocationResult invoke(C callbackInstance, - Supplier supplier) { - if (this.filter.match(this.callbackType, callbackInstance, this.argument, - this.additionalArguments)) { + protected final InvocationResult invoke(C callbackInstance, Supplier supplier) { + if (this.filter.match(this.callbackType, callbackInstance, this.argument, this.additionalArguments)) { try { return InvocationResult.of(supplier.get()); } @@ -172,15 +165,12 @@ public final class LambdaSafe { } private boolean isLambdaGenericProblem(ClassCastException ex) { - return (ex.getMessage() == null - || startsWithArgumentClassName(ex.getMessage())); + return (ex.getMessage() == null || startsWithArgumentClassName(ex.getMessage())); } private boolean startsWithArgumentClassName(String message) { - Predicate startsWith = (argument) -> startsWithArgumentClassName( - message, argument); - return startsWith.test(this.argument) - || Stream.of(this.additionalArguments).anyMatch(startsWith); + Predicate startsWith = (argument) -> startsWithArgumentClassName(message, argument); + return startsWith.test(this.argument) || Stream.of(this.additionalArguments).anyMatch(startsWith); } private boolean startsWithArgumentClassName(String message, Object argument) { @@ -200,13 +190,11 @@ public final class LambdaSafe { // On Java 9, the message used to contain the module name: // "java.base/java.lang.String cannot be cast..." int moduleSeparatorIndex = message.indexOf('/'); - if (moduleSeparatorIndex != -1 && message.startsWith(argumentType.getName(), - moduleSeparatorIndex + 1)) { + if (moduleSeparatorIndex != -1 && message.startsWith(argumentType.getName(), moduleSeparatorIndex + 1)) { return true; } if (CLASS_GET_MODULE != null) { - Object module = ReflectionUtils.invokeMethod(CLASS_GET_MODULE, - argumentType); + Object module = ReflectionUtils.invokeMethod(CLASS_GET_MODULE, argumentType); Object moduleName = ReflectionUtils.invokeMethod(MODULE_GET_NAME, module); return message.startsWith(moduleName + "/" + argumentType.getName()); } @@ -215,10 +203,9 @@ public final class LambdaSafe { private void logNonMatchingType(C callback, ClassCastException ex) { if (this.logger.isDebugEnabled()) { - Class expectedType = ResolvableType.forClass(this.callbackType) - .resolveGeneric(); - String expectedTypeName = (expectedType != null) - ? ClassUtils.getShortName(expectedType) + " type" : "type"; + Class expectedType = ResolvableType.forClass(this.callbackType).resolveGeneric(); + String expectedTypeName = (expectedType != null) ? ClassUtils.getShortName(expectedType) + " type" + : "type"; String message = "Non-matching " + expectedTypeName + " for callback " + ClassUtils.getShortName(this.callbackType) + ": " + callback; this.logger.debug(message, ex); @@ -238,13 +225,11 @@ public final class LambdaSafe { * @param the callback type * @param the primary argument type */ - public static final class Callback - extends LambdaSafeCallback> { + public static final class Callback extends LambdaSafeCallback> { private final C callbackInstance; - private Callback(Class callbackType, C callbackInstance, A argument, - Object[] additionalArguments) { + private Callback(Class callbackType, C callbackInstance, A argument, Object[] additionalArguments) { super(callbackType, argument, additionalArguments); this.callbackInstance = callbackInstance; } @@ -268,8 +253,7 @@ public final class LambdaSafe { * if the callback was not invoked) */ public InvocationResult invokeAnd(Function invoker) { - return invoke(this.callbackInstance, - () -> invoker.apply(this.callbackInstance)); + return invoke(this.callbackInstance, () -> invoker.apply(this.callbackInstance)); } } @@ -280,13 +264,11 @@ public final class LambdaSafe { * @param the callback type * @param the primary argument type */ - public static final class Callbacks - extends LambdaSafeCallback> { + public static final class Callbacks extends LambdaSafeCallback> { private final Collection callbackInstances; - private Callbacks(Class callbackType, - Collection callbackInstances, A argument, + private Callbacks(Class callbackType, Collection callbackInstances, A argument, Object[] additionalArguments) { super(callbackType, argument, additionalArguments); this.callbackInstances = callbackInstances; @@ -297,11 +279,10 @@ public final class LambdaSafe { * @param invoker the invoker used to invoke the callback */ public void invoke(Consumer invoker) { - this.callbackInstances - .forEach((callbackInstance) -> invoke(callbackInstance, () -> { - invoker.accept(callbackInstance); - return null; - })); + this.callbackInstances.forEach((callbackInstance) -> invoke(callbackInstance, () -> { + invoker.accept(callbackInstance); + return null; + })); } /** @@ -312,10 +293,10 @@ public final class LambdaSafe { * could be called) */ public Stream invokeAnd(Function invoker) { - Function> mapper = (callbackInstance) -> invoke( - callbackInstance, () -> invoker.apply(callbackInstance)); - return this.callbackInstances.stream().map(mapper) - .filter(InvocationResult::hasResult).map(InvocationResult::get); + Function> mapper = (callbackInstance) -> invoke(callbackInstance, + () -> invoker.apply(callbackInstance)); + return this.callbackInstances.stream().map(mapper).filter(InvocationResult::hasResult) + .map(InvocationResult::get); } } @@ -337,8 +318,7 @@ public final class LambdaSafe { * @param additionalArguments any additional arguments * @return if the callback matches and should be invoked */ - boolean match(Class callbackType, C callbackInstance, A argument, - Object[] additionalArguments); + boolean match(Class callbackType, C callbackInstance, A argument, Object[] additionalArguments); /** * Return a {@link Filter} that allows all callbacks to be invoked. @@ -347,8 +327,7 @@ public final class LambdaSafe { * @return an "allow all" filter */ static Filter allowAll() { - return (callbackType, callbackInstance, argument, - additionalArguments) -> true; + return (callbackType, callbackInstance, argument, additionalArguments) -> true; } } @@ -360,10 +339,8 @@ public final class LambdaSafe { private static class GenericTypeFilter implements Filter { @Override - public boolean match(Class callbackType, C callbackInstance, A argument, - Object[] additionalArguments) { - ResolvableType type = ResolvableType.forClass(callbackType, - callbackInstance.getClass()); + public boolean match(Class callbackType, C callbackInstance, A argument, Object[] additionalArguments) { + ResolvableType type = ResolvableType.forClass(callbackType, callbackInstance.getClass()); if (type.getGenerics().length == 1 && type.resolveGeneric() != null) { return type.resolveGeneric().isInstance(argument); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/AbstractComplianceTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/AbstractComplianceTests.java index bc156e44..39520431 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/AbstractComplianceTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/AbstractComplianceTests.java @@ -47,76 +47,65 @@ public abstract class AbstractComplianceTests { private Path tempDir; - protected static final Dependency WEB = Dependency.withId("web", - "org.springframework.boot", "spring-boot-starter-web"); + protected static final Dependency WEB = Dependency.withId("web", "org.springframework.boot", + "spring-boot-starter-web"); @BeforeEach void setup(@TempDir Path dir) { this.tempDir = dir; } - protected ProjectAssert generateProject(Language language, BuildSystem buildSystem, - String version) { + protected ProjectAssert generateProject(Language language, BuildSystem buildSystem, String version) { return generateProject(language, buildSystem, version, (description) -> { }); } - protected ProjectAssert generateProject(Language language, BuildSystem buildSystem, - String version, Consumer descriptionCustomizer) { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("web", WEB).build(); - return generateProject(language, buildSystem, version, descriptionCustomizer, - metadata); + protected ProjectAssert generateProject(Language language, BuildSystem buildSystem, String version, + Consumer descriptionCustomizer) { + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("web", WEB) + .build(); + return generateProject(language, buildSystem, version, descriptionCustomizer, metadata); } - protected ProjectAssert generateProject(Language language, BuildSystem buildSystem, - String version, Consumer descriptionCustomizer, - Consumer contextCustomizer) { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("web", WEB).build(); - return generateProject(language, buildSystem, version, descriptionCustomizer, - metadata, contextCustomizer); + protected ProjectAssert generateProject(Language language, BuildSystem buildSystem, String version, + Consumer descriptionCustomizer, Consumer contextCustomizer) { + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("web", WEB) + .build(); + return generateProject(language, buildSystem, version, descriptionCustomizer, metadata, contextCustomizer); } - protected ProjectAssert generateProject(Language language, BuildSystem buildSystem, - String version, Consumer descriptionCustomizer, - InitializrMetadata metadata) { - return generateProject(language, buildSystem, version, descriptionCustomizer, - metadata, (projectGenerationContext) -> { + protected ProjectAssert generateProject(Language language, BuildSystem buildSystem, String version, + Consumer descriptionCustomizer, InitializrMetadata metadata) { + return generateProject(language, buildSystem, version, descriptionCustomizer, metadata, + (projectGenerationContext) -> { }); } - private ProjectAssert generateProject(Language language, BuildSystem buildSystem, - String version, Consumer descriptionCustomizer, - InitializrMetadata metadata, + private ProjectAssert generateProject(Language language, BuildSystem buildSystem, String version, + Consumer descriptionCustomizer, InitializrMetadata metadata, Consumer contextCustomizer) { - ProjectGeneratorTester projectTester = new ProjectGeneratorTester() - .withDirectory(this.tempDir) - .withDescriptionCustomizer((description) -> setupProjectDescription( - language, version, buildSystem, description)) + ProjectGeneratorTester projectTester = new ProjectGeneratorTester().withDirectory(this.tempDir) + .withDescriptionCustomizer( + (description) -> setupProjectDescription(language, version, buildSystem, description)) .withDescriptionCustomizer(descriptionCustomizer) - .withContextInitializer( - (context) -> setupProjectGenerationContext(metadata, context)) + .withContextInitializer((context) -> setupProjectGenerationContext(metadata, context)) .withContextInitializer(contextCustomizer); - ProjectStructure projectStructure = projectTester - .generate(new ProjectDescription()); + ProjectStructure projectStructure = projectTester.generate(new ProjectDescription()); Path resolve = projectStructure.resolve(""); return new ProjectAssert(resolve); } - private void setupProjectGenerationContext(InitializrMetadata metadata, - ProjectGenerationContext context) { + private void setupProjectGenerationContext(InitializrMetadata metadata, ProjectGenerationContext context) { context.registerBean(InitializrMetadata.class, () -> metadata); - context.registerBean(BuildItemResolver.class, () -> new MetadataBuildItemResolver( - metadata, + context.registerBean(BuildItemResolver.class, () -> new MetadataBuildItemResolver(metadata, context.getBean(ResolvedProjectDescription.class).getPlatformVersion())); context.registerBean(IndentingWriterFactory.class, () -> IndentingWriterFactory.create(new SimpleIndentStrategy("\t"))); } - private void setupProjectDescription(Language language, String version, - BuildSystem buildSystem, ProjectDescription description) { + private void setupProjectDescription(Language language, String version, BuildSystem buildSystem, + ProjectDescription description) { description.setLanguage(language); description.setBuildSystem(buildSystem); description.setPlatformVersion(Version.parse(version)); diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/ProjectGeneratorIntegrationTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/ProjectGeneratorIntegrationTests.java index 7747782d..444ad070 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/ProjectGeneratorIntegrationTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/ProjectGeneratorIntegrationTests.java @@ -46,9 +46,8 @@ class ProjectGeneratorIntegrationTests { @BeforeEach void setup(@TempDir Path directory) { - this.projectTester = new ProjectGeneratorTester().withDirectory(directory) - .withBean(InitializrMetadata.class, - () -> InitializrMetadataTestBuilder.withDefaults().build()); + this.projectTester = new ProjectGeneratorTester().withDirectory(directory).withBean(InitializrMetadata.class, + () -> InitializrMetadataTestBuilder.withDefaults().build()); } @Test @@ -59,13 +58,11 @@ class ProjectGeneratorIntegrationTests { description.setLanguage(new JavaLanguage()); description.setGroupId("com.example"); description.setBaseDirectory("test/demo-app"); - List relativePaths = this.projectTester.generate(description) - .getRelativePathsOfProjectFiles(); - assertThat(relativePaths).containsOnly("test/demo-app/.gitignore", - "test/demo-app/pom.xml", "test/demo-app/mvnw", "test/demo-app/mvnw.cmd", + List relativePaths = this.projectTester.generate(description).getRelativePathsOfProjectFiles(); + assertThat(relativePaths).containsOnly("test/demo-app/.gitignore", "test/demo-app/pom.xml", + "test/demo-app/mvnw", "test/demo-app/mvnw.cmd", "test/demo-app/.mvn/wrapper/MavenWrapperDownloader.java", - "test/demo-app/.mvn/wrapper/maven-wrapper.properties", - "test/demo-app/.mvn/wrapper/maven-wrapper.jar", + "test/demo-app/.mvn/wrapper/maven-wrapper.properties", "test/demo-app/.mvn/wrapper/maven-wrapper.jar", "test/demo-app/src/main/java/com/example/demo/DemoApplication.java", "test/demo-app/src/main/resources/application.properties", "test/demo-app/src/test/java/com/example/demo/DemoApplicationTests.java"); diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildComplianceTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildComplianceTests.java index a597a708..57a6eb31 100755 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildComplianceTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildComplianceTests.java @@ -56,19 +56,15 @@ class BuildComplianceTests extends AbstractComplianceTests { private static final Language kotlin = new KotlinLanguage(); static Stream previousGenerationParameters() { - return Stream.of( - Arguments.arguments(BuildSystem.forId(MavenBuildSystem.ID), "pom.xml"), - Arguments.arguments(BuildSystem.forId(GradleBuildSystem.ID), - "build.gradle")); + return Stream.of(Arguments.arguments(BuildSystem.forId(MavenBuildSystem.ID), "pom.xml"), + Arguments.arguments(BuildSystem.forId(GradleBuildSystem.ID), "build.gradle")); } static Stream parameters() { - return Stream - .concat(previousGenerationParameters(), - Stream.of(Arguments.arguments( - BuildSystem.forIdAndDialect(GradleBuildSystem.ID, - GradleBuildSystem.DIALECT_KOTLIN), - "build.gradle.kts"))); + return Stream.concat(previousGenerationParameters(), + Stream.of(Arguments.arguments( + BuildSystem.forIdAndDialect(GradleBuildSystem.ID, GradleBuildSystem.DIALECT_KOTLIN), + "build.gradle.kts"))); } @ParameterizedTest @@ -89,11 +85,10 @@ class BuildComplianceTests extends AbstractComplianceTests { testCurrentGenerationJar(kotlin, build, fileName); } - private void testCurrentGenerationJar(Language language, BuildSystem build, - String fileName) { + private void testCurrentGenerationJar(Language language, BuildSystem build, String fileName) { ProjectAssert project = generateProject(language, build, "2.1.1.RELEASE"); - project.sourceCodeAssert(fileName).equalsTo(new ClassPathResource( - "project/" + language + "/standard/" + getAssertFileName(fileName))); + project.sourceCodeAssert(fileName) + .equalsTo(new ClassPathResource("project/" + language + "/standard/" + getAssertFileName(fileName))); } @ParameterizedTest @@ -114,16 +109,13 @@ class BuildComplianceTests extends AbstractComplianceTests { testCurrentGenerationWar(kotlin, build, fileName); } - private void testCurrentGenerationWar(Language language, BuildSystem build, - String fileName) { - ProjectAssert project = generateProject(language, build, "2.1.1.RELEASE", - (description) -> { - description.addDependency("web", - MetadataBuildItemMapper.toDependency(WEB)); - description.setPackaging(Packaging.forId("war")); - }); - project.sourceCodeAssert(fileName).equalsTo(new ClassPathResource( - "project/" + language + "/standard/war-" + getAssertFileName(fileName))); + private void testCurrentGenerationWar(Language language, BuildSystem build, String fileName) { + ProjectAssert project = generateProject(language, build, "2.1.1.RELEASE", (description) -> { + description.addDependency("web", MetadataBuildItemMapper.toDependency(WEB)); + description.setPackaging(Packaging.forId("war")); + }); + project.sourceCodeAssert(fileName).equalsTo( + new ClassPathResource("project/" + language + "/standard/war-" + getAssertFileName(fileName))); } @ParameterizedTest @@ -144,40 +136,34 @@ class BuildComplianceTests extends AbstractComplianceTests { testPreviousGenerationJar(kotlin, build, fileName); } - private void testPreviousGenerationJar(Language language, BuildSystem build, - String fileName) { + private void testPreviousGenerationJar(Language language, BuildSystem build, String fileName) { ProjectAssert project = generateProject(language, build, "1.5.18.RELEASE"); - project.sourceCodeAssert(fileName).equalsTo(new ClassPathResource( - "project/" + language + "/previous/" + getAssertFileName(fileName))); + project.sourceCodeAssert(fileName) + .equalsTo(new ClassPathResource("project/" + language + "/previous/" + getAssertFileName(fileName))); } @ParameterizedTest @MethodSource("parameters") void kotlinJava11(BuildSystem build, String fileName) { ProjectAssert project = generateProject(kotlin, build, "2.1.1.RELEASE", - (description) -> description - .setLanguage(Language.forId(kotlin.id(), "11"))); - project.sourceCodeAssert(fileName).equalsTo(new ClassPathResource( - "project/" + build + "/kotlin-java11-" + getAssertFileName(fileName))); + (description) -> description.setLanguage(Language.forId(kotlin.id(), "11"))); + project.sourceCodeAssert(fileName) + .equalsTo(new ClassPathResource("project/" + build + "/kotlin-java11-" + getAssertFileName(fileName))); } @ParameterizedTest @MethodSource("parameters") void versionOverride(BuildSystem build, String fileName) { ProjectAssert project = generateProject(java, build, "2.1.1.RELEASE", - (description) -> description.addDependency("web", - MetadataBuildItemMapper.toDependency(WEB)), - (projectGenerationContext) -> projectGenerationContext - .registerBean(BuildCustomizer.class, () -> (projectBuild) -> { - projectBuild.addVersionProperty( - VersionProperty.of("spring-foo.version", false), + (description) -> description.addDependency("web", MetadataBuildItemMapper.toDependency(WEB)), + (projectGenerationContext) -> projectGenerationContext.registerBean(BuildCustomizer.class, + () -> (projectBuild) -> { + projectBuild.addVersionProperty(VersionProperty.of("spring-foo.version", false), "0.1.0.RELEASE"); - projectBuild.addVersionProperty( - VersionProperty.of("spring-bar.version"), - "0.2.0.RELEASE"); + projectBuild.addVersionProperty(VersionProperty.of("spring-bar.version"), "0.2.0.RELEASE"); })); - project.sourceCodeAssert(fileName).equalsTo(new ClassPathResource( - "project/" + build + "/version-override-" + getAssertFileName(fileName))); + project.sourceCodeAssert(fileName).equalsTo( + new ClassPathResource("project/" + build + "/version-override-" + getAssertFileName(fileName))); } @ParameterizedTest @@ -187,64 +173,49 @@ class BuildComplianceTests extends AbstractComplianceTests { foo.setBom("the-bom"); BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom", "1.3.3"); bom.setVersionProperty("foo.version"); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("foo", foo).addBom("the-bom", bom).build(); - ProjectAssert project = generateProject( - java, build, "2.1.1.RELEASE", (description) -> description - .addDependency("foo", MetadataBuildItemMapper.toDependency(foo)), - metadata); - project.sourceCodeAssert(fileName).equalsTo(new ClassPathResource( - "project/" + build + "/bom-property-" + getAssertFileName(fileName))); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("foo", foo) + .addBom("the-bom", bom).build(); + ProjectAssert project = generateProject(java, build, "2.1.1.RELEASE", + (description) -> description.addDependency("foo", MetadataBuildItemMapper.toDependency(foo)), metadata); + project.sourceCodeAssert(fileName) + .equalsTo(new ClassPathResource("project/" + build + "/bom-property-" + getAssertFileName(fileName))); } @ParameterizedTest @MethodSource("parameters") void compileOnlyDependency(BuildSystem build, String fileName) { Dependency foo = Dependency.withId("foo", "org.acme", "foo"); - Dependency dataJpa = Dependency.withId("data-jpa", "org.springframework.boot", - "spring-boot-starter-data-jpa"); + Dependency dataJpa = Dependency.withId("data-jpa", "org.springframework.boot", "spring-boot-starter-data-jpa"); foo.setScope(Dependency.SCOPE_COMPILE_ONLY); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("core", "web", "data-jpa") - .addDependencyGroup("foo", foo).build(); - ProjectAssert project = generateProject(java, build, "2.1.1.RELEASE", - (description) -> { - description.addDependency("foo", - MetadataBuildItemMapper.toDependency(foo)); - description.addDependency("web", - MetadataBuildItemMapper.toDependency(WEB)); - description.addDependency("data-jpa", - MetadataBuildItemMapper.toDependency(dataJpa)); - }, metadata); - project.sourceCodeAssert(fileName).equalsTo(new ClassPathResource("project/" - + build + "/compile-only-dependency-" + getAssertFileName(fileName))); + .addDependencyGroup("core", "web", "data-jpa").addDependencyGroup("foo", foo).build(); + ProjectAssert project = generateProject(java, build, "2.1.1.RELEASE", (description) -> { + description.addDependency("foo", MetadataBuildItemMapper.toDependency(foo)); + description.addDependency("web", MetadataBuildItemMapper.toDependency(WEB)); + description.addDependency("data-jpa", MetadataBuildItemMapper.toDependency(dataJpa)); + }, metadata); + project.sourceCodeAssert(fileName).equalsTo( + new ClassPathResource("project/" + build + "/compile-only-dependency-" + getAssertFileName(fileName))); } @ParameterizedTest @MethodSource("parameters") void annotationProcessorDependency(BuildSystem build, String fileName) { - Dependency annotationProcessor = Dependency.withId("configuration-processor", - "org.springframework.boot", "spring-boot-configuration-processor"); - Dependency dataJpa = Dependency.withId("data-jpa", "org.springframework.boot", - "spring-boot-starter-data-jpa"); + Dependency annotationProcessor = Dependency.withId("configuration-processor", "org.springframework.boot", + "spring-boot-configuration-processor"); + Dependency dataJpa = Dependency.withId("data-jpa", "org.springframework.boot", "spring-boot-starter-data-jpa"); annotationProcessor.setScope(Dependency.SCOPE_ANNOTATION_PROCESSOR); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("core", "web", "data-jpa") - .addDependencyGroup("configuration-processor", annotationProcessor) - .build(); - ProjectAssert project = generateProject(java, build, "2.1.1.RELEASE", - (description) -> { - description.addDependency("configuration-processor", - MetadataBuildItemMapper.toDependency(annotationProcessor)); - description.addDependency("web", - MetadataBuildItemMapper.toDependency(WEB)); - description.addDependency("data-jpa", - MetadataBuildItemMapper.toDependency(dataJpa)); - }, metadata); - project.sourceCodeAssert(fileName) - .equalsTo(new ClassPathResource( - "project/" + build + "/annotation-processor-dependency-" - + getAssertFileName(fileName))); + .addDependencyGroup("configuration-processor", annotationProcessor).build(); + ProjectAssert project = generateProject(java, build, "2.1.1.RELEASE", (description) -> { + description.addDependency("configuration-processor", + MetadataBuildItemMapper.toDependency(annotationProcessor)); + description.addDependency("web", MetadataBuildItemMapper.toDependency(WEB)); + description.addDependency("data-jpa", MetadataBuildItemMapper.toDependency(dataJpa)); + }, metadata); + project.sourceCodeAssert(fileName).equalsTo(new ClassPathResource( + "project/" + build + "/annotation-processor-dependency-" + getAssertFileName(fileName))); } @ParameterizedTest @@ -261,15 +232,12 @@ class BuildComplianceTests extends AbstractComplianceTests { BillOfMaterials fooBom = BillOfMaterials.create("org.acme", "foo-bom", "1.0"); fooBom.setOrder(20); fooBom.getAdditionalBoms().add("biz-bom"); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("foo", foo).addBom("foo-bom", fooBom) - .addBom("bar-bom", barBom).addBom("biz-bom", bizBom).build(); - ProjectAssert project = generateProject( - java, build, "2.1.1.RELEASE", (description) -> description - .addDependency("foo", MetadataBuildItemMapper.toDependency(foo)), - metadata); - project.sourceCodeAssert(fileName).equalsTo(new ClassPathResource( - "project/" + build + "/bom-ordering-" + getAssertFileName(fileName))); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("foo", foo) + .addBom("foo-bom", fooBom).addBom("bar-bom", barBom).addBom("biz-bom", bizBom).build(); + ProjectAssert project = generateProject(java, build, "2.1.1.RELEASE", + (description) -> description.addDependency("foo", MetadataBuildItemMapper.toDependency(foo)), metadata); + project.sourceCodeAssert(fileName) + .equalsTo(new ClassPathResource("project/" + build + "/bom-ordering-" + getAssertFileName(fileName))); } @ParameterizedTest @@ -279,38 +247,29 @@ class BuildComplianceTests extends AbstractComplianceTests { foo.setRepository("foo-repository"); Dependency bar = Dependency.withId("bar", "org.acme", "bar"); bar.setRepository("bar-repository"); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("test", foo, bar) - .addRepository("foo-repository", "foo-repo", "https://example.com/foo", - false) - .addRepository("bar-repository", "bar-repo", "https://example.com/bar", - true) - .build(); - ProjectAssert project = generateProject(java, build, "2.1.1.RELEASE", - (description) -> { - description.addDependency("foo", - MetadataBuildItemMapper.toDependency(foo)); - description.addDependency("bar", - MetadataBuildItemMapper.toDependency(bar)); - }, metadata); - project.sourceCodeAssert(fileName).equalsTo(new ClassPathResource( - "project/" + build + "/repositories-" + getAssertFileName(fileName))); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("test", foo, bar) + .addRepository("foo-repository", "foo-repo", "https://example.com/foo", false) + .addRepository("bar-repository", "bar-repo", "https://example.com/bar", true).build(); + ProjectAssert project = generateProject(java, build, "2.1.1.RELEASE", (description) -> { + description.addDependency("foo", MetadataBuildItemMapper.toDependency(foo)); + description.addDependency("bar", MetadataBuildItemMapper.toDependency(bar)); + }, metadata); + project.sourceCodeAssert(fileName) + .equalsTo(new ClassPathResource("project/" + build + "/repositories-" + getAssertFileName(fileName))); } @ParameterizedTest @MethodSource("parameters") void repositoriesMilestone(BuildSystem build, String fileName) { Dependency foo = Dependency.withId("foo", "org.acme", "foo"); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("test", foo).build(); - ProjectAssert project = generateProject(java, build, "2.1.1.RELEASE", - (description) -> { - description.setPlatformVersion(Version.parse("2.2.0.M1")); - description.addDependency("foo", - MetadataBuildItemMapper.toDependency(foo)); - }, metadata); - project.sourceCodeAssert(fileName).equalsTo(new ClassPathResource("project/" - + build + "/repositories-milestone-" + getAssertFileName(fileName))); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("test", foo) + .build(); + ProjectAssert project = generateProject(java, build, "2.1.1.RELEASE", (description) -> { + description.setPlatformVersion(Version.parse("2.2.0.M1")); + description.addDependency("foo", MetadataBuildItemMapper.toDependency(foo)); + }, metadata); + project.sourceCodeAssert(fileName).equalsTo( + new ClassPathResource("project/" + build + "/repositories-milestone-" + getAssertFileName(fileName))); } private String getAssertFileName(String fileName) { diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildMetadataResolverTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildMetadataResolverTests.java index 11e5406e..d63ab33c 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildMetadataResolverTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildMetadataResolverTests.java @@ -47,8 +47,7 @@ class BuildMetadataResolverTests { build.dependencies().add("one"); BuildMetadataResolver resolver = new BuildMetadataResolver(metadata); assertThat(resolver.dependencies(build)).hasSize(2); - assertThat(resolver.dependencies(build).map(MetadataElement::getId)) - .containsExactly("three", "one"); + assertThat(resolver.dependencies(build).map(MetadataElement::getId)).containsExactly("three", "one"); } @Test @@ -74,14 +73,12 @@ class BuildMetadataResolverTests { web.getFacets().addAll(Arrays.asList("test", "web", "another")); Dependency custom = Dependency.withId("my-custom"); custom.getFacets().add("custom"); - return InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("core", "one", "two", "three") + return InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("core", "one", "two", "three") .addDependencyGroup("test", web, custom).build(); } private Build createBuild(InitializrMetadata metadata) { - return new MavenBuild( - new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); + return new MavenBuild(new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); } } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizerTests.java index 132c7377..2c38440a 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizerTests.java @@ -43,21 +43,19 @@ class DefaultStarterBuildCustomizerTests { Build build = createBuild(metadata); build.dependencies().add("acme"); new DefaultStarterBuildCustomizer(metadata).customize(build); - assertThat(build.dependencies().ids()).containsOnly("acme", - DefaultStarterBuildCustomizer.DEFAULT_STARTER); + assertThat(build.dependencies().ids()).containsOnly("acme", DefaultStarterBuildCustomizer.DEFAULT_STARTER); } @Test void defaultStarterIsAddedIfNoCompileScopedStarterExists() { - Dependency dependency = Dependency.withId("runtime", "org.springframework.boot", - "runtime-starter", null, Dependency.SCOPE_RUNTIME); + Dependency dependency = Dependency.withId("runtime", "org.springframework.boot", "runtime-starter", null, + Dependency.SCOPE_RUNTIME); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", dependency).build(); Build build = createBuild(metadata); build.dependencies().add("runtime"); new DefaultStarterBuildCustomizer(metadata).customize(build); - assertThat(build.dependencies().ids()).containsOnly("runtime", - DefaultStarterBuildCustomizer.DEFAULT_STARTER); + assertThat(build.dependencies().ids()).containsOnly("runtime", DefaultStarterBuildCustomizer.DEFAULT_STARTER); } @Test @@ -71,8 +69,7 @@ class DefaultStarterBuildCustomizerTests { } private Build createBuild(InitializrMetadata metadata) { - return new MavenBuild( - new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); + return new MavenBuild(new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); } } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DependencyManagementBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DependencyManagementBuildCustomizerTests.java index e08c21a6..cb8477b7 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DependencyManagementBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DependencyManagementBuildCustomizerTests.java @@ -42,11 +42,9 @@ class DependencyManagementBuildCustomizerTests { dependency.setBom("foo-bom"); BillOfMaterials bom = BillOfMaterials.create("com.example", "foo-bom", "1.0.0"); bom.getAdditionalBoms().add("bar-bom"); - BillOfMaterials additionalBom = BillOfMaterials.create("com.example", "bar-bom", - "1.1.0"); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addBom("foo-bom", bom).addBom("bar-bom", additionalBom) - .addDependencyGroup("test", dependency).build(); + BillOfMaterials additionalBom = BillOfMaterials.create("com.example", "bar-bom", "1.1.0"); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addBom("foo-bom", bom) + .addBom("bar-bom", additionalBom).addDependencyGroup("test", dependency).build(); Build build = createBuild(metadata); build.dependencies().add(dependency.getId()); customizeBuild(build, metadata); @@ -60,8 +58,7 @@ class DependencyManagementBuildCustomizerTests { dependency.setRepository("foo-repo"); BillOfMaterials bom = BillOfMaterials.create("com.example", "foo-bom", "1.0.0"); bom.getRepositories().add("bar-repo"); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addBom("foo-bom", bom) + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addBom("foo-bom", bom) .addRepository("foo-repo", "foo-repo", "http://example.com/foo", false) .addRepository("bar-repo", "bar-repo", "http://example.com/bar", false) .addDependencyGroup("test", dependency).build(); @@ -73,15 +70,13 @@ class DependencyManagementBuildCustomizerTests { } private MavenBuild createBuild(InitializrMetadata metadata) { - return new MavenBuild( - new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); + return new MavenBuild(new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); } private void customizeBuild(Build build, InitializrMetadata metadata) { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setPlatformVersion(Version.parse("2.0.0.RELEASE")); - new DependencyManagementBuildCustomizer(projectDescription.resolve(), metadata) - .customize(build); + new DependencyManagementBuildCustomizer(projectDescription.resolve(), metadata).customize(build); } } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/SimpleBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/SimpleBuildCustomizerTests.java index 0e721547..1c6b8fb6 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/SimpleBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/SimpleBuildCustomizerTests.java @@ -64,10 +64,8 @@ class SimpleBuildCustomizerTests { @Test void customizeDependencies() { ProjectDescription description = initializeDescription(); - Dependency one = Dependency.withCoordinates("com.example", "one") - .scope(DependencyScope.COMPILE).build(); - Dependency two = Dependency.withCoordinates("com.example.acme", "two") - .scope(DependencyScope.COMPILE).build(); + Dependency one = Dependency.withCoordinates("com.example", "one").scope(DependencyScope.COMPILE).build(); + Dependency two = Dependency.withCoordinates("com.example.acme", "two").scope(DependencyScope.COMPILE).build(); description.addDependency("two", two); description.addDependency("one", one); MavenBuild build = customizeBuild(description); @@ -84,10 +82,8 @@ class SimpleBuildCustomizerTests { private MavenBuild customizeBuild(ProjectDescription description) { MavenBuild build = new MavenBuild(); - ResolvedProjectDescription resolvedProjectDescription = new ResolvedProjectDescription( - description); - SimpleBuildCustomizer customizer = new SimpleBuildCustomizer( - resolvedProjectDescription); + ResolvedProjectDescription resolvedProjectDescription = new ResolvedProjectDescription(description); + SimpleBuildCustomizer customizer = new SimpleBuildCustomizer(resolvedProjectDescription); customizer.customize(build); return build; } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/SpringBootVersionRepositoriesBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/SpringBootVersionRepositoriesBuildCustomizerTests.java index 95f8e5f8..48e7e8d8 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/SpringBootVersionRepositoriesBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/SpringBootVersionRepositoriesBuildCustomizerTests.java @@ -36,48 +36,40 @@ class SpringBootVersionRepositoriesBuildCustomizerTests { @Test void addMavenCentralWhenUsingRelease() { MavenBuild build = new MavenBuild(); - new SpringBootVersionRepositoriesBuildCustomizer(Version.parse("2.1.0.RELEASE")) - .customize(build); - assertThat(build.repositories().items()) - .containsExactly(MavenRepository.MAVEN_CENTRAL); + new SpringBootVersionRepositoriesBuildCustomizer(Version.parse("2.1.0.RELEASE")).customize(build); + assertThat(build.repositories().items()).containsExactly(MavenRepository.MAVEN_CENTRAL); } @Test void addMavenCentralAndNonReleaseWhenUsingMilestone() { MavenBuild build = new MavenBuild(); - new SpringBootVersionRepositoriesBuildCustomizer(Version.parse("2.1.0.M1")) - .customize(build); + new SpringBootVersionRepositoriesBuildCustomizer(Version.parse("2.1.0.M1")).customize(build); assertNonReleaseRepositories(build); } @Test void addMavenCentralAndNonReleaseWhenUsingReleaseCandidate() { MavenBuild build = new MavenBuild(); - new SpringBootVersionRepositoriesBuildCustomizer(Version.parse("2.1.0.RC1")) - .customize(build); + new SpringBootVersionRepositoriesBuildCustomizer(Version.parse("2.1.0.RC1")).customize(build); assertNonReleaseRepositories(build); } @Test void addMavenCentralAndNonReleaseWhenUsingSnapshot() { MavenBuild build = new MavenBuild(); - new SpringBootVersionRepositoriesBuildCustomizer( - Version.parse("2.1.0.BUILD-SNAPSHOT")).customize(build); + new SpringBootVersionRepositoriesBuildCustomizer(Version.parse("2.1.0.BUILD-SNAPSHOT")).customize(build); assertNonReleaseRepositories(build); } private void assertNonReleaseRepositories(MavenBuild build) { - List repositories = build.repositories().items() - .collect(Collectors.toList()); + List repositories = build.repositories().items().collect(Collectors.toList()); assertThat(repositories).hasSize(3); assertThat(repositories.get(0)).isEqualTo(MavenRepository.MAVEN_CENTRAL); - assertThat(repositories.get(1)) - .hasFieldOrPropertyWithValue("id", "spring-snapshots") + assertThat(repositories.get(1)).hasFieldOrPropertyWithValue("id", "spring-snapshots") .hasFieldOrPropertyWithValue("name", "Spring Snapshots") .hasFieldOrPropertyWithValue("url", "https://repo.spring.io/snapshot") .hasFieldOrPropertyWithValue("snapshotsEnabled", true); - assertThat(repositories.get(2)) - .hasFieldOrPropertyWithValue("id", "spring-milestones") + assertThat(repositories.get(2)).hasFieldOrPropertyWithValue("id", "spring-milestones") .hasFieldOrPropertyWithValue("name", "Spring Milestones") .hasFieldOrPropertyWithValue("url", "https://repo.spring.io/milestone") .hasFieldOrPropertyWithValue("snapshotsEnabled", false); diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizerTests.java index 33aeca52..a0217433 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizerTests.java @@ -38,8 +38,7 @@ class WarPackagingWebStarterBuildCustomizerTests { @Test void addWebStarterWhenNoWebFacetIsPresent() { - Dependency dependency = Dependency.withId("test", "com.example", "acme", null, - Dependency.SCOPE_COMPILE); + Dependency dependency = Dependency.withId("test", "com.example", "acme", null, Dependency.SCOPE_COMPILE); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", dependency).build(); Build build = createBuild(metadata); @@ -50,10 +49,8 @@ class WarPackagingWebStarterBuildCustomizerTests { @Test void addWebStarterWhenNoWebFacetIsPresentWithCustomWebStarter() { - Dependency dependency = Dependency.withId("test", "com.example", "acme", null, - Dependency.SCOPE_COMPILE); - Dependency web = Dependency.withId("web", "com.example", "custom-web-starter", - null, Dependency.SCOPE_COMPILE); + Dependency dependency = Dependency.withId("test", "com.example", "acme", null, Dependency.SCOPE_COMPILE); + Dependency web = Dependency.withId("web", "com.example", "custom-web-starter", null, Dependency.SCOPE_COMPILE); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", dependency, web).build(); Build build = createBuild(metadata); @@ -64,8 +61,7 @@ class WarPackagingWebStarterBuildCustomizerTests { @Test void addWebStarterDoesNotReplaceWebFacetDependency() { - Dependency dependency = Dependency.withId("test", "com.example", "acme", null, - Dependency.SCOPE_COMPILE); + Dependency dependency = Dependency.withId("test", "com.example", "acme", null, Dependency.SCOPE_COMPILE); dependency.setFacets(Collections.singletonList("web")); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", dependency).build(); @@ -76,8 +72,7 @@ class WarPackagingWebStarterBuildCustomizerTests { } private Build createBuild(InitializrMetadata metadata) { - return new MavenBuild( - new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); + return new MavenBuild(new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); } } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/ConditionalOnGradleVersionTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/ConditionalOnGradleVersionTests.java index 2b50bbb0..cefa7596 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/ConditionalOnGradleVersionTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/ConditionalOnGradleVersionTests.java @@ -85,8 +85,7 @@ public class ConditionalOnGradleVersionTests { void outcomeWithSpringBoot15AndMultipleGenerations() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setPlatformVersion(Version.parse("1.5.18.RELEASE")); - Map candidates = candidatesFor(projectDescription, - Gradle3Or4TestConfiguration.class); + Map candidates = candidatesFor(projectDescription, Gradle3Or4TestConfiguration.class); assertThat(candidates).containsOnlyKeys("gradle3", "gradle3AndLater"); } @@ -94,8 +93,7 @@ public class ConditionalOnGradleVersionTests { void outcomeWithSpringBoot20AndMultipleGenerations() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setPlatformVersion(Version.parse("2.0.9.RELEASE")); - Map candidates = candidatesFor(projectDescription, - Gradle3Or4TestConfiguration.class); + Map candidates = candidatesFor(projectDescription, Gradle3Or4TestConfiguration.class); assertThat(candidates).containsOnlyKeys("gradle4", "gradle3AndLater"); } @@ -103,24 +101,20 @@ public class ConditionalOnGradleVersionTests { void outcomeWithSpringBoot21AndMultipleNonMatchingGenerations() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setPlatformVersion(Version.parse("2.1.3.RELEASE")); - Map candidates = candidatesFor(projectDescription, - Gradle3Or4TestConfiguration.class); + Map candidates = candidatesFor(projectDescription, Gradle3Or4TestConfiguration.class); assertThat(candidates).containsOnlyKeys("gradle5"); } private String outcomeFor(ProjectDescription projectDescription) { - return this.projectTester.generate(projectDescription, - (projectGenerationContext) -> { - assertThat(projectGenerationContext.getBeansOfType(String.class)) - .hasSize(1); - return projectGenerationContext.getBean(String.class); - }); + return this.projectTester.generate(projectDescription, (projectGenerationContext) -> { + assertThat(projectGenerationContext.getBeansOfType(String.class)).hasSize(1); + return projectGenerationContext.getBean(String.class); + }); } - private Map candidatesFor(ProjectDescription projectDescription, - Class... extraConfigurations) { - return this.projectTester.withConfiguration(extraConfigurations).generate( - projectDescription, (context) -> context.getBeansOfType(String.class)); + private Map candidatesFor(ProjectDescription projectDescription, Class... extraConfigurations) { + return this.projectTester.withConfiguration(extraConfigurations).generate(projectDescription, + (context) -> context.getBeansOfType(String.class)); } @Configuration diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleAnnotationProcessorScopeBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleAnnotationProcessorScopeBuildCustomizerTests.java index 1cf611ae..034042a3 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleAnnotationProcessorScopeBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleAnnotationProcessorScopeBuildCustomizerTests.java @@ -34,13 +34,10 @@ class GradleAnnotationProcessorScopeBuildCustomizerTests { void compileOnlyConfigurationIsAddedWithAnnotationProcessorDependency() { GradleBuild build = new GradleBuild(); build.dependencies().add("lib", "com.example", "lib", DependencyScope.COMPILE); - build.dependencies().add("ap", "com.example", "model-generator", - DependencyScope.ANNOTATION_PROCESSOR); + build.dependencies().add("ap", "com.example", "model-generator", DependencyScope.ANNOTATION_PROCESSOR); customize(build); - assertThat(build.getConfigurationCustomizations()) - .containsOnlyKeys("compileOnly"); - ConfigurationCustomization compileOnly = build.getConfigurationCustomizations() - .get("compileOnly"); + assertThat(build.getConfigurationCustomizations()).containsOnlyKeys("compileOnly"); + ConfigurationCustomization compileOnly = build.getConfigurationCustomizations().get("compileOnly"); assertThat(compileOnly.getExtendsFrom()).containsOnly("annotationProcessor"); } @@ -48,8 +45,7 @@ class GradleAnnotationProcessorScopeBuildCustomizerTests { void compileOnlyConfigurationIsNotAddedWithNonMatchingDependency() { GradleBuild build = new GradleBuild(); build.dependencies().add("lib", "com.example", "lib", DependencyScope.COMPILE); - build.dependencies().add("another", "com.example", "another", - DependencyScope.RUNTIME); + build.dependencies().add("another", "com.example", "another", DependencyScope.RUNTIME); customize(build); assertThat(build.getConfigurationCustomizations()).isEmpty(); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleBuildProjectContributorTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleBuildProjectContributorTests.java index 1717caff..efae6e58 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleBuildProjectContributorTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleBuildProjectContributorTests.java @@ -42,11 +42,10 @@ import static org.assertj.core.api.Assertions.assertThat; class GradleBuildProjectContributorTests { @Test - void groovyDslGradleBuildIsContributedInProjectStructure(@TempDir Path projectDir) - throws IOException { + void groovyDslGradleBuildIsContributedInProjectStructure(@TempDir Path projectDir) throws IOException { GradleBuild build = new GradleBuild(); - groovyDslGradleBuildProjectContributor(build, - IndentingWriterFactory.withDefaultSettings()).contribute(projectDir); + groovyDslGradleBuildProjectContributor(build, IndentingWriterFactory.withDefaultSettings()) + .contribute(projectDir); Path buildGradle = projectDir.resolve("build.gradle"); assertThat(buildGradle).isRegularFile(); } @@ -57,33 +56,27 @@ class GradleBuildProjectContributorTests { build.setGroup("com.example"); build.setVersion("1.0.0-SNAPSHOT"); build.buildscript((buildscript) -> buildscript.ext("someVersion", "'1.2.3'")); - List lines = generateBuild(groovyDslGradleBuildProjectContributor(build, - IndentingWriterFactory.withDefaultSettings())); - assertThat(lines).containsSequence("buildscript {", " ext {", - " someVersion = '1.2.3'", " }", "}"); - assertThat(lines).containsSequence("group = 'com.example'", - "version = '1.0.0-SNAPSHOT'"); + List lines = generateBuild( + groovyDslGradleBuildProjectContributor(build, IndentingWriterFactory.withDefaultSettings())); + assertThat(lines).containsSequence("buildscript {", " ext {", " someVersion = '1.2.3'", " }", "}"); + assertThat(lines).containsSequence("group = 'com.example'", "version = '1.0.0-SNAPSHOT'"); } @Test void groovyDslGradleBuildIsContributedUsingGradleContentId() throws IOException { - IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory - .create(new SimpleIndentStrategy(" "), (factory) -> factory - .indentingStrategy("gradle", new SimpleIndentStrategy(" "))); + IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory.create(new SimpleIndentStrategy(" "), + (factory) -> factory.indentingStrategy("gradle", new SimpleIndentStrategy(" "))); GradleBuild build = new GradleBuild(); build.buildscript((buildscript) -> buildscript.ext("someVersion", "'1.2.3'")); - List lines = generateBuild( - groovyDslGradleBuildProjectContributor(build, indentingWriterFactory)); - assertThat(lines).containsSequence("buildscript {", " ext {", - " someVersion = '1.2.3'", " }", "}"); + List lines = generateBuild(groovyDslGradleBuildProjectContributor(build, indentingWriterFactory)); + assertThat(lines).containsSequence("buildscript {", " ext {", " someVersion = '1.2.3'", " }", "}"); } @Test - void kotlinDslGradleBuildIsContributedInProjectStructure(@TempDir Path projectDir) - throws IOException { + void kotlinDslGradleBuildIsContributedInProjectStructure(@TempDir Path projectDir) throws IOException { GradleBuild build = new GradleBuild(); - kotlinDslGradleBuildProjectContributor(build, - IndentingWriterFactory.withDefaultSettings()).contribute(projectDir); + kotlinDslGradleBuildProjectContributor(build, IndentingWriterFactory.withDefaultSettings()) + .contribute(projectDir); Path buildGradleKts = projectDir.resolve("build.gradle.kts"); assertThat(buildGradleKts).isRegularFile(); } @@ -93,41 +86,37 @@ class GradleBuildProjectContributorTests { GradleBuild build = new GradleBuild(); build.setGroup("com.example"); build.setVersion("1.0.0-SNAPSHOT"); - List lines = generateBuild(kotlinDslGradleBuildProjectContributor(build, - IndentingWriterFactory.withDefaultSettings())); - assertThat(lines).containsSequence("group = \"com.example\"", - "version = \"1.0.0-SNAPSHOT\""); + List lines = generateBuild( + kotlinDslGradleBuildProjectContributor(build, IndentingWriterFactory.withDefaultSettings())); + assertThat(lines).containsSequence("group = \"com.example\"", "version = \"1.0.0-SNAPSHOT\""); } @Test void kotlinDslGradleBuildIsContributedUsingGradleContentId() throws IOException { - IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory - .create(new SimpleIndentStrategy(" "), (factory) -> factory - .indentingStrategy("gradle", new SimpleIndentStrategy(" "))); + IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory.create(new SimpleIndentStrategy(" "), + (factory) -> factory.indentingStrategy("gradle", new SimpleIndentStrategy(" "))); GradleBuild build = new GradleBuild(); build.addPlugin("java"); - List lines = generateBuild( - kotlinDslGradleBuildProjectContributor(build, indentingWriterFactory)); + List lines = generateBuild(kotlinDslGradleBuildProjectContributor(build, indentingWriterFactory)); assertThat(lines).containsSequence("plugins {", " java", "}"); } - private List generateBuild(GradleBuildProjectContributor contributor) - throws IOException { + private List generateBuild(GradleBuildProjectContributor contributor) throws IOException { StringWriter writer = new StringWriter(); contributor.writeBuild(writer); return TextTestUtils.readAllLines(writer.toString()); } - private GradleBuildProjectContributor groovyDslGradleBuildProjectContributor( - GradleBuild build, IndentingWriterFactory indentingWriterFactory) { - return new GradleBuildProjectContributor(new GroovyDslGradleBuildWriter(), build, - indentingWriterFactory, "build.gradle"); + private GradleBuildProjectContributor groovyDslGradleBuildProjectContributor(GradleBuild build, + IndentingWriterFactory indentingWriterFactory) { + return new GradleBuildProjectContributor(new GroovyDslGradleBuildWriter(), build, indentingWriterFactory, + "build.gradle"); } - private GradleBuildProjectContributor kotlinDslGradleBuildProjectContributor( - GradleBuild build, IndentingWriterFactory indentingWriterFactory) { - return new GradleBuildProjectContributor(new KotlinDslGradleBuildWriter(), build, - indentingWriterFactory, "build.gradle.kts"); + private GradleBuildProjectContributor kotlinDslGradleBuildProjectContributor(GradleBuild build, + IndentingWriterFactory indentingWriterFactory) { + return new GradleBuildProjectContributor(new KotlinDslGradleBuildWriter(), build, indentingWriterFactory, + "build.gradle.kts"); } } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleConfigurationBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleConfigurationBuildCustomizerTests.java index 3021484c..cf3bedb6 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleConfigurationBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleConfigurationBuildCustomizerTests.java @@ -33,8 +33,7 @@ class GradleConfigurationBuildCustomizerTests { void providedRuntimeConfigurationIsAddedWithNonWarProject() { GradleBuild build = new GradleBuild(); build.dependencies().add("lib", "com.example", "lib", DependencyScope.COMPILE); - build.dependencies().add("servlet", "javax.servlet", "servlet-api", - DependencyScope.PROVIDED_RUNTIME); + build.dependencies().add("servlet", "javax.servlet", "servlet-api", DependencyScope.PROVIDED_RUNTIME); customize(build); assertThat(build.getConfigurations()).containsOnly("providedRuntime"); } @@ -44,8 +43,7 @@ class GradleConfigurationBuildCustomizerTests { GradleBuild build = new GradleBuild(); build.addPlugin("war"); build.dependencies().add("lib", "com.example", "lib", DependencyScope.COMPILE); - build.dependencies().add("servlet", "javax.servlet", "servlet-api", - DependencyScope.PROVIDED_RUNTIME); + build.dependencies().add("servlet", "javax.servlet", "servlet-api", DependencyScope.PROVIDED_RUNTIME); customize(build); assertThat(build.getConfigurationCustomizations()).isEmpty(); } @@ -54,8 +52,7 @@ class GradleConfigurationBuildCustomizerTests { void providedRuntimeConfigurationIsNotAddedWithNonMatchingDependency() { GradleBuild build = new GradleBuild(); build.dependencies().add("lib", "com.example", "lib", DependencyScope.COMPILE); - build.dependencies().add("another", "com.example", "another", - DependencyScope.RUNTIME); + build.dependencies().add("another", "com.example", "another", DependencyScope.RUNTIME); customize(build); assertThat(build.getConfigurationCustomizations()).isEmpty(); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleKtsProjectGenerationConfigurationTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleKtsProjectGenerationConfigurationTests.java index 1c3e1bdb..ff078f10 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleKtsProjectGenerationConfigurationTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleKtsProjectGenerationConfigurationTests.java @@ -63,10 +63,9 @@ class GradleKtsProjectGenerationConfigurationTests { .withConfiguration(BuildProjectGenerationConfiguration.class, GradleProjectGenerationConfiguration.class) .withDirectory(directory) - .withBean(InitializrMetadata.class, - () -> InitializrMetadataTestBuilder.withDefaults().build()) - .withDescriptionCustomizer((description) -> description.setBuildSystem( - new GradleBuildSystem(GradleBuildSystem.DIALECT_KOTLIN))); + .withBean(InitializrMetadata.class, () -> InitializrMetadataTestBuilder.withDefaults().build()) + .withDescriptionCustomizer((description) -> description + .setBuildSystem(new GradleBuildSystem(GradleBuildSystem.DIALECT_KOTLIN))); } static Stream supportedPlatformVersions() { @@ -93,21 +92,18 @@ class GradleKtsProjectGenerationConfigurationTests { @ParameterizedTest(name = "Spring Boot {0}") @MethodSource("gradleWrapperParameters") - void gradleWrapperIsContributedWhenGeneratingGradleKtsProject(String platformVersion, - String expectedGradleVersion) throws IOException { + void gradleWrapperIsContributedWhenGeneratingGradleKtsProject(String platformVersion, String expectedGradleVersion) + throws IOException { ProjectDescription description = new ProjectDescription(); description.setPlatformVersion(Version.parse(platformVersion)); description.setLanguage(new JavaLanguage()); ProjectStructure projectStructure = this.projectTester.generate(description); List relativePaths = projectStructure.getRelativePathsOfProjectFiles(); - assertThat(relativePaths).contains("gradlew", "gradlew.bat", - "gradle/wrapper/gradle-wrapper.properties", + assertThat(relativePaths).contains("gradlew", "gradlew.bat", "gradle/wrapper/gradle-wrapper.properties", "gradle/wrapper/gradle-wrapper.jar"); - try (Stream lines = Files.lines( - projectStructure.resolve("gradle/wrapper/gradle-wrapper.properties"))) { - assertThat(lines.filter((line) -> line - .contains(String.format("gradle-%s-bin.zip", expectedGradleVersion)))) - .hasSize(1); + try (Stream lines = Files.lines(projectStructure.resolve("gradle/wrapper/gradle-wrapper.properties"))) { + assertThat(lines.filter((line) -> line.contains(String.format("gradle-%s-bin.zip", expectedGradleVersion)))) + .hasSize(1); } } @@ -117,23 +113,17 @@ class GradleKtsProjectGenerationConfigurationTests { description.setPlatformVersion(Version.parse("2.1.0.RELEASE")); description.setLanguage(new JavaLanguage("11")); description.addDependency("acme", - Dependency.withCoordinates("com.example", "acme") - .scope(DependencyScope.COMPILE).build()); + Dependency.withCoordinates("com.example", "acme").scope(DependencyScope.COMPILE).build()); ProjectStructure projectStructure = this.projectTester.generate(description); - assertThat(projectStructure.getRelativePathsOfProjectFiles()) - .contains("build.gradle.kts"); + assertThat(projectStructure.getRelativePathsOfProjectFiles()).contains("build.gradle.kts"); List lines = projectStructure.readAllLines("build.gradle.kts"); - assertThat(lines).containsExactly("plugins {", - " id(\"org.springframework.boot\") version \"2.1.0.RELEASE\"", - " id(\"io.spring.dependency-management\") version \"1.0.6.RELEASE\"", - " java", "}", "", "group = \"com.example\"", - "version = \"0.0.1-SNAPSHOT\"", - "java.sourceCompatibility = JavaVersion.VERSION_11", "", "repositories {", - " mavenCentral()", "}", "", "dependencies {", - " implementation(\"org.springframework.boot:spring-boot-starter\")", + assertThat(lines).containsExactly("plugins {", " id(\"org.springframework.boot\") version \"2.1.0.RELEASE\"", + " id(\"io.spring.dependency-management\") version \"1.0.6.RELEASE\"", " java", "}", "", + "group = \"com.example\"", "version = \"0.0.1-SNAPSHOT\"", + "java.sourceCompatibility = JavaVersion.VERSION_11", "", "repositories {", " mavenCentral()", "}", + "", "dependencies {", " implementation(\"org.springframework.boot:spring-boot-starter\")", " implementation(\"com.example:acme\")", - " testImplementation(\"org.springframework.boot:spring-boot-starter-test\")", - "}"); + " testImplementation(\"org.springframework.boot:spring-boot-starter-test\")", "}"); } @Test @@ -143,10 +133,8 @@ class GradleKtsProjectGenerationConfigurationTests { description.setLanguage(new JavaLanguage()); description.setPackaging(new WarPackaging()); ProjectStructure projectStructure = this.projectTester.generate(description); - assertThat(projectStructure.getRelativePathsOfProjectFiles()) - .contains("build.gradle.kts"); - assertThat(projectStructure.readAllLines("build.gradle.kts")) - .containsOnlyOnce(" war"); + assertThat(projectStructure.getRelativePathsOfProjectFiles()).contains("build.gradle.kts"); + assertThat(projectStructure.readAllLines("build.gradle.kts")).containsOnlyOnce(" war"); } @Test @@ -155,11 +143,9 @@ class GradleKtsProjectGenerationConfigurationTests { description.setPlatformVersion(Version.parse("2.2.4.RELEASE")); description.setLanguage(new JavaLanguage()); ProjectStructure projectStructure = this.projectTester.generate(description); - assertThat(projectStructure.getRelativePathsOfProjectFiles()) - .contains("build.gradle.kts"); + assertThat(projectStructure.getRelativePathsOfProjectFiles()).contains("build.gradle.kts"); List lines = projectStructure.readAllLines("build.gradle.kts"); - assertThat(lines).containsSequence("tasks.withType {", - " useJUnitPlatform()", "}"); + assertThat(lines).containsSequence("tasks.withType {", " useJUnitPlatform()", "}"); } @Test @@ -168,11 +154,9 @@ class GradleKtsProjectGenerationConfigurationTests { description.setPlatformVersion(Version.parse("2.1.4.RELEASE")); description.setLanguage(new JavaLanguage()); ProjectStructure projectStructure = this.projectTester.generate(description); - assertThat(projectStructure.getRelativePathsOfProjectFiles()) - .contains("build.gradle.kts"); + assertThat(projectStructure.getRelativePathsOfProjectFiles()).contains("build.gradle.kts"); List lines = projectStructure.readAllLines("build.gradle.kts"); - assertThat(lines).doesNotContainSequence("tasks.withType {", - " useJUnitPlatform()", "}"); + assertThat(lines).doesNotContainSequence("tasks.withType {", " useJUnitPlatform()", "}"); } } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleProjectGenerationConfigurationTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleProjectGenerationConfigurationTests.java index e86f5f27..64558d1c 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleProjectGenerationConfigurationTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleProjectGenerationConfigurationTests.java @@ -64,15 +64,12 @@ class GradleProjectGenerationConfigurationTests { .withConfiguration(BuildProjectGenerationConfiguration.class, GradleProjectGenerationConfiguration.class) .withDirectory(directory) - .withBean(InitializrMetadata.class, - () -> InitializrMetadataTestBuilder.withDefaults().build()) - .withDescriptionCustomizer((description) -> description - .setBuildSystem(new GradleBuildSystem())); + .withBean(InitializrMetadata.class, () -> InitializrMetadataTestBuilder.withDefaults().build()) + .withDescriptionCustomizer((description) -> description.setBuildSystem(new GradleBuildSystem())); } static Stream supportedPlatformVersions() { - return Stream.of(Arguments.arguments("1.5.17.RELEASE"), - Arguments.arguments("2.0.6.RELEASE"), + return Stream.of(Arguments.arguments("1.5.17.RELEASE"), Arguments.arguments("2.0.6.RELEASE"), Arguments.arguments("2.1.3.RELEASE")); } @@ -90,28 +87,24 @@ class GradleProjectGenerationConfigurationTests { } static Stream gradleWrapperParameters() { - return Stream.of(Arguments.arguments("1.5.17.RELEASE", "3.5.1"), - Arguments.arguments("2.0.6.RELEASE", "4.10.3"), + return Stream.of(Arguments.arguments("1.5.17.RELEASE", "3.5.1"), Arguments.arguments("2.0.6.RELEASE", "4.10.3"), Arguments.arguments("2.1.3.RELEASE", "5.4.1")); } @ParameterizedTest(name = "Spring Boot {0}") @MethodSource("gradleWrapperParameters") - void gradleWrapperIsContributedWhenGeneratingGradleProject(String platformVersion, - String expectedGradleVersion) throws IOException { + void gradleWrapperIsContributedWhenGeneratingGradleProject(String platformVersion, String expectedGradleVersion) + throws IOException { ProjectDescription description = new ProjectDescription(); description.setPlatformVersion(Version.parse(platformVersion)); description.setLanguage(new JavaLanguage()); ProjectStructure projectStructure = this.projectTester.generate(description); List relativePaths = projectStructure.getRelativePathsOfProjectFiles(); - assertThat(relativePaths).contains("gradlew", "gradlew.bat", - "gradle/wrapper/gradle-wrapper.properties", + assertThat(relativePaths).contains("gradlew", "gradlew.bat", "gradle/wrapper/gradle-wrapper.properties", "gradle/wrapper/gradle-wrapper.jar"); - try (Stream lines = Files.lines( - projectStructure.resolve("gradle/wrapper/gradle-wrapper.properties"))) { - assertThat(lines.filter((line) -> line - .contains(String.format("gradle-%s-bin.zip", expectedGradleVersion)))) - .hasSize(1); + try (Stream lines = Files.lines(projectStructure.resolve("gradle/wrapper/gradle-wrapper.properties"))) { + assertThat(lines.filter((line) -> line.contains(String.format("gradle-%s-bin.zip", expectedGradleVersion)))) + .hasSize(1); } } @@ -121,23 +114,18 @@ class GradleProjectGenerationConfigurationTests { description.setPlatformVersion(Version.parse("2.1.0.RELEASE")); description.setLanguage(new JavaLanguage("11")); description.addDependency("acme", - Dependency.withCoordinates("com.example", "acme") - .scope(DependencyScope.COMPILE).build()); + Dependency.withCoordinates("com.example", "acme").scope(DependencyScope.COMPILE).build()); ProjectStructure projectStructure = this.projectTester.generate(description); List relativePaths = projectStructure.getRelativePathsOfProjectFiles(); assertThat(relativePaths).contains("build.gradle"); List lines = projectStructure.readAllLines("build.gradle"); - assertThat(lines).containsExactly("plugins {", - " id 'org.springframework.boot' version '2.1.0.RELEASE'", - " id 'java'", "}", "", - "apply plugin: 'io.spring.dependency-management'", "", - "group = 'com.example'", "version = '0.0.1-SNAPSHOT'", - "sourceCompatibility = '11'", "", "repositories {", " mavenCentral()", - "}", "", "dependencies {", + assertThat(lines).containsExactly("plugins {", " id 'org.springframework.boot' version '2.1.0.RELEASE'", + " id 'java'", "}", "", "apply plugin: 'io.spring.dependency-management'", "", + "group = 'com.example'", "version = '0.0.1-SNAPSHOT'", "sourceCompatibility = '11'", "", + "repositories {", " mavenCentral()", "}", "", "dependencies {", " implementation 'org.springframework.boot:spring-boot-starter'", " implementation 'com.example:acme'", - " testImplementation 'org.springframework.boot:spring-boot-starter-test'", - "}"); + " testImplementation 'org.springframework.boot:spring-boot-starter-test'", "}"); } @Test @@ -149,8 +137,7 @@ class GradleProjectGenerationConfigurationTests { ProjectStructure projectStructure = this.projectTester.generate(description); List relativePaths = projectStructure.getRelativePathsOfProjectFiles(); assertThat(relativePaths).contains("build.gradle"); - try (Stream lines = Files - .lines(projectStructure.resolve("build.gradle"))) { + try (Stream lines = Files.lines(projectStructure.resolve("build.gradle"))) { assertThat(lines.filter((line) -> line.contains(" id 'war'"))).hasSize(1); } } @@ -161,8 +148,7 @@ class GradleProjectGenerationConfigurationTests { description.setPlatformVersion(Version.parse("2.2.4.RELEASE")); description.setLanguage(new JavaLanguage()); ProjectStructure projectStructure = this.projectTester.generate(description); - assertThat(projectStructure.getRelativePathsOfProjectFiles()) - .contains("build.gradle"); + assertThat(projectStructure.getRelativePathsOfProjectFiles()).contains("build.gradle"); List lines = projectStructure.readAllLines("build.gradle"); assertThat(lines).containsSequence("test {", " useJUnitPlatform()", "}"); } @@ -173,28 +159,25 @@ class GradleProjectGenerationConfigurationTests { description.setPlatformVersion(Version.parse("2.1.4.RELEASE")); description.setLanguage(new JavaLanguage()); ProjectStructure projectStructure = this.projectTester.generate(description); - assertThat(projectStructure.getRelativePathsOfProjectFiles()) - .contains("build.gradle"); + assertThat(projectStructure.getRelativePathsOfProjectFiles()).contains("build.gradle"); List lines = projectStructure.readAllLines("build.gradle"); assertThat(lines).doesNotContainSequence("test {", " useJUnitPlatform()", "}"); } static Stream annotationProcessorScopeBuildParameters() { - return Stream.of(Arguments.arguments("1.5.17.RELEASE", false), - Arguments.arguments("2.0.6.RELEASE", true), + return Stream.of(Arguments.arguments("1.5.17.RELEASE", false), Arguments.arguments("2.0.6.RELEASE", true), Arguments.arguments("2.1.3.RELEASE", true)); } @ParameterizedTest(name = "Spring Boot {0}") @MethodSource("annotationProcessorScopeBuildParameters") - void gradleAnnotationProcessorScopeCustomizerIsContributedIfNecessary( - String platformVersion, boolean contributorExpected) { + void gradleAnnotationProcessorScopeCustomizerIsContributedIfNecessary(String platformVersion, + boolean contributorExpected) { ProjectDescription description = new ProjectDescription(); description.setPlatformVersion(Version.parse(platformVersion)); description.setLanguage(new JavaLanguage()); - Map generate = this.projectTester - .generate(description, (context) -> context.getBeansOfType( - GradleAnnotationProcessorScopeBuildCustomizer.class)); + Map generate = this.projectTester.generate(description, + (context) -> context.getBeansOfType(GradleAnnotationProcessorScopeBuildCustomizer.class)); assertThat(generate).hasSize((contributorExpected) ? 1 : 0); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleWrapperContributorTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleWrapperContributorTests.java index e67c6ec9..7cd77126 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleWrapperContributorTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/GradleWrapperContributorTests.java @@ -41,28 +41,25 @@ class GradleWrapperContributorTests { Path directory; static Stream parameters() { - return Stream.of(Arguments.arguments("3"), Arguments.arguments("4"), - Arguments.arguments("5")); + return Stream.of(Arguments.arguments("3"), Arguments.arguments("4"), Arguments.arguments("5")); } @ParameterizedTest(name = "Gradle {0}") @MethodSource("parameters") - void gradleWrapperSetExecutableFlagOnScripts(String gradleVersion) - throws IOException { + void gradleWrapperSetExecutableFlagOnScripts(String gradleVersion) throws IOException { Path projectDir = contribute(gradleVersion); assertThat(projectDir.resolve("gradlew")).isRegularFile().isExecutable(); assertThat(projectDir.resolve("gradlew.bat")).isRegularFile().isExecutable(); - assertThat(projectDir.resolve("gradle/wrapper/gradle-wrapper.jar")) - .isRegularFile().satisfies(isNotExecutable()); - assertThat(projectDir.resolve("gradle/wrapper/gradle-wrapper.properties")) - .isRegularFile().satisfies(isNotExecutable()); + assertThat(projectDir.resolve("gradle/wrapper/gradle-wrapper.jar")).isRegularFile() + .satisfies(isNotExecutable()); + assertThat(projectDir.resolve("gradle/wrapper/gradle-wrapper.properties")).isRegularFile() + .satisfies(isNotExecutable()); } private Consumer isNotExecutable() { return (path) -> { if (supportsExecutableFlag() && Files.isExecutable(path)) { - throw Failures.instance().failure(String - .format("%nExpecting:%n <%s>%nto not be executable.", path)); + throw Failures.instance().failure(String.format("%nExpecting:%n <%s>%nto not be executable.", path)); } }; } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/SettingsGradleProjectContributorTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/SettingsGradleProjectContributorTests.java index dc4f6132..f606396b 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/SettingsGradleProjectContributorTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/gradle/SettingsGradleProjectContributorTests.java @@ -47,85 +47,80 @@ class SettingsGradleProjectContributorTests { void groovyDslGradleSettingsIsContributedToProject() throws IOException { GradleBuild build = new GradleBuild(); build.pluginRepositories().add("maven-central"); - List lines = generateSettings(groovyDslSettingsGradleProjectContributor( - build, IndentingWriterFactory.withDefaultSettings())); - assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " mavenCentral()", " gradlePluginPortal()", " }", "}"); + List lines = generateSettings( + groovyDslSettingsGradleProjectContributor(build, IndentingWriterFactory.withDefaultSettings())); + assertThat(lines).containsSequence("pluginManagement {", " repositories {", " mavenCentral()", + " gradlePluginPortal()", " }", "}"); } @Test void groovyDslGradleSettingsIsContributedUsingGradleContentId() throws IOException { - IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory - .create(new SimpleIndentStrategy(" "), (factory) -> factory - .indentingStrategy("gradle", new SimpleIndentStrategy(" "))); + IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory.create(new SimpleIndentStrategy(" "), + (factory) -> factory.indentingStrategy("gradle", new SimpleIndentStrategy(" "))); GradleBuild build = new GradleBuild(); build.pluginRepositories().add("maven-central"); - List lines = generateSettings( - groovyDslSettingsGradleProjectContributor(build, indentingWriterFactory)); - assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " mavenCentral()", " gradlePluginPortal()", " }", "}"); + List lines = generateSettings(groovyDslSettingsGradleProjectContributor(build, indentingWriterFactory)); + assertThat(lines).containsSequence("pluginManagement {", " repositories {", " mavenCentral()", + " gradlePluginPortal()", " }", "}"); } @Test void groovyDslGradleSettingsDoesNotUseRepositories() throws IOException { GradleBuild build = new GradleBuild(); build.repositories().add("maven-central"); - List lines = generateSettings(groovyDslSettingsGradleProjectContributor( - build, IndentingWriterFactory.withDefaultSettings())); - assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " gradlePluginPortal()", " }", "}"); + List lines = generateSettings( + groovyDslSettingsGradleProjectContributor(build, IndentingWriterFactory.withDefaultSettings())); + assertThat(lines).containsSequence("pluginManagement {", " repositories {", " gradlePluginPortal()", + " }", "}"); } @Test void kotlinDslGradleSettingsIsContributedToProject() throws IOException { GradleBuild build = new GradleBuild(); build.pluginRepositories().add("maven-central"); - List lines = generateSettings(kotlinDslSettingsGradleProjectContributor( - build, IndentingWriterFactory.withDefaultSettings())); - assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " mavenCentral()", " gradlePluginPortal()", " }", "}"); + List lines = generateSettings( + kotlinDslSettingsGradleProjectContributor(build, IndentingWriterFactory.withDefaultSettings())); + assertThat(lines).containsSequence("pluginManagement {", " repositories {", " mavenCentral()", + " gradlePluginPortal()", " }", "}"); } @Test void kotlinDslGradleSettingsIsContributedUsingGradleContentId() throws IOException { - IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory - .create(new SimpleIndentStrategy(" "), (factory) -> factory - .indentingStrategy("gradle", new SimpleIndentStrategy(" "))); + IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory.create(new SimpleIndentStrategy(" "), + (factory) -> factory.indentingStrategy("gradle", new SimpleIndentStrategy(" "))); GradleBuild build = new GradleBuild(); build.pluginRepositories().add("maven-central"); - List lines = generateSettings( - kotlinDslSettingsGradleProjectContributor(build, indentingWriterFactory)); - assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " mavenCentral()", " gradlePluginPortal()", " }", "}"); + List lines = generateSettings(kotlinDslSettingsGradleProjectContributor(build, indentingWriterFactory)); + assertThat(lines).containsSequence("pluginManagement {", " repositories {", " mavenCentral()", + " gradlePluginPortal()", " }", "}"); } @Test void kotlinDslGradleSettingsDoesNotUseRepositories() throws IOException { GradleBuild build = new GradleBuild(); build.repositories().add("maven-central"); - List lines = generateSettings(kotlinDslSettingsGradleProjectContributor( - build, IndentingWriterFactory.withDefaultSettings())); - assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " gradlePluginPortal()", " }", "}"); + List lines = generateSettings( + kotlinDslSettingsGradleProjectContributor(build, IndentingWriterFactory.withDefaultSettings())); + assertThat(lines).containsSequence("pluginManagement {", " repositories {", " gradlePluginPortal()", + " }", "}"); } - private List generateSettings(SettingsGradleProjectContributor contributor) - throws IOException { + private List generateSettings(SettingsGradleProjectContributor contributor) throws IOException { Path projectDir = Files.createTempDirectory(this.directory, "project-"); contributor.contribute(projectDir); return new ProjectStructure(projectDir).readAllLines("test.gradle"); } - private SettingsGradleProjectContributor groovyDslSettingsGradleProjectContributor( - GradleBuild build, IndentingWriterFactory indentingWriterFactory) { - return new SettingsGradleProjectContributor(build, indentingWriterFactory, - new GroovyDslGradleSettingsWriter(), "test.gradle"); + private SettingsGradleProjectContributor groovyDslSettingsGradleProjectContributor(GradleBuild build, + IndentingWriterFactory indentingWriterFactory) { + return new SettingsGradleProjectContributor(build, indentingWriterFactory, new GroovyDslGradleSettingsWriter(), + "test.gradle"); } - private SettingsGradleProjectContributor kotlinDslSettingsGradleProjectContributor( - GradleBuild build, IndentingWriterFactory indentingWriterFactory) { - return new SettingsGradleProjectContributor(build, indentingWriterFactory, - new KotlinDslGradleSettingsWriter(), "test.gradle"); + private SettingsGradleProjectContributor kotlinDslSettingsGradleProjectContributor(GradleBuild build, + IndentingWriterFactory indentingWriterFactory) { + return new SettingsGradleProjectContributor(build, indentingWriterFactory, new KotlinDslGradleSettingsWriter(), + "test.gradle"); } } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/DefaultMavenBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/DefaultMavenBuildCustomizerTests.java index bfcb42a5..5f7f4b96 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/DefaultMavenBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/DefaultMavenBuildCustomizerTests.java @@ -41,8 +41,7 @@ class DefaultMavenBuildCustomizerTests { @Test void customizeSetNameAndDescription() { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .build(); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().build(); ProjectDescription description = initializeDescription(); description.setName("my-demo"); description.setDescription("Demonstration project"); @@ -53,8 +52,7 @@ class DefaultMavenBuildCustomizerTests { @Test void customizeRegisterSpringBootPlugin() { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .build(); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().build(); MavenBuild build = customizeBuild(metadata); assertThat(build.getPlugins()).hasSize(1); MavenPlugin mavenPlugin = build.getPlugins().get(0); @@ -65,8 +63,7 @@ class DefaultMavenBuildCustomizerTests { @Test void customizeSetJavaVersion() { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .build(); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().build(); ProjectDescription description = initializeDescription(); description.setLanguage(new JavaLanguage("11")); MavenBuild build = customizeBuild(metadata, description); @@ -75,8 +72,7 @@ class DefaultMavenBuildCustomizerTests { @Test void customizeWhenNoParentShouldUseSpringBootParent() { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .build(); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().build(); MavenBuild build = customizeBuild(metadata); MavenParent parent = build.getParent(); assertThat(parent.getGroupId()).isEqualTo("org.springframework.boot"); @@ -96,8 +92,7 @@ class DefaultMavenBuildCustomizerTests { BomContainer boms = build.boms(); assertThat(boms.items()).hasSize(1); assertThat(boms.ids()).contains("spring-boot"); - assertThat(build.getVersionProperties() - .get(VersionProperty.of("spring-boot.version"))).isEqualTo("2.0.0"); + assertThat(build.getVersionProperties().get(VersionProperty.of("spring-boot.version"))).isEqualTo("2.0.0"); } @Test @@ -121,13 +116,10 @@ class DefaultMavenBuildCustomizerTests { return customizeBuild(metadata, description); } - private MavenBuild customizeBuild(InitializrMetadata metadata, - ProjectDescription description) { + private MavenBuild customizeBuild(InitializrMetadata metadata, ProjectDescription description) { MavenBuild build = new MavenBuild(); - ResolvedProjectDescription resolvedProjectDescription = new ResolvedProjectDescription( - description); - DefaultMavenBuildCustomizer customizer = new DefaultMavenBuildCustomizer( - resolvedProjectDescription, metadata); + ResolvedProjectDescription resolvedProjectDescription = new ResolvedProjectDescription(description); + DefaultMavenBuildCustomizer customizer = new DefaultMavenBuildCustomizer(resolvedProjectDescription, metadata); customizer.customize(build); return build; } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenBuildProjectContributorTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenBuildProjectContributorTests.java index 89f63bf1..637a36e1 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenBuildProjectContributorTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenBuildProjectContributorTests.java @@ -39,11 +39,9 @@ import static org.assertj.core.api.Assertions.assertThat; class MavenBuildProjectContributorTests { @Test - void mavenBuildIsContributedInProjectStructure(@TempDir Path projectDir) - throws IOException { + void mavenBuildIsContributedInProjectStructure(@TempDir Path projectDir) throws IOException { MavenBuild build = new MavenBuild(); - new MavenBuildProjectContributor(build, - IndentingWriterFactory.withDefaultSettings()).contribute(projectDir); + new MavenBuildProjectContributor(build, IndentingWriterFactory.withDefaultSettings()).contribute(projectDir); Path buildGradle = projectDir.resolve("pom.xml"); assertThat(buildGradle).isRegularFile(); } @@ -53,41 +51,34 @@ class MavenBuildProjectContributorTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.parent("org.springframework.boot", "spring-boot-starter-parent", - "2.1.0.RELEASE"); + build.parent("org.springframework.boot", "spring-boot-starter-parent", "2.1.0.RELEASE"); List lines = generatePom(build); - assertThat(lines).containsSequence(" ", - " org.springframework.boot", + assertThat(lines).containsSequence(" ", " org.springframework.boot", " spring-boot-starter-parent", " 2.1.0.RELEASE"); } @Test void pomIsContributedUsingMavenContentId() throws Exception { - IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory - .create(new SimpleIndentStrategy(" "), (factory) -> factory - .indentingStrategy("maven", new SimpleIndentStrategy("\t"))); + IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory.create(new SimpleIndentStrategy(" "), + (factory) -> factory.indentingStrategy("maven", new SimpleIndentStrategy("\t"))); MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.parent("org.springframework.boot", "spring-boot-starter-parent", - "2.1.0.RELEASE"); + build.parent("org.springframework.boot", "spring-boot-starter-parent", "2.1.0.RELEASE"); List lines = generatePom(build, indentingWriterFactory); - assertThat(lines).containsSequence("\t", - "\t\torg.springframework.boot", - "\t\tspring-boot-starter-parent", - "\t\t2.1.0.RELEASE"); + assertThat(lines).containsSequence("\t", "\t\torg.springframework.boot", + "\t\tspring-boot-starter-parent", "\t\t2.1.0.RELEASE"); } private List generatePom(MavenBuild mavenBuild) throws Exception { return generatePom(mavenBuild, IndentingWriterFactory.withDefaultSettings()); } - private List generatePom(MavenBuild mavenBuild, - IndentingWriterFactory indentingWriterFactory) throws Exception { + private List generatePom(MavenBuild mavenBuild, IndentingWriterFactory indentingWriterFactory) + throws Exception { StringWriter writer = new StringWriter(); - new MavenBuildProjectContributor(mavenBuild, indentingWriterFactory) - .writeBuild(writer); + new MavenBuildProjectContributor(mavenBuild, indentingWriterFactory).writeBuild(writer); return TextTestUtils.readAllLines(writer.toString()); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenProjectGenerationConfigurationTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenProjectGenerationConfigurationTests.java index 00a5f751..2f1f4ca1 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenProjectGenerationConfigurationTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenProjectGenerationConfigurationTests.java @@ -50,10 +50,8 @@ class MavenProjectGenerationConfigurationTests { @BeforeEach void setup(@TempDir Path directory) { this.projectTester = new ProjectAssetTester().withIndentingWriterFactory() - .withConfiguration(BuildProjectGenerationConfiguration.class, - MavenProjectGenerationConfiguration.class) - .withBean(InitializrMetadata.class, - () -> InitializrMetadataTestBuilder.withDefaults().build()) + .withConfiguration(BuildProjectGenerationConfiguration.class, MavenProjectGenerationConfiguration.class) + .withBean(InitializrMetadata.class, () -> InitializrMetadataTestBuilder.withDefaults().build()) .withDirectory(directory).withDescriptionCustomizer((description) -> { description.setBuildSystem(new MavenBuildSystem()); description.setLanguage(new JavaLanguage()); @@ -74,9 +72,8 @@ class MavenProjectGenerationConfigurationTests { ProjectDescription description = new ProjectDescription(); description.setPlatformVersion(Version.parse("2.1.0.RELEASE")); ProjectStructure projectStructure = this.projectTester.generate(description); - assertThat(projectStructure.getRelativePathsOfProjectFiles()).contains("mvnw", - "mvnw.cmd", ".mvn/wrapper/MavenWrapperDownloader.java", - ".mvn/wrapper/maven-wrapper.properties", + assertThat(projectStructure.getRelativePathsOfProjectFiles()).contains("mvnw", "mvnw.cmd", + ".mvn/wrapper/MavenWrapperDownloader.java", ".mvn/wrapper/maven-wrapper.properties", ".mvn/wrapper/maven-wrapper.jar"); } @@ -96,9 +93,7 @@ class MavenProjectGenerationConfigurationTests { ProjectStructure projectStructure = this.projectTester.generate(description); assertThat(projectStructure.getRelativePathsOfProjectFiles()).contains("pom.xml"); try (Stream lines = Files.lines(projectStructure.resolve("pom.xml"))) { - assertThat(lines - .filter((line) -> line.contains(" war"))) - .hasSize(1); + assertThat(lines.filter((line) -> line.contains(" war"))).hasSize(1); } } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenWrapperContributorTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenWrapperContributorTests.java index 09f320f8..1ed01e15 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenWrapperContributorTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/maven/MavenWrapperContributorTests.java @@ -42,19 +42,17 @@ class MavenWrapperContributorTests { Path projectDir = contribute(); assertThat(projectDir.resolve("mvnw")).isRegularFile().isExecutable(); assertThat(projectDir.resolve("mvnw.cmd")).isRegularFile().isExecutable(); - assertThat(projectDir.resolve(".mvn/wrapper/maven-wrapper.jar")).isRegularFile() + assertThat(projectDir.resolve(".mvn/wrapper/maven-wrapper.jar")).isRegularFile().satisfies(isNotExecutable()); + assertThat(projectDir.resolve(".mvn/wrapper/maven-wrapper.properties")).isRegularFile() + .satisfies(isNotExecutable()); + assertThat(projectDir.resolve(".mvn/wrapper/MavenWrapperDownloader.java")).isRegularFile() .satisfies(isNotExecutable()); - assertThat(projectDir.resolve(".mvn/wrapper/maven-wrapper.properties")) - .isRegularFile().satisfies(isNotExecutable()); - assertThat(projectDir.resolve(".mvn/wrapper/MavenWrapperDownloader.java")) - .isRegularFile().satisfies(isNotExecutable()); } private Consumer isNotExecutable() { return (path) -> { if (supportsExecutableFlag() && Files.isExecutable(path)) { - throw Failures.instance().failure(String - .format("%nExpecting:%n <%s>%nto not be executable.", path)); + throw Failures.instance().failure(String.format("%nExpecting:%n <%s>%nto not be executable.", path)); } }; } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/CodeComplianceTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/CodeComplianceTests.java index 1703bbe0..8c71bf20 100755 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/CodeComplianceTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/CodeComplianceTests.java @@ -46,16 +46,15 @@ class CodeComplianceTests extends AbstractComplianceTests { static Stream parameters() { return Stream.of(Arguments.arguments(new JavaLanguage(), "java"), - Arguments.arguments(new GroovyLanguage(), "groovy"), - Arguments.arguments(new KotlinLanguage(), "kt")); + Arguments.arguments(new GroovyLanguage(), "groovy"), Arguments.arguments(new KotlinLanguage(), "kt")); } @ParameterizedTest @MethodSource("parameters") void currentGenerationJar(Language language, String extension) { ProjectAssert project = generateProject(language, maven, "2.1.1.RELEASE"); - project.isGenericProject(ProjectAssert.DEFAULT_PACKAGE_NAME, - ProjectAssert.DEFAULT_APPLICATION_NAME, language.id(), extension); + project.isGenericProject(ProjectAssert.DEFAULT_PACKAGE_NAME, ProjectAssert.DEFAULT_APPLICATION_NAME, + language.id(), extension); } @ParameterizedTest @@ -63,55 +62,46 @@ class CodeComplianceTests extends AbstractComplianceTests { void currentGenerationWar(Language language, String extension) { ProjectAssert project = generateProject(language, maven, "2.1.1.RELEASE", (description) -> description.setPackaging(Packaging.forId("war"))); - project.isGenericProject(ProjectAssert.DEFAULT_PACKAGE_NAME, - ProjectAssert.DEFAULT_APPLICATION_NAME, language.id(), extension); + project.isGenericProject(ProjectAssert.DEFAULT_PACKAGE_NAME, ProjectAssert.DEFAULT_APPLICATION_NAME, + language.id(), extension); } @ParameterizedTest @MethodSource("parameters") void currentGenerationMainClass(Language language, String extension) { ProjectAssert project = generateProject(language, maven, "2.1.1.RELEASE"); - project.sourceCodeAssert( - "src/main/" + language + "/com/example/demo/DemoApplication." + extension) + project.sourceCodeAssert("src/main/" + language + "/com/example/demo/DemoApplication." + extension) .equalsTo(new ClassPathResource( - "project/" + language + "/standard/DemoApplication." - + getExpectedExtension(extension))); + "project/" + language + "/standard/DemoApplication." + getExpectedExtension(extension))); } @ParameterizedTest @MethodSource("parameters") void previousGenerationMainClass(Language language, String extension) { ProjectAssert project = generateProject(language, maven, "2.1.1.RELEASE", - (description) -> description - .setPlatformVersion(Version.parse("1.5.18.RELEASE"))); - project.sourceCodeAssert( - "src/main/" + language + "/com/example/demo/DemoApplication." + extension) - .equalsTo(new ClassPathResource("project/" + language + "/previous/" - + "/DemoApplication." + getExpectedExtension(extension))); + (description) -> description.setPlatformVersion(Version.parse("1.5.18.RELEASE"))); + project.sourceCodeAssert("src/main/" + language + "/com/example/demo/DemoApplication." + extension) + .equalsTo(new ClassPathResource( + "project/" + language + "/previous/" + "/DemoApplication." + getExpectedExtension(extension))); } @ParameterizedTest @MethodSource("parameters") void currentGenerationTestClass(Language language, String extension) { ProjectAssert project = generateProject(language, maven, "2.1.1.RELEASE"); - project.sourceCodeAssert("src/test/" + language - + "/com/example/demo/DemoApplicationTests." + extension) + project.sourceCodeAssert("src/test/" + language + "/com/example/demo/DemoApplicationTests." + extension) .equalsTo(new ClassPathResource( - "project/" + language + "/standard/DemoApplicationTests." - + getExpectedExtension(extension))); + "project/" + language + "/standard/DemoApplicationTests." + getExpectedExtension(extension))); } @ParameterizedTest @MethodSource("parameters") void currentGenerationTestClassWeb(Language language, String extension) { ProjectAssert project = generateProject(language, maven, "2.1.1.RELEASE", - (description) -> description.addDependency("web", - MetadataBuildItemMapper.toDependency(WEB))); - project.sourceCodeAssert("src/test/" + language - + "/com/example/demo/DemoApplicationTests." + extension) - .equalsTo(new ClassPathResource( - "project/" + language + "/standard/DemoApplicationTestsWeb." - + getExpectedExtension(extension))); + (description) -> description.addDependency("web", MetadataBuildItemMapper.toDependency(WEB))); + project.sourceCodeAssert("src/test/" + language + "/com/example/demo/DemoApplicationTests." + extension) + .equalsTo(new ClassPathResource("project/" + language + "/standard/DemoApplicationTestsWeb." + + getExpectedExtension(extension))); } @ParameterizedTest @@ -119,67 +109,57 @@ class CodeComplianceTests extends AbstractComplianceTests { void currentGenerationServletInitializer(Language language, String extension) { ProjectAssert project = generateProject(language, maven, "2.1.1.RELEASE", (description) -> description.setPackaging(Packaging.forId("war"))); - project.sourceCodeAssert("src/main/" + language - + "/com/example/demo/ServletInitializer." + extension) - .equalsTo(new ClassPathResource("project/" + language + "/standard/" - + "ServletInitializer." + getExpectedExtension(extension))); + project.sourceCodeAssert("src/main/" + language + "/com/example/demo/ServletInitializer." + extension) + .equalsTo(new ClassPathResource("project/" + language + "/standard/" + "ServletInitializer." + + getExpectedExtension(extension))); } @ParameterizedTest @MethodSource("parameters") void previousGenerationServletInitializer(Language language, String extension) { - ProjectAssert project = generateProject(language, maven, "2.1.1.RELEASE", - (description) -> { - description.setPackaging(Packaging.forId("war")); - description.setPlatformVersion(Version.parse("1.5.18.RELEASE")); - }); - project.sourceCodeAssert("src/main/" + language - + "/com/example/demo/ServletInitializer." + extension) - .equalsTo(new ClassPathResource("project/" + language + "/previous/" - + "ServletInitializer." + getExpectedExtension(extension))); + ProjectAssert project = generateProject(language, maven, "2.1.1.RELEASE", (description) -> { + description.setPackaging(Packaging.forId("war")); + description.setPlatformVersion(Version.parse("1.5.18.RELEASE")); + }); + project.sourceCodeAssert("src/main/" + language + "/com/example/demo/ServletInitializer." + extension) + .equalsTo(new ClassPathResource("project/" + language + "/previous/" + "ServletInitializer." + + getExpectedExtension(extension))); } @ParameterizedTest @MethodSource("parameters") void currentGenerationCustomCoordinates(Language language, String extension) { - ProjectAssert project = generateProject(language, maven, "2.1.1.RELEASE", - (description) -> { - description.setGroupId("com.example.acme"); - description.setArtifactId("my-project"); - description.setPackageName("com.example.acme.myproject"); - description.setApplicationName("MyProjectApplication"); - }); - project.isGenericProject("com.example.acme.myproject", "MyProjectApplication", - language.id(), extension); - project.sourceCodeAssert("src/main/" + language - + "/com/example/acme/myproject/MyProjectApplication." + extension) + ProjectAssert project = generateProject(language, maven, "2.1.1.RELEASE", (description) -> { + description.setGroupId("com.example.acme"); + description.setArtifactId("my-project"); + description.setPackageName("com.example.acme.myproject"); + description.setApplicationName("MyProjectApplication"); + }); + project.isGenericProject("com.example.acme.myproject", "MyProjectApplication", language.id(), extension); + project.sourceCodeAssert( + "src/main/" + language + "/com/example/acme/myproject/MyProjectApplication." + extension) .equalsTo(new ClassPathResource( - "project/" + language + "/standard/MyProjectApplication." - + getExpectedExtension(extension))); - project.sourceCodeAssert("src/test/" + language - + "/com/example/acme/myproject/MyProjectApplicationTests." + extension) - .equalsTo(new ClassPathResource( - "project/" + language + "/standard/MyProjectApplicationTests." - + getExpectedExtension(extension))); + "project/" + language + "/standard/MyProjectApplication." + getExpectedExtension(extension))); + project.sourceCodeAssert( + "src/test/" + language + "/com/example/acme/myproject/MyProjectApplicationTests." + extension) + .equalsTo(new ClassPathResource("project/" + language + "/standard/MyProjectApplicationTests." + + getExpectedExtension(extension))); } @ParameterizedTest @MethodSource("parameters") void previousGenerationCustomCoordinates(Language language, String extension) { - ProjectAssert project = generateProject(language, maven, "1.5.18.RELEASE", - (description) -> { - description.setGroupId("com.example.acme"); - description.setArtifactId("my-project"); - description.setPackageName("com.example.acme.myproject"); - description.setApplicationName("MyProjectApplication"); - }); - project.isGenericProject("com.example.acme.myproject", "MyProjectApplication", - language.id(), extension); - project.sourceCodeAssert("src/main/" + language - + "/com/example/acme/myproject/MyProjectApplication." + extension) + ProjectAssert project = generateProject(language, maven, "1.5.18.RELEASE", (description) -> { + description.setGroupId("com.example.acme"); + description.setArtifactId("my-project"); + description.setPackageName("com.example.acme.myproject"); + description.setApplicationName("MyProjectApplication"); + }); + project.isGenericProject("com.example.acme.myproject", "MyProjectApplication", language.id(), extension); + project.sourceCodeAssert( + "src/main/" + language + "/com/example/acme/myproject/MyProjectApplication." + extension) .equalsTo(new ClassPathResource( - "project/" + language + "/previous/MyProjectApplication." - + getExpectedExtension(extension))); + "project/" + language + "/previous/MyProjectApplication." + getExpectedExtension(extension))); } private String getExpectedExtension(String extension) { diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/SourceCodeProjectGenerationConfigurationTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/SourceCodeProjectGenerationConfigurationTests.java index 5250d5ba..78d3bd9e 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/SourceCodeProjectGenerationConfigurationTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/SourceCodeProjectGenerationConfigurationTests.java @@ -43,26 +43,23 @@ class SourceCodeProjectGenerationConfigurationTests { @Test @SuppressWarnings("unchecked") void addsACustomizerThatAppliesSpringBootApplicationAnnotationOnMainClass() { - TypeDeclaration declaration = this.projectTester - .generate(new ProjectDescription(), (context) -> { - TypeDeclaration type = new TypeDeclaration("Test"); - MainApplicationTypeCustomizer bean = context - .getBean(MainApplicationTypeCustomizer.class); - bean.customize(type); - return type; - }); + TypeDeclaration declaration = this.projectTester.generate(new ProjectDescription(), (context) -> { + TypeDeclaration type = new TypeDeclaration("Test"); + MainApplicationTypeCustomizer bean = context.getBean(MainApplicationTypeCustomizer.class); + bean.customize(type); + return type; + }); assertThat(declaration.getAnnotations()).hasSize(1); - assertThat(declaration.getAnnotations()).hasOnlyOneElementSatisfying( - (annotation) -> assertThat(annotation.getName()).isEqualTo( - "org.springframework.boot.autoconfigure.SpringBootApplication")); + assertThat(declaration.getAnnotations()) + .hasOnlyOneElementSatisfying((annotation) -> assertThat(annotation.getName()) + .isEqualTo("org.springframework.boot.autoconfigure.SpringBootApplication")); } @Test void addsACustomizerThatAppliesTestAnnotationsOnTestClassWithJunit4() { TypeDeclaration declaration = generateTestTypeDeclaration("2.1.0.RELEASE"); assertThat(declaration.getAnnotations()).hasSize(2); - assertThat(declaration.getAnnotations().get(0).getName()) - .isEqualTo("org.junit.runner.RunWith"); + assertThat(declaration.getAnnotations().get(0).getName()).isEqualTo("org.junit.runner.RunWith"); assertThat(declaration.getAnnotations().get(0).getAttributes().get(0).getValues()) .containsOnly("org.springframework.test.context.junit4.SpringRunner"); assertThat(declaration.getAnnotations().get(1).getName()) @@ -83,8 +80,7 @@ class SourceCodeProjectGenerationConfigurationTests { description.setPlatformVersion(Version.parse(version)); return this.projectTester.generate(description, (context) -> { TypeDeclaration type = new TypeDeclaration("Test"); - TestApplicationTypeCustomizer bean = context - .getBean(TestApplicationTypeCustomizer.class); + TestApplicationTypeCustomizer bean = context.getBean(TestApplicationTypeCustomizer.class); bean.customize(type); return type; }); @@ -92,14 +88,12 @@ class SourceCodeProjectGenerationConfigurationTests { @Test void springBoot15WarServletInitializerContributor() { - runWarTest("1.5.0", - "org.springframework.boot.web.support.SpringBootServletInitializer"); + runWarTest("1.5.0", "org.springframework.boot.web.support.SpringBootServletInitializer"); } @Test void springBoot20WarServletInitializerContributor() { - runWarTest("2.1.0", - "org.springframework.boot.web.servlet.support.SpringBootServletInitializer"); + runWarTest("2.1.0", "org.springframework.boot.web.servlet.support.SpringBootServletInitializer"); } @SuppressWarnings("unchecked") @@ -109,17 +103,12 @@ class SourceCodeProjectGenerationConfigurationTests { description.setPackageName("com.foo"); description.setPlatformVersion(Version.parse(version)); this.projectTester.generate(description, (context) -> { - ServletInitializerContributor bean = context - .getBean(ServletInitializerContributor.class); - SourceCode> sourceCode = mock( - SourceCode.class); - CompilationUnit compilationUnit = mock( - CompilationUnit.class); - given(sourceCode.createCompilationUnit(any(), any())) - .willReturn(compilationUnit); + ServletInitializerContributor bean = context.getBean(ServletInitializerContributor.class); + SourceCode> sourceCode = mock(SourceCode.class); + CompilationUnit compilationUnit = mock(CompilationUnit.class); + given(sourceCode.createCompilationUnit(any(), any())).willReturn(compilationUnit); TypeDeclaration typeDeclaration = mock(TypeDeclaration.class); - given(compilationUnit.createTypeDeclaration(any())) - .willReturn(typeDeclaration); + given(compilationUnit.createTypeDeclaration(any())).willReturn(typeDeclaration); bean.customize(sourceCode); verify(sourceCode).createCompilationUnit("com.foo", "ServletInitializer"); verify(typeDeclaration).extend(className); diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/groovy/GroovyMavenBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/groovy/GroovyMavenBuildCustomizerTests.java index 24060422..2c724038 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/groovy/GroovyMavenBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/groovy/GroovyMavenBuildCustomizerTests.java @@ -45,9 +45,8 @@ class GroovyMavenBuildCustomizerTests { assertThat(groovyPlugin.getExecutions()).hasSize(1); Execution execution = groovyPlugin.getExecutions().get(0); assertThat(execution.getId()).isNull(); - assertThat(execution.getGoals()).containsExactly("addSources", "addTestSources", - "generateStubs", "compile", "generateTestStubs", "compileTests", - "removeStubs", "removeTestStubs"); + assertThat(execution.getGoals()).containsExactly("addSources", "addTestSources", "generateStubs", "compile", + "generateTestStubs", "compileTests", "removeStubs", "removeTestStubs"); assertThat(execution.getPhase()).isNull(); assertThat(execution.getConfiguration()).isNull(); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfigurationTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfigurationTests.java index c3751eb7..4771b52c 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfigurationTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfigurationTests.java @@ -58,8 +58,7 @@ class GroovyProjectGenerationConfigurationTests { @Test void mainClassIsContributed() { - ProjectStructure projectStructure = this.projectTester - .generate(new ProjectDescription()); + ProjectStructure projectStructure = this.projectTester.generate(new ProjectDescription()); assertThat(projectStructure.getRelativePathsOfProjectFiles()) .contains("src/main/groovy/com/example/demo/DemoApplication.groovy"); } @@ -71,15 +70,13 @@ class GroovyProjectGenerationConfigurationTests { ProjectStructure projectStructure = this.projectTester.generate(description); assertThat(projectStructure.getRelativePathsOfProjectFiles()) .contains("src/test/groovy/com/example/demo/DemoApplicationTests.groovy"); - List lines = projectStructure.readAllLines( - "src/test/groovy/com/example/demo/DemoApplicationTests.groovy"); - assertThat(lines).containsExactly("package com.example.demo", "", - "import org.junit.Test", "import org.junit.runner.RunWith", - "import org.springframework.boot.test.context.SpringBootTest", - "import org.springframework.test.context.junit4.SpringRunner", "", - "@RunWith(SpringRunner)", "@SpringBootTest", - "class DemoApplicationTests {", "", " @Test", - " void contextLoads() {", " }", "", "}"); + List lines = projectStructure + .readAllLines("src/test/groovy/com/example/demo/DemoApplicationTests.groovy"); + assertThat(lines).containsExactly("package com.example.demo", "", "import org.junit.Test", + "import org.junit.runner.RunWith", "import org.springframework.boot.test.context.SpringBootTest", + "import org.springframework.test.context.junit4.SpringRunner", "", "@RunWith(SpringRunner)", + "@SpringBootTest", "class DemoApplicationTests {", "", " @Test", " void contextLoads() {", + " }", "", "}"); } @Test @@ -89,13 +86,11 @@ class GroovyProjectGenerationConfigurationTests { ProjectStructure projectStructure = this.projectTester.generate(description); assertThat(projectStructure.getRelativePathsOfProjectFiles()) .contains("src/test/groovy/com/example/demo/DemoApplicationTests.groovy"); - List lines = projectStructure.readAllLines( - "src/test/groovy/com/example/demo/DemoApplicationTests.groovy"); - assertThat(lines).containsExactly("package com.example.demo", "", - "import org.junit.jupiter.api.Test", - "import org.springframework.boot.test.context.SpringBootTest", "", - "@SpringBootTest", "class DemoApplicationTests {", "", " @Test", - " void contextLoads() {", " }", "", "}"); + List lines = projectStructure + .readAllLines("src/test/groovy/com/example/demo/DemoApplicationTests.groovy"); + assertThat(lines).containsExactly("package com.example.demo", "", "import org.junit.jupiter.api.Test", + "import org.springframework.boot.test.context.SpringBootTest", "", "@SpringBootTest", + "class DemoApplicationTests {", "", " @Test", " void contextLoads() {", " }", "", "}"); } @Test @@ -106,13 +101,12 @@ class GroovyProjectGenerationConfigurationTests { ProjectStructure projectStructure = this.projectTester.generate(description); assertThat(projectStructure.getRelativePathsOfProjectFiles()) .contains("src/main/groovy/com/example/demo/ServletInitializer.groovy"); - List lines = projectStructure.readAllLines( - "src/main/groovy/com/example/demo/ServletInitializer.groovy"); + List lines = projectStructure + .readAllLines("src/main/groovy/com/example/demo/ServletInitializer.groovy"); assertThat(lines).containsExactly("package com.example.demo", "", "import org.springframework.boot.builder.SpringApplicationBuilder", - "import org.springframework.boot.web.servlet.support.SpringBootServletInitializer", - "", "class ServletInitializer extends SpringBootServletInitializer {", "", - " @Override", + "import org.springframework.boot.web.servlet.support.SpringBootServletInitializer", "", + "class ServletInitializer extends SpringBootServletInitializer {", "", " @Override", " protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {", " application.sources(Demo2Application)", " }", "", "}"); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfigurationTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfigurationTests.java index 69c4eeb5..839c3e72 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfigurationTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfigurationTests.java @@ -71,14 +71,11 @@ class JavaProjectGenerationConfigurationTests { ProjectStructure projectStructure = this.projectTester.generate(description); assertThat(projectStructure.getRelativePathsOfProjectFiles()) .contains("src/test/java/com/example/demo/DemoApplicationTests.java"); - List lines = projectStructure - .readAllLines("src/test/java/com/example/demo/DemoApplicationTests.java"); - assertThat(lines).containsExactly("package com.example.demo;", "", - "import org.junit.Test;", "import org.junit.runner.RunWith;", - "import org.springframework.boot.test.context.SpringBootTest;", - "import org.springframework.test.context.junit4.SpringRunner;", "", - "@RunWith(SpringRunner.class)", "@SpringBootTest", - "public class DemoApplicationTests {", "", " @Test", + List lines = projectStructure.readAllLines("src/test/java/com/example/demo/DemoApplicationTests.java"); + assertThat(lines).containsExactly("package com.example.demo;", "", "import org.junit.Test;", + "import org.junit.runner.RunWith;", "import org.springframework.boot.test.context.SpringBootTest;", + "import org.springframework.test.context.junit4.SpringRunner;", "", "@RunWith(SpringRunner.class)", + "@SpringBootTest", "public class DemoApplicationTests {", "", " @Test", " public void contextLoads() {", " }", "", "}"); } @@ -89,13 +86,10 @@ class JavaProjectGenerationConfigurationTests { ProjectStructure projectStructure = this.projectTester.generate(description); assertThat(projectStructure.getRelativePathsOfProjectFiles()) .contains("src/test/java/com/example/demo/DemoApplicationTests.java"); - List lines = projectStructure - .readAllLines("src/test/java/com/example/demo/DemoApplicationTests.java"); - assertThat(lines).containsExactly("package com.example.demo;", "", - "import org.junit.jupiter.api.Test;", - "import org.springframework.boot.test.context.SpringBootTest;", "", - "@SpringBootTest", "class DemoApplicationTests {", "", " @Test", - " void contextLoads() {", " }", "", "}"); + List lines = projectStructure.readAllLines("src/test/java/com/example/demo/DemoApplicationTests.java"); + assertThat(lines).containsExactly("package com.example.demo;", "", "import org.junit.jupiter.api.Test;", + "import org.springframework.boot.test.context.SpringBootTest;", "", "@SpringBootTest", + "class DemoApplicationTests {", "", " @Test", " void contextLoads() {", " }", "", "}"); } @Test @@ -106,17 +100,13 @@ class JavaProjectGenerationConfigurationTests { ProjectStructure projectStructure = this.projectTester.generate(description); assertThat(projectStructure.getRelativePathsOfProjectFiles()) .contains("src/main/java/com/example/demo/ServletInitializer.java"); - List lines = projectStructure - .readAllLines("src/main/java/com/example/demo/ServletInitializer.java"); + List lines = projectStructure.readAllLines("src/main/java/com/example/demo/ServletInitializer.java"); assertThat(lines).containsExactly("package com.example.demo;", "", "import org.springframework.boot.builder.SpringApplicationBuilder;", - "import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;", - "", - "public class ServletInitializer extends SpringBootServletInitializer {", - "", " @Override", + "import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;", "", + "public class ServletInitializer extends SpringBootServletInitializer {", "", " @Override", " protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {", - " return application.sources(MyDemoApplication.class);", " }", - "", "}"); + " return application.sources(MyDemoApplication.class);", " }", "", "}"); } @Test diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/GroovyDslKotlinGradleBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/GroovyDslKotlinGradleBuildCustomizerTests.java index b1b8ff0e..74755e04 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/GroovyDslKotlinGradleBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/GroovyDslKotlinGradleBuildCustomizerTests.java @@ -33,24 +33,19 @@ class GroovyDslKotlinGradleBuildCustomizerTests { @Test void kotlinPluginsAreConfigured() { GradleBuild build = new GradleBuild(); - new GroovyDslKotlinGradleBuildCustomizer( - new SimpleKotlinProjectSettings("1.2.70")).customize(build); + new GroovyDslKotlinGradleBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build); assertThat(build.getPlugins()).hasSize(2); - assertThat(build.getPlugins().get(0).getId()) - .isEqualTo("org.jetbrains.kotlin.jvm"); + assertThat(build.getPlugins().get(0).getId()).isEqualTo("org.jetbrains.kotlin.jvm"); assertThat(build.getPlugins().get(0).getVersion()).isEqualTo("1.2.70"); - assertThat(build.getPlugins().get(1).getId()) - .isEqualTo("org.jetbrains.kotlin.plugin.spring"); + assertThat(build.getPlugins().get(1).getId()).isEqualTo("org.jetbrains.kotlin.plugin.spring"); assertThat(build.getPlugins().get(1).getVersion()).isEqualTo("1.2.70"); } @Test void kotlinCompilationTasksAreCustomized() { GradleBuild build = new GradleBuild(); - new GroovyDslKotlinGradleBuildCustomizer( - new SimpleKotlinProjectSettings("1.2.70")).customize(build); - assertThat(build.getImportedTypes()) - .contains("org.jetbrains.kotlin.gradle.tasks.KotlinCompile"); + new GroovyDslKotlinGradleBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build); + assertThat(build.getImportedTypes()).contains("org.jetbrains.kotlin.gradle.tasks.KotlinCompile"); assertThat(build.getTasksWithTypeCustomizations()).hasSize(1); assertThat(build.getTasksWithTypeCustomizations()).containsKeys("KotlinCompile"); assertKotlinOptions(build.getTasksWithTypeCustomizations().get("KotlinCompile")); @@ -64,8 +59,7 @@ class GroovyDslKotlinGradleBuildCustomizerTests { assertThat(kotlinOptions.getInvocations()).hasSize(0); assertThat(kotlinOptions.getNested()).hasSize(0); assertThat(kotlinOptions.getAssignments()).hasSize(2); - assertThat(kotlinOptions.getAssignments()) - .containsEntry("freeCompilerArgs", "['-Xjsr305=strict']") + assertThat(kotlinOptions.getAssignments()).containsEntry("freeCompilerArgs", "['-Xjsr305=strict']") .containsEntry("jvmTarget", "'1.8'"); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDependenciesConfigurerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDependenciesConfigurerTests.java index 6864838b..776620b1 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDependenciesConfigurerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDependenciesConfigurerTests.java @@ -36,8 +36,7 @@ class KotlinDependenciesConfigurerTests { void configuresDependenciesForGradleBuild() { GradleBuild build = new GradleBuild(); new KotlinDependenciesConfigurer(Version.parse("2.1.0.RELEASE")).customize(build); - assertThat(build.dependencies().ids()).containsOnly("kotlin-stdlib", - "kotlin-reflect"); + assertThat(build.dependencies().ids()).containsOnly("kotlin-stdlib", "kotlin-reflect"); Dependency kotlinStdlib = build.dependencies().get("kotlin-stdlib"); assertThat(kotlinStdlib.getGroupId()).isEqualTo("org.jetbrains.kotlin"); assertThat(kotlinStdlib.getArtifactId()).isEqualTo("kotlin-stdlib-jdk8"); @@ -52,10 +51,8 @@ class KotlinDependenciesConfigurerTests { @Test void configuresDependenciesForMavenBuildWithBoot15() { MavenBuild build = new MavenBuild(); - new KotlinDependenciesConfigurer(Version.parse("1.5.17.RELEASE")) - .customize(build); - assertThat(build.dependencies().ids()).containsOnly("kotlin-stdlib", - "kotlin-reflect"); + new KotlinDependenciesConfigurer(Version.parse("1.5.17.RELEASE")).customize(build); + assertThat(build.dependencies().ids()).containsOnly("kotlin-stdlib", "kotlin-reflect"); Dependency kotlinStdlib = build.dependencies().get("kotlin-stdlib"); assertThat(kotlinStdlib.getGroupId()).isEqualTo("org.jetbrains.kotlin"); assertThat(kotlinStdlib.getArtifactId()).isEqualTo("kotlin-stdlib-jdk8"); @@ -71,8 +68,7 @@ class KotlinDependenciesConfigurerTests { void configuresDependenciesForMavenBuildWithBoot20() { MavenBuild build = new MavenBuild(); new KotlinDependenciesConfigurer(Version.parse("2.0.6.RELEASE")).customize(build); - assertThat(build.dependencies().ids()).containsOnly("kotlin-stdlib", - "kotlin-reflect"); + assertThat(build.dependencies().ids()).containsOnly("kotlin-stdlib", "kotlin-reflect"); Dependency kotlinStdlib = build.dependencies().get("kotlin-stdlib"); assertThat(kotlinStdlib.getGroupId()).isEqualTo("org.jetbrains.kotlin"); assertThat(kotlinStdlib.getArtifactId()).isEqualTo("kotlin-stdlib-jdk8"); diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDslKotlinGradleBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDslKotlinGradleBuildCustomizerTests.java index 6de8ee23..1080c77b 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDslKotlinGradleBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinDslKotlinGradleBuildCustomizerTests.java @@ -32,24 +32,19 @@ class KotlinDslKotlinGradleBuildCustomizerTests { @Test void kotlinPluginsAreConfigured() { GradleBuild build = new GradleBuild(); - new KotlinDslKotlinGradleBuildCustomizer( - new SimpleKotlinProjectSettings("1.2.70")).customize(build); + new KotlinDslKotlinGradleBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build); assertThat(build.getPlugins()).hasSize(2); - assertThat(build.getPlugins().get(0).getId()) - .isEqualTo("org.jetbrains.kotlin.jvm"); + assertThat(build.getPlugins().get(0).getId()).isEqualTo("org.jetbrains.kotlin.jvm"); assertThat(build.getPlugins().get(0).getVersion()).isEqualTo("1.2.70"); - assertThat(build.getPlugins().get(1).getId()) - .isEqualTo("org.jetbrains.kotlin.plugin.spring"); + assertThat(build.getPlugins().get(1).getId()).isEqualTo("org.jetbrains.kotlin.plugin.spring"); assertThat(build.getPlugins().get(1).getVersion()).isEqualTo("1.2.70"); } @Test void kotlinCompilationTasksAreCustomized() { GradleBuild build = new GradleBuild(); - new KotlinDslKotlinGradleBuildCustomizer( - new SimpleKotlinProjectSettings("1.2.70")).customize(build); - assertThat(build.getImportedTypes()) - .contains("org.jetbrains.kotlin.gradle.tasks.KotlinCompile"); + new KotlinDslKotlinGradleBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build); + assertThat(build.getImportedTypes()).contains("org.jetbrains.kotlin.gradle.tasks.KotlinCompile"); assertThat(build.getTasksWithTypeCustomizations()).hasSize(1); assertThat(build.getTasksWithTypeCustomizations()).containsKeys("KotlinCompile"); assertKotlinOptions(build.getTasksWithTypeCustomizations().get("KotlinCompile")); @@ -63,8 +58,7 @@ class KotlinDslKotlinGradleBuildCustomizerTests { assertThat(kotlinOptions.getInvocations()).hasSize(0); assertThat(kotlinOptions.getNested()).hasSize(0); assertThat(kotlinOptions.getAssignments()).hasSize(2); - assertThat(kotlinOptions.getAssignments()) - .containsEntry("freeCompilerArgs", "listOf(\"-Xjsr305=strict\")") + assertThat(kotlinOptions.getAssignments()).containsEntry("freeCompilerArgs", "listOf(\"-Xjsr305=strict\")") .containsEntry("jvmTarget", "\"1.8\""); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizerTests.java index f020eee7..8f9763e8 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizerTests.java @@ -42,8 +42,7 @@ class KotlinJpaGradleBuildCustomizerTests { GradleBuild build = getCustomizedBuild(dependency); assertThat(build.getAppliedPlugins()).isEmpty(); assertThat(build.getPlugins()).hasSize(1); - assertThat(build.getPlugins().get(0).getId()) - .isEqualTo("org.jetbrains.kotlin.plugin.jpa"); + assertThat(build.getPlugins().get(0).getId()).isEqualTo("org.jetbrains.kotlin.plugin.jpa"); assertThat(build.getPlugins().get(0).getVersion()).isEqualTo("1.2.70"); } @@ -59,10 +58,8 @@ class KotlinJpaGradleBuildCustomizerTests { InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", dependency).build(); SimpleKotlinProjectSettings settings = new SimpleKotlinProjectSettings("1.2.70"); - KotlinJpaGradleBuildCustomizer customizer = new KotlinJpaGradleBuildCustomizer( - metadata, settings); - GradleBuild build = new GradleBuild( - new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); + KotlinJpaGradleBuildCustomizer customizer = new KotlinJpaGradleBuildCustomizer(metadata, settings); + GradleBuild build = new GradleBuild(new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); build.dependencies().add("foo"); customizer.customize(build); return build; diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaMavenBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaMavenBuildCustomizerTests.java index 22b1fece..7d0ad709 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaMavenBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaMavenBuildCustomizerTests.java @@ -47,8 +47,7 @@ class KotlinJpaMavenBuildCustomizerTests { assertThat(plugin.getGroupId()).isEqualTo("org.jetbrains.kotlin"); assertThat(plugin.getArtifactId()).isEqualTo("kotlin-maven-plugin"); MavenPlugin.Setting settings = plugin.getConfiguration().getSettings().get(0); - assertThat(settings.getValue()).asList().element(0) - .hasFieldOrPropertyWithValue("name", "plugin") + assertThat(settings.getValue()).asList().element(0).hasFieldOrPropertyWithValue("name", "plugin") .hasFieldOrPropertyWithValue("value", "jpa"); assertThat(plugin.getDependencies()).hasSize(1); MavenPlugin.Dependency pluginDependency = plugin.getDependencies().get(0); @@ -67,10 +66,8 @@ class KotlinJpaMavenBuildCustomizerTests { private MavenBuild getCustomizedBuild(Dependency dependency) { InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", dependency).build(); - KotlinJpaMavenBuildCustomizer customizer = new KotlinJpaMavenBuildCustomizer( - metadata); - MavenBuild build = new MavenBuild( - new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); + KotlinJpaMavenBuildCustomizer customizer = new KotlinJpaMavenBuildCustomizer(metadata); + MavenBuild build = new MavenBuild(new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); build.dependencies().add("foo"); customizer.customize(build); return build; diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenBuildCustomizerTests.java index 4a559a59..62fc142b 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenBuildCustomizerTests.java @@ -38,8 +38,7 @@ class KotlinMavenBuildCustomizerTests { @Test void kotlinVersionPropertyIsConfigured() { MavenBuild build = new MavenBuild(); - new KotlinMavenBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")) - .customize(build); + new KotlinMavenBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build); assertThat(build.getProperties()).hasSize(1); assertThat(build.getProperties()).containsEntry("kotlin.version", "1.2.70"); } @@ -47,19 +46,15 @@ class KotlinMavenBuildCustomizerTests { @Test void buildSourceDirectoriesAreConfigured() { MavenBuild build = new MavenBuild(); - new KotlinMavenBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")) - .customize(build); - assertThat(build.getSourceDirectory()) - .isEqualTo("${project.basedir}/src/main/kotlin"); - assertThat(build.getTestSourceDirectory()) - .isEqualTo("${project.basedir}/src/test/kotlin"); + new KotlinMavenBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build); + assertThat(build.getSourceDirectory()).isEqualTo("${project.basedir}/src/main/kotlin"); + assertThat(build.getTestSourceDirectory()).isEqualTo("${project.basedir}/src/test/kotlin"); } @Test void kotlinMavenPluginIsConfigured() { MavenBuild build = new MavenBuild(); - new KotlinMavenBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")) - .customize(build); + new KotlinMavenBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build); assertThat(build.getPlugins()).hasSize(1); MavenPlugin kotlinPlugin = build.getPlugins().get(0); assertThat(kotlinPlugin.getGroupId()).isEqualTo("org.jetbrains.kotlin"); @@ -71,14 +66,12 @@ class KotlinMavenBuildCustomizerTests { Setting args = configuration.getSettings().get(0); assertThat(args.getName()).isEqualTo("args"); assertThat(args.getValue()).asList().hasSize(1); - assertThat(args.getValue()).asList().element(0) - .hasFieldOrPropertyWithValue("name", "arg") + assertThat(args.getValue()).asList().element(0).hasFieldOrPropertyWithValue("name", "arg") .hasFieldOrPropertyWithValue("value", "-Xjsr305=strict"); Setting compilerPlugins = configuration.getSettings().get(1); assertThat(compilerPlugins.getName()).isEqualTo("compilerPlugins"); assertThat(compilerPlugins.getValue()).asList().hasSize(1); - assertThat(compilerPlugins.getValue()).asList().element(0) - .hasFieldOrPropertyWithValue("name", "plugin") + assertThat(compilerPlugins.getValue()).asList().element(0).hasFieldOrPropertyWithValue("name", "plugin") .hasFieldOrPropertyWithValue("value", "spring"); assertThat(kotlinPlugin.getExecutions()).isEmpty(); assertThat(kotlinPlugin.getDependencies()).hasSize(1); @@ -96,11 +89,9 @@ class KotlinMavenBuildCustomizerTests { Setting args = configuration.getSettings().get(0); assertThat(args.getName()).isEqualTo("args"); assertThat(args.getValue()).asList().hasSize(2); - assertThat(args.getValue()).asList().element(0) - .hasFieldOrPropertyWithValue("name", "arg") + assertThat(args.getValue()).asList().element(0).hasFieldOrPropertyWithValue("name", "arg") .hasFieldOrPropertyWithValue("value", "-Done=1"); - assertThat(args.getValue()).asList().element(1) - .hasFieldOrPropertyWithValue("name", "arg") + assertThat(args.getValue()).asList().element(1).hasFieldOrPropertyWithValue("name", "arg") .hasFieldOrPropertyWithValue("value", "-Dtwo=2"); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenFullBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenFullBuildCustomizerTests.java index d7949c88..13c0b70d 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenFullBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinMavenFullBuildCustomizerTests.java @@ -36,8 +36,7 @@ class KotlinMavenFullBuildCustomizerTests { @Test void kotlinVersionPropertyIsConfigured() { MavenBuild build = new MavenBuild(); - new KotlinMavenFullBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")) - .customize(build); + new KotlinMavenFullBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build); assertThat(build.getProperties()).hasSize(1); assertThat(build.getProperties()).containsEntry("kotlin.version", "1.2.70"); } @@ -45,19 +44,15 @@ class KotlinMavenFullBuildCustomizerTests { @Test void buildSourceDirectoriesAreConfigured() { MavenBuild build = new MavenBuild(); - new KotlinMavenFullBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")) - .customize(build); - assertThat(build.getSourceDirectory()) - .isEqualTo("${project.basedir}/src/main/kotlin"); - assertThat(build.getTestSourceDirectory()) - .isEqualTo("${project.basedir}/src/test/kotlin"); + new KotlinMavenFullBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build); + assertThat(build.getSourceDirectory()).isEqualTo("${project.basedir}/src/main/kotlin"); + assertThat(build.getTestSourceDirectory()).isEqualTo("${project.basedir}/src/test/kotlin"); } @Test void kotlinMavenPluginIsConfigured() { MavenBuild build = new MavenBuild(); - new KotlinMavenFullBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")) - .customize(build); + new KotlinMavenFullBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build); assertThat(build.getPlugins()).hasSize(1); MavenPlugin kotlinPlugin = build.getPlugins().get(0); assertThat(kotlinPlugin.getGroupId()).isEqualTo("org.jetbrains.kotlin"); @@ -69,14 +64,12 @@ class KotlinMavenFullBuildCustomizerTests { Setting args = configuration.getSettings().get(0); assertThat(args.getName()).isEqualTo("args"); assertThat(args.getValue()).asList().hasSize(1); - assertThat(args.getValue()).asList().element(0) - .hasFieldOrPropertyWithValue("name", "arg") + assertThat(args.getValue()).asList().element(0).hasFieldOrPropertyWithValue("name", "arg") .hasFieldOrPropertyWithValue("value", "-Xjsr305=strict"); Setting compilerPlugins = configuration.getSettings().get(1); assertThat(compilerPlugins.getName()).isEqualTo("compilerPlugins"); assertThat(compilerPlugins.getValue()).asList().hasSize(1); - assertThat(compilerPlugins.getValue()).asList().element(0) - .hasFieldOrPropertyWithValue("name", "plugin") + assertThat(compilerPlugins.getValue()).asList().element(0).hasFieldOrPropertyWithValue("name", "plugin") .hasFieldOrPropertyWithValue("value", "spring"); Setting jvmTarget = configuration.getSettings().get(2); assertThat(jvmTarget.getName()).isEqualTo("jvmTarget"); diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfigurationTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfigurationTests.java index 618a89b2..aa31d53e 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfigurationTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfigurationTests.java @@ -48,8 +48,7 @@ class KotlinProjectGenerationConfigurationTests { .withConfiguration(SourceCodeProjectGenerationConfiguration.class, KotlinProjectGenerationConfiguration.class) .withDirectory(directory) - .withBean(KotlinProjectSettings.class, - () -> new SimpleKotlinProjectSettings("1.2.70")) + .withBean(KotlinProjectSettings.class, () -> new SimpleKotlinProjectSettings("1.2.70")) .withDescriptionCustomizer((description) -> { description.setLanguage(new KotlinLanguage()); if (description.getPlatformVersion() == null) { @@ -61,8 +60,7 @@ class KotlinProjectGenerationConfigurationTests { @Test void mainClassIsContributedWhenGeneratingProject() { - ProjectStructure projectStructure = this.projectTester - .generate(new ProjectDescription()); + ProjectStructure projectStructure = this.projectTester.generate(new ProjectDescription()); assertThat(projectStructure.getRelativePathsOfProjectFiles()) .contains("src/main/kotlin/com/example/demo/DemoApplication.kt"); } @@ -74,15 +72,12 @@ class KotlinProjectGenerationConfigurationTests { ProjectStructure projectStructure = this.projectTester.generate(description); assertThat(projectStructure.getRelativePathsOfProjectFiles()) .contains("src/test/kotlin/com/example/demo/DemoApplicationTests.kt"); - List lines = projectStructure - .readAllLines("src/test/kotlin/com/example/demo/DemoApplicationTests.kt"); - assertThat(lines).containsExactly("package com.example.demo", "", - "import org.junit.Test", "import org.junit.runner.RunWith", - "import org.springframework.boot.test.context.SpringBootTest", - "import org.springframework.test.context.junit4.SpringRunner", "", - "@RunWith(SpringRunner::class)", "@SpringBootTest", - "class DemoApplicationTests {", "", " @Test", - " fun contextLoads() {", " }", "", "}"); + List lines = projectStructure.readAllLines("src/test/kotlin/com/example/demo/DemoApplicationTests.kt"); + assertThat(lines).containsExactly("package com.example.demo", "", "import org.junit.Test", + "import org.junit.runner.RunWith", "import org.springframework.boot.test.context.SpringBootTest", + "import org.springframework.test.context.junit4.SpringRunner", "", "@RunWith(SpringRunner::class)", + "@SpringBootTest", "class DemoApplicationTests {", "", " @Test", " fun contextLoads() {", " }", + "", "}"); } @Test @@ -92,13 +87,10 @@ class KotlinProjectGenerationConfigurationTests { ProjectStructure projectStructure = this.projectTester.generate(description); assertThat(projectStructure.getRelativePathsOfProjectFiles()) .contains("src/test/kotlin/com/example/demo/DemoApplicationTests.kt"); - List lines = projectStructure - .readAllLines("src/test/kotlin/com/example/demo/DemoApplicationTests.kt"); - assertThat(lines).containsExactly("package com.example.demo", "", - "import org.junit.jupiter.api.Test", - "import org.springframework.boot.test.context.SpringBootTest", "", - "@SpringBootTest", "class DemoApplicationTests {", "", " @Test", - " fun contextLoads() {", " }", "", "}"); + List lines = projectStructure.readAllLines("src/test/kotlin/com/example/demo/DemoApplicationTests.kt"); + assertThat(lines).containsExactly("package com.example.demo", "", "import org.junit.jupiter.api.Test", + "import org.springframework.boot.test.context.SpringBootTest", "", "@SpringBootTest", + "class DemoApplicationTests {", "", " @Test", " fun contextLoads() {", " }", "", "}"); } @Test @@ -109,15 +101,13 @@ class KotlinProjectGenerationConfigurationTests { ProjectStructure projectStructure = this.projectTester.generate(description); assertThat(projectStructure.getRelativePathsOfProjectFiles()) .contains("src/main/kotlin/com/example/demo/ServletInitializer.kt"); - List lines = projectStructure - .readAllLines("src/main/kotlin/com/example/demo/ServletInitializer.kt"); + List lines = projectStructure.readAllLines("src/main/kotlin/com/example/demo/ServletInitializer.kt"); assertThat(lines).containsExactly("package com.example.demo", "", "import org.springframework.boot.builder.SpringApplicationBuilder", - "import org.springframework.boot.web.servlet.support.SpringBootServletInitializer", - "", "class ServletInitializer : SpringBootServletInitializer() {", "", + "import org.springframework.boot.web.servlet.support.SpringBootServletInitializer", "", + "class ServletInitializer : SpringBootServletInitializer() {", "", " override fun configure(application: SpringApplicationBuilder): SpringApplicationBuilder {", - " return application.sources(KotlinDemoApplication::class.java)", - " }", "", "}"); + " return application.sources(KotlinDemoApplication::class.java)", " }", "", "}"); } } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/ApplicationPropertiesContributorTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/ApplicationPropertiesContributorTests.java index 6a0f5065..75867722 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/ApplicationPropertiesContributorTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/ApplicationPropertiesContributorTests.java @@ -41,8 +41,7 @@ class ApplicationPropertiesContributorTests { void applicationConfigurationWithDefaultSettings() throws IOException { Path projectDir = Files.createTempDirectory(this.directory, "project-"); new ApplicationPropertiesContributor().contribute(projectDir); - List lines = new ProjectStructure(projectDir) - .readAllLines("src/main/resources/application.properties"); + List lines = new ProjectStructure(projectDir).readAllLines("src/main/resources/application.properties"); assertThat(lines).isEmpty(); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributorTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributorTests.java index ed66f010..0369c314 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributorTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributorTests.java @@ -49,10 +49,8 @@ class WebFoldersContributorTests { @Test void webFoldersCreatedWithWebDependency() throws IOException { - Dependency simple = Dependency.withId("simple", "com.example", "simple", null, - Dependency.SCOPE_COMPILE); - Dependency web = Dependency.withId("web", "com.example", "web", null, - Dependency.SCOPE_COMPILE); + Dependency simple = Dependency.withId("simple", "com.example", "simple", null, Dependency.SCOPE_COMPILE); + Dependency web = Dependency.withId("web", "com.example", "web", null, Dependency.SCOPE_COMPILE); web.setFacets(Collections.singletonList("web")); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", simple, web).build(); @@ -66,10 +64,8 @@ class WebFoldersContributorTests { @Test void webFoldersNotCreatedWithoutWebDependency() throws IOException { - Dependency simple = Dependency.withId("simple", "com.example", "simple", null, - Dependency.SCOPE_COMPILE); - Dependency web = Dependency.withId("web", "com.example", "web", null, - Dependency.SCOPE_COMPILE); + Dependency simple = Dependency.withId("simple", "com.example", "simple", null, Dependency.SCOPE_COMPILE); + Dependency web = Dependency.withId("web", "com.example", "web", null, Dependency.SCOPE_COMPILE); web.setFacets(Collections.singletonList("web")); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", simple, web).build(); @@ -81,8 +77,7 @@ class WebFoldersContributorTests { } private Build createBuild(InitializrMetadata metadata) { - return new MavenBuild( - new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); + return new MavenBuild(new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); } private Path contribute(Build build, InitializrMetadata metadata) throws IOException { diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectContributorTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectContributorTests.java index bd85e440..bcd512e3 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectContributorTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectContributorTests.java @@ -63,9 +63,8 @@ class HelpDocumentProjectContributorTests { .addGuideLink("https://test2.example.com", "test2"); List lines = generateDocument(document); assertThat(lines).containsExactly("# Getting Started", "", "### Guides", - "The following guides illustrate how to use some features concretely:", - "", "* [test](https://test.example.com)", - "* [test2](https://test2.example.com)"); + "The following guides illustrate how to use some features concretely:", "", + "* [test](https://test.example.com)", "* [test2](https://test2.example.com)"); } @Test @@ -74,29 +73,24 @@ class HelpDocumentProjectContributorTests { document.gettingStarted().addReferenceDocLink("https://test.example.com", "doc") .addReferenceDocLink("https://test2.example.com", "doc2"); List lines = generateDocument(document); - assertThat(lines).containsExactly("# Getting Started", "", - "### Reference Documentation", + assertThat(lines).containsExactly("# Getting Started", "", "### Reference Documentation", "For further reference, please consider the following sections:", "", - "* [doc](https://test.example.com)", - "* [doc2](https://test2.example.com)"); + "* [doc](https://test.example.com)", "* [doc2](https://test2.example.com)"); } @Test void helpDocumentWithLinksToOtherLinks() throws IOException { HelpDocument document = new HelpDocument(this.templateRenderer); - document.gettingStarted().addAdditionalLink("https://test.example.com", - "Something"); + document.gettingStarted().addAdditionalLink("https://test.example.com", "Something"); List lines = generateDocument(document); assertThat(lines).containsExactly("# Getting Started", "", "### Additional Links", - "These additional references should also help you:", "", - "* [Something](https://test.example.com)"); + "These additional references should also help you:", "", "* [Something](https://test.example.com)"); } @Test void helpDocumentWithSimpleSection() throws IOException { HelpDocument document = new HelpDocument(this.templateRenderer); - document.addSection((writer) -> writer - .println(String.format("# My test section%n%n * Test"))); + document.addSection((writer) -> writer.println(String.format("# My test section%n%n * Test"))); List lines = generateDocument(document); assertThat(lines).containsExactly("# My test section", "", " * Test"); } @@ -105,13 +99,11 @@ class HelpDocumentProjectContributorTests { void helpDocumentWithLinksAndSimpleSection() throws IOException { HelpDocument document = new HelpDocument(this.templateRenderer); document.gettingStarted().addGuideLink("https://test.example.com", "test") - .addSection((writer) -> writer - .println(String.format("# My test section%n%n * Test"))); + .addSection((writer) -> writer.println(String.format("# My test section%n%n * Test"))); List lines = generateDocument(document); assertThat(lines).containsExactly("# Getting Started", "", "### Guides", - "The following guides illustrate how to use some features concretely:", - "", "* [test](https://test.example.com)", "", "# My test section", "", - " * Test"); + "The following guides illustrate how to use some features concretely:", "", + "* [test](https://test.example.com)", "", "# My test section", "", " * Test"); } private List generateDocument(HelpDocument document) throws IOException { diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfigurationTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfigurationTests.java index 321ff483..98c3288a 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfigurationTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfigurationTests.java @@ -42,38 +42,31 @@ class HelpDocumentProjectGenerationConfigurationTests { private ProjectAssetTester projectTester; - private InitializrMetadataTestBuilder metadataBuilder = InitializrMetadataTestBuilder - .withDefaults(); + private InitializrMetadataTestBuilder metadataBuilder = InitializrMetadataTestBuilder.withDefaults(); @BeforeEach void setup(@TempDir Path directory) { this.projectTester = new ProjectAssetTester() .withConfiguration(HelpDocumentProjectGenerationConfiguration.class) - .withBean(MustacheTemplateRenderer.class, - () -> new MustacheTemplateRenderer("classpath:/templates")) - .withBean(InitializrMetadata.class, () -> this.metadataBuilder.build()) - .withDirectory(directory); + .withBean(MustacheTemplateRenderer.class, () -> new MustacheTemplateRenderer("classpath:/templates")) + .withBean(InitializrMetadata.class, () -> this.metadataBuilder.build()).withDirectory(directory); } @Test void helpDocumentIsNotContributedWithoutLinks() { - assertThat(this.projectTester.generate(new ProjectDescription()) - .getRelativePathsOfProjectFiles()).isEmpty(); + assertThat(this.projectTester.generate(new ProjectDescription()).getRelativePathsOfProjectFiles()).isEmpty(); } @Test void helpDocumentIsContributedWithLinks() { Dependency dependency = Dependency.withId("example", "com.example", "example"); - dependency.getLinks().add( - Link.create("guide", "https://example.com/how-to", "How-to example")); - dependency.getLinks().add(Link.create("reference", "https://example.com/doc", - "Reference doc example")); + dependency.getLinks().add(Link.create("guide", "https://example.com/how-to", "How-to example")); + dependency.getLinks().add(Link.create("reference", "https://example.com/doc", "Reference doc example")); this.metadataBuilder.addDependencyGroup("test", dependency); ProjectDescription description = new ProjectDescription(); description.addDependency("example", null); ProjectStructure projectStructure = this.projectTester.generate(description); - assertThat(projectStructure.getRelativePathsOfProjectFiles()) - .containsOnly("HELP.md"); + assertThat(projectStructure.getRelativePathsOfProjectFiles()).containsOnly("HELP.md"); } @Test @@ -81,8 +74,7 @@ class HelpDocumentProjectGenerationConfigurationTests { ProjectDescription description = new ProjectDescription(); GitIgnoreCustomizer gitIgnoreCustomizer = this.projectTester.generate(description, (context) -> context.getBean(GitIgnoreCustomizer.class)); - assertThat(gitIgnoreCustomizer) - .isInstanceOf(HelpDocumentGitIgnoreCustomizer.class); + assertThat(gitIgnoreCustomizer).isInstanceOf(HelpDocumentGitIgnoreCustomizer.class); } } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentTests.java index 9a9e40fc..dff34da8 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/HelpDocumentTests.java @@ -34,8 +34,7 @@ import static org.mockito.Mockito.verifyZeroInteractions; */ class HelpDocumentTests { - private final MustacheTemplateRenderer templateRenderer = new MustacheTemplateRenderer( - "classpath:/templates"); + private final MustacheTemplateRenderer templateRenderer = new MustacheTemplateRenderer("classpath:/templates"); @Test void renderEmptyDocumentDoesNotCallWriter() throws IOException { @@ -63,20 +62,17 @@ class HelpDocumentTests { assertThat(out).contains("# Getting Started", "", "### Reference Documentation", "For further reference, please consider the following sections:", "", "* [Doc](https://example.com/doc)", "", "### Guides", - "The following guides illustrate how to use some features concretely:", - "", "* [Guide 1](https://example.com/guide-1)", - "* [Guide 2](https://example.com/guide-2)", ""); + "The following guides illustrate how to use some features concretely:", "", + "* [Guide 1](https://example.com/guide-1)", "* [Guide 2](https://example.com/guide-2)", ""); } @Test void renderOnlyAdditionalLink() { HelpDocument document = new HelpDocument(this.templateRenderer); - document.gettingStarted().addAdditionalLink("https://example.com/app", - "Test App"); + document.gettingStarted().addAdditionalLink("https://example.com/app", "Test App"); String out = write(document); assertThat(out).contains("# Getting Started", "", "### Additional Links", - "These additional references should also help you:", "", - "* [Test App](https://example.com/app)", ""); + "These additional references should also help you:", "", "* [Test App](https://example.com/app)", ""); } private String write(HelpDocument document) { diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/RequestedDependenciesHelpDocumentCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/RequestedDependenciesHelpDocumentCustomizerTests.java index 2baabaf7..4b32ccd8 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/RequestedDependenciesHelpDocumentCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/documentation/RequestedDependenciesHelpDocumentCustomizerTests.java @@ -36,8 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat; */ class RequestedDependenciesHelpDocumentCustomizerTests { - private final InitializrMetadataTestBuilder metadataBuilder = InitializrMetadataTestBuilder - .withDefaults(); + private final InitializrMetadataTestBuilder metadataBuilder = InitializrMetadataTestBuilder.withDefaults(); @Test void dependencyLinkWithNoDescriptionIsIgnored() { @@ -51,13 +50,11 @@ class RequestedDependenciesHelpDocumentCustomizerTests { @Test void dependencyWithReferenceDocLink() { Dependency dependency = Dependency.withId("example", "com.example", "example"); - dependency.getLinks().add(Link.create("reference", "https://example.com/doc", - "Reference doc example")); + dependency.getLinks().add(Link.create("reference", "https://example.com/doc", "Reference doc example")); this.metadataBuilder.addDependencyGroup("test", dependency); HelpDocument document = customizeHelp("example"); assertThat(document.gettingStarted().isEmpty()).isFalse(); - List links = document.gettingStarted().referenceDocs() - .getItems(); + List links = document.gettingStarted().referenceDocs().getItems(); assertThat(links).hasSize(1); assertLink(links.get(0), "https://example.com/doc", "Reference doc example"); } @@ -65,13 +62,11 @@ class RequestedDependenciesHelpDocumentCustomizerTests { @Test void dependencyWithGuideLink() { Dependency dependency = Dependency.withId("example", "com.example", "example"); - dependency.getLinks().add( - Link.create("guide", "https://example.com/how-to", "How-to example")); + dependency.getLinks().add(Link.create("guide", "https://example.com/how-to", "How-to example")); this.metadataBuilder.addDependencyGroup("test", dependency); HelpDocument document = customizeHelp("example"); assertThat(document.gettingStarted().isEmpty()).isFalse(); - List links = document.gettingStarted().guides() - .getItems(); + List links = document.gettingStarted().guides().getItems(); assertThat(links).hasSize(1); assertLink(links.get(0), "https://example.com/how-to", "How-to example"); } @@ -79,19 +74,16 @@ class RequestedDependenciesHelpDocumentCustomizerTests { @Test void dependencyWithAdditionalLink() { Dependency dependency = Dependency.withId("example", "com.example", "example"); - dependency.getLinks() - .add(Link.create("something", "https://example.com/test", "Test App")); + dependency.getLinks().add(Link.create("something", "https://example.com/test", "Test App")); this.metadataBuilder.addDependencyGroup("test", dependency); HelpDocument document = customizeHelp("example"); assertThat(document.gettingStarted().isEmpty()).isFalse(); - List links = document.gettingStarted() - .additionalLinks().getItems(); + List links = document.gettingStarted().additionalLinks().getItems(); assertThat(links).hasSize(1); assertLink(links.get(0), "https://example.com/test", "Test App"); } - private void assertLink(GettingStartedSection.Link link, String href, - String description) { + private void assertLink(GettingStartedSection.Link link, String href, String description) { assertThat(link.getHref()).isEqualTo(href); assertThat(link.getDescription()).isEqualTo(description); } @@ -102,11 +94,9 @@ class RequestedDependenciesHelpDocumentCustomizerTests { description.addDependency(requestedDependency, null); } InitializrMetadata metadata = this.metadataBuilder.build(); - HelpDocument document = new HelpDocument( - new MustacheTemplateRenderer("classpath:/templates")); - new RequestedDependenciesHelpDocumentCustomizer( - new ResolvedProjectDescription(description), metadata) - .customize(document); + HelpDocument document = new HelpDocument(new MustacheTemplateRenderer("classpath:/templates")); + new RequestedDependenciesHelpDocumentCustomizer(new ResolvedProjectDescription(description), metadata) + .customize(document); return document; } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/scm/git/GitProjectGenerationConfigurationTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/scm/git/GitProjectGenerationConfigurationTests.java index e0f6e17f..30b8b775 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/scm/git/GitProjectGenerationConfigurationTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/scm/git/GitProjectGenerationConfigurationTests.java @@ -46,13 +46,11 @@ class GitProjectGenerationConfigurationTests { void gitIgnoreIsContributedToProject(@TempDir Path directory) { ProjectDescription description = new ProjectDescription(); description.setBuildSystem(new GradleBuildSystem()); - Path projectDirectory = this.projectTester.withDirectory(directory) - .generate(description, (context) -> { - GitIgnoreContributor contributor = context - .getBean(GitIgnoreContributor.class); - contributor.contribute(directory); - return directory; - }); + Path projectDirectory = this.projectTester.withDirectory(directory).generate(description, (context) -> { + GitIgnoreContributor contributor = context.getBean(GitIgnoreContributor.class); + contributor.contribute(directory); + return directory; + }); assertThat(projectDirectory.resolve(".gitignore")).isRegularFile(); } @@ -60,8 +58,8 @@ class GitProjectGenerationConfigurationTests { void gitIgnore() { ProjectDescription description = new ProjectDescription(); description.setBuildSystem(new GradleBuildSystem()); - assertThat(generateGitIgnore(description)).contains("### STS ###", - "### IntelliJ IDEA ###", "### NetBeans ###", "### VS Code ###"); + assertThat(generateGitIgnore(description)).contains("### STS ###", "### IntelliJ IDEA ###", "### NetBeans ###", + "### VS Code ###"); } @Test @@ -70,8 +68,7 @@ class GitProjectGenerationConfigurationTests { description.setBuildSystem(new GradleBuildSystem()); description.setPlatformVersion(Version.parse("2.1.0.RELEASE")); assertThat(generateGitIgnore(description)) - .contains(".gradle", "/build/", "!gradle/wrapper/gradle-wrapper.jar", - "/out/") + .contains(".gradle", "/build/", "!gradle/wrapper/gradle-wrapper.jar", "/out/") .doesNotContain("/target/", "!.mvn/wrapper/maven-wrapper.jar"); } @@ -80,8 +77,7 @@ class GitProjectGenerationConfigurationTests { ProjectDescription description = new ProjectDescription(); description.setBuildSystem(new MavenBuildSystem()); description.setPlatformVersion(Version.parse("2.1.0.RELEASE")); - assertThat(generateGitIgnore(description)) - .contains("/target/", "!.mvn/wrapper/maven-wrapper.jar") + assertThat(generateGitIgnore(description)).contains("/target/", "!.mvn/wrapper/maven-wrapper.jar") .doesNotContain(".gradle", "!gradle/wrapper/gradle-wrapper.jar", "/out/"); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/InitializrMetadataTestBuilder.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/InitializrMetadataTestBuilder.java index 8de7c6a8..c60a481a 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/InitializrMetadataTestBuilder.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/InitializrMetadataTestBuilder.java @@ -68,8 +68,7 @@ public class InitializrMetadataTestBuilder { return this; } - public InitializrMetadataTestBuilder addDependencyGroup(String name, - Dependency... dependencies) { + public InitializrMetadataTestBuilder addDependencyGroup(String name, Dependency... dependencies) { this.builder.withCustomizer((it) -> { DependencyGroup group = new DependencyGroup(); group.setName(name); @@ -84,8 +83,8 @@ public class InitializrMetadataTestBuilder { } public InitializrMetadataTestBuilder addBasicDefaults() { - return addDefaultTypes().addDefaultPackagings().addDefaultJavaVersions() - .addDefaultLanguages().addDefaultBootVersions(); + return addDefaultTypes().addDefaultPackagings().addDefaultJavaVersions().addDefaultLanguages() + .addDefaultBootVersions(); } public InitializrMetadataTestBuilder addDefaultTypes() { @@ -95,8 +94,8 @@ public class InitializrMetadataTestBuilder { .addType("gradle-project", false, "/starter.zip", "gradle", "project"); } - public InitializrMetadataTestBuilder addType(String id, boolean defaultValue, - String action, String build, String format) { + public InitializrMetadataTestBuilder addType(String id, boolean defaultValue, String action, String build, + String format) { Type type = new Type(); type.setId(id); type.setName(id); @@ -132,12 +131,10 @@ public class InitializrMetadataTestBuilder { } public InitializrMetadataTestBuilder addDefaultJavaVersions() { - return addJavaVersion("1.6", false).addJavaVersion("1.7", false) - .addJavaVersion("1.8", true); + return addJavaVersion("1.6", false).addJavaVersion("1.7", false).addJavaVersion("1.8", true); } - public InitializrMetadataTestBuilder addJavaVersion(String version, - boolean defaultValue) { + public InitializrMetadataTestBuilder addJavaVersion(String version, boolean defaultValue) { this.builder.withCustomizer((it) -> { DefaultMetadataElement element = new DefaultMetadataElement(); element.setId(version); @@ -149,8 +146,7 @@ public class InitializrMetadataTestBuilder { } public InitializrMetadataTestBuilder addDefaultLanguages() { - return addLanguage("java", true).addLanguage("groovy", false) - .addLanguage("kotlin", false); + return addLanguage("java", true).addLanguage("groovy", false).addLanguage("kotlin", false); } public InitializrMetadataTestBuilder addLanguage(String id, boolean defaultValue) { @@ -165,10 +161,8 @@ public class InitializrMetadataTestBuilder { } public InitializrMetadataTestBuilder addDefaultBootVersions() { - return addBootVersion("1.5.17.RELEASE", false) - .addBootVersion("2.0.3.RELEASE", false) - .addBootVersion("2.1.1.RELEASE", true) - .addBootVersion("2.2.0.BUILD-SNAPSHOT", false); + return addBootVersion("1.5.17.RELEASE", false).addBootVersion("2.0.3.RELEASE", false) + .addBootVersion("2.1.1.RELEASE", true).addBootVersion("2.2.0.BUILD-SNAPSHOT", false); } public InitializrMetadataTestBuilder addBootVersion(String id, boolean defaultValue) { @@ -182,30 +176,25 @@ public class InitializrMetadataTestBuilder { return this; } - public InitializrMetadataTestBuilder addBom(String id, String groupId, - String artifactId, String version) { + public InitializrMetadataTestBuilder addBom(String id, String groupId, String artifactId, String version) { BillOfMaterials bom = BillOfMaterials.create(groupId, artifactId, version); return addBom(id, bom); } public InitializrMetadataTestBuilder addBom(String id, BillOfMaterials bom) { - this.builder.withCustomizer( - (it) -> it.getConfiguration().getEnv().getBoms().put(id, bom)); + this.builder.withCustomizer((it) -> it.getConfiguration().getEnv().getBoms().put(id, bom)); return this; } - public InitializrMetadataTestBuilder setGradleEnv( - String dependencyManagementPluginVersion) { + public InitializrMetadataTestBuilder setGradleEnv(String dependencyManagementPluginVersion) { this.builder.withCustomizer((it) -> it.getConfiguration().getEnv().getGradle() .setDependencyManagementPluginVersion(dependencyManagementPluginVersion)); return this; } - public InitializrMetadataTestBuilder setKotlinEnv(String defaultKotlinVersion, - Kotlin.Mapping... mappings) { + public InitializrMetadataTestBuilder setKotlinEnv(String defaultKotlinVersion, Kotlin.Mapping... mappings) { this.builder.withCustomizer((it) -> { - it.getConfiguration().getEnv().getKotlin() - .setDefaultVersion(defaultKotlinVersion); + it.getConfiguration().getEnv().getKotlin().setDefaultVersion(defaultKotlinVersion); for (Kotlin.Mapping mapping : mappings) { it.getConfiguration().getEnv().getKotlin().getMappings().add(mapping); } @@ -213,8 +202,8 @@ public class InitializrMetadataTestBuilder { return this; } - public InitializrMetadataTestBuilder setMavenParent(String groupId, String artifactId, - String version, boolean includeSpringBootBom) { + public InitializrMetadataTestBuilder setMavenParent(String groupId, String artifactId, String version, + boolean includeSpringBootBom) { this.builder.withCustomizer((it) -> { ParentPom parent = it.getConfiguration().getEnv().getMaven().getParent(); parent.setGroupId(groupId); @@ -225,8 +214,7 @@ public class InitializrMetadataTestBuilder { return this; } - public InitializrMetadataTestBuilder addRepository(String id, String name, String url, - boolean snapshotsEnabled) { + public InitializrMetadataTestBuilder addRepository(String id, String name, String url, boolean snapshotsEnabled) { this.builder.withCustomizer((it) -> { Repository repo = new Repository(); repo.setName(name); diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/ProjectAssert.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/ProjectAssert.java index 2284f240..1fc7b977 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/ProjectAssert.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/ProjectAssert.java @@ -69,8 +69,8 @@ public class ProjectAssert { */ public ProjectAssert hasBaseDir(String name) { Path projectDir = this.projectStructure.resolve(name); - assertThat(projectDir).describedAs("No directory %s found in %s", name, - this.projectStructure.getProjectDirectory()).exists(); + assertThat(projectDir) + .describedAs("No directory %s found in %s", name, this.projectStructure.getProjectDirectory()).exists(); assertThat(projectDir).isDirectory(); // Replacing the root dir so that other assertions match the root return new ProjectAssert(projectDir); @@ -81,8 +81,7 @@ public class ProjectAssert { * @return a POM assert */ public PomAssert pomAssert() { - return new PomAssert( - TextTestUtils.readContent(this.projectStructure.resolve("pom.xml"))); + return new PomAssert(TextTestUtils.readContent(this.projectStructure.resolve("pom.xml"))); } /** @@ -90,8 +89,7 @@ public class ProjectAssert { * @return a gradle assert */ public GradleBuildAssert gradleBuildAssert() { - return new GradleBuildAssert( - TextTestUtils.readContent(this.projectStructure.resolve("build.gradle"))); + return new GradleBuildAssert(TextTestUtils.readContent(this.projectStructure.resolve("build.gradle"))); } /** @@ -99,8 +97,7 @@ public class ProjectAssert { * @return A gradle settings assert */ public GradleSettingsAssert gradleSettingsAssert() { - return new GradleSettingsAssert(TextTestUtils - .readContent(this.projectStructure.resolve("settings.gradle"))); + return new GradleSettingsAssert(TextTestUtils.readContent(this.projectStructure.resolve("settings.gradle"))); } /** @@ -116,8 +113,7 @@ public class ProjectAssert { public ProjectAssert isMavenProject() { hasFile("pom.xml").hasNoFile("build.gradle"); - hasFile("mvnw", "mvnw.cmd", ".mvn/wrapper/maven-wrapper.properties", - ".mvn/wrapper/maven-wrapper.jar"); + hasFile("mvnw", "mvnw.cmd", ".mvn/wrapper/maven-wrapper.properties", ".mvn/wrapper/maven-wrapper.jar"); return this; } @@ -126,8 +122,7 @@ public class ProjectAssert { hasFile("gradlew", "gradlew.bat", "gradle/wrapper/gradle-wrapper.properties", "gradle/wrapper/gradle-wrapper.jar"); if (StringUtils.hasText(version)) { - Properties properties = properties( - "gradle/wrapper/gradle-wrapper.properties"); + Properties properties = properties("gradle/wrapper/gradle-wrapper.properties"); String distributionUrl = properties.getProperty("distributionUrl"); assertThat(distributionUrl).contains(version); } @@ -138,26 +133,20 @@ public class ProjectAssert { return isGradleProject(null); } - public ProjectAssert isJavaProject(String expectedPackageName, - String expectedApplicationName) { - return isGenericProject(expectedPackageName, expectedApplicationName, "java", - "java"); + public ProjectAssert isJavaProject(String expectedPackageName, String expectedApplicationName) { + return isGenericProject(expectedPackageName, expectedApplicationName, "java", "java"); } public ProjectAssert isJavaProject() { return isJavaProject(DEFAULT_PACKAGE_NAME, DEFAULT_APPLICATION_NAME); } - public ProjectAssert isGroovyProject(String expectedPackageName, - String expectedApplicationName) { - return isGenericProject(expectedPackageName, expectedApplicationName, "groovy", - "groovy"); + public ProjectAssert isGroovyProject(String expectedPackageName, String expectedApplicationName) { + return isGenericProject(expectedPackageName, expectedApplicationName, "groovy", "groovy"); } - public ProjectAssert isKotlinProject(String expectedPackageName, - String expectedApplicationName) { - return isGenericProject(expectedPackageName, expectedApplicationName, "kotlin", - "kt"); + public ProjectAssert isKotlinProject(String expectedPackageName, String expectedApplicationName) { + return isGenericProject(expectedPackageName, expectedApplicationName, "kotlin", "kt"); } public ProjectAssert isGroovyProject() { @@ -168,33 +157,28 @@ public class ProjectAssert { return isKotlinProject(DEFAULT_PACKAGE_NAME, DEFAULT_APPLICATION_NAME); } - public ProjectAssert isGenericProject(String expectedPackageName, - String expectedApplicationName, String codeLocation, String extension) { + public ProjectAssert isGenericProject(String expectedPackageName, String expectedApplicationName, + String codeLocation, String extension) { String packageName = expectedPackageName.replace(".", "/"); - return hasFile( - "src/main/" + codeLocation + "/" + packageName + "/" - + expectedApplicationName + "." + extension, - "src/test/" + codeLocation + "/" + packageName + "/" - + expectedApplicationName + "Tests." + extension, + return hasFile("src/main/" + codeLocation + "/" + packageName + "/" + expectedApplicationName + "." + extension, + "src/test/" + codeLocation + "/" + packageName + "/" + expectedApplicationName + "Tests." + extension, "src/main/resources/application.properties"); } public ProjectAssert isJavaWarProject(String expectedApplicationName) { - return isGenericWarProject(DEFAULT_PACKAGE_NAME, expectedApplicationName, "java", - "java"); + return isGenericWarProject(DEFAULT_PACKAGE_NAME, expectedApplicationName, "java", "java"); } public ProjectAssert isJavaWarProject() { return isJavaWarProject(DEFAULT_APPLICATION_NAME); } - public ProjectAssert isGenericWarProject(String expectedPackageName, - String expectedApplicationName, String codeLocation, String extension) { + public ProjectAssert isGenericWarProject(String expectedPackageName, String expectedApplicationName, + String codeLocation, String extension) { String packageName = expectedPackageName.replace(".", "/"); - return isGenericProject(expectedPackageName, expectedApplicationName, - codeLocation, extension).hasStaticAndTemplatesResources(true) - .hasFile("src/main/" + codeLocation + "/" + packageName - + "/ServletInitializer." + extension); + return isGenericProject(expectedPackageName, expectedApplicationName, codeLocation, extension) + .hasStaticAndTemplatesResources(true) + .hasFile("src/main/" + codeLocation + "/" + packageName + "/ServletInitializer." + extension); } public ProjectAssert hasStaticAndTemplatesResources(boolean web) { @@ -203,8 +187,7 @@ public class ProjectAssert { } public ProjectAssert hasFile(String... localPaths) { - assertThat(this.projectStructure.getRelativePathsOfProjectFiles()) - .contains(localPaths); + assertThat(this.projectStructure.getRelativePathsOfProjectFiles()).contains(localPaths); return this; } @@ -216,15 +199,13 @@ public class ProjectAssert { } public ProjectAssert hasNoFile(String... localPaths) { - assertThat(this.projectStructure.getRelativePathsOfProjectFiles()) - .doesNotContain(localPaths); + assertThat(this.projectStructure.getRelativePathsOfProjectFiles()).doesNotContain(localPaths); return this; } public ProjectAssert assertFile(String localPath, boolean exist) { Path candidate = this.projectStructure.resolve(localPath); - assertThat(Files.exists(candidate)) - .describedAs("Invalid presence (%s) exist for %s", exist, localPath) + assertThat(Files.exists(candidate)).describedAs("Invalid presence (%s) exist for %s", exist, localPath) .isEqualTo(exist); return this; } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/build/GradleBuildAssert.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/build/GradleBuildAssert.java index eb1faef7..8a964021 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/build/GradleBuildAssert.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/build/GradleBuildAssert.java @@ -45,9 +45,7 @@ public class GradleBuildAssert extends AbstractStringAssert { * @return this */ public GradleBuildAssert hasSpringBootBuildScriptPlugin(String springBootVersion) { - return contains("ext {") - .contains("org.springframework.boot:spring-boot-gradle-plugin:" - + springBootVersion); + return contains("ext {").contains("org.springframework.boot:spring-boot-gradle-plugin:" + springBootVersion); } /** @@ -57,8 +55,7 @@ public class GradleBuildAssert extends AbstractStringAssert { * @return this */ public GradleBuildAssert hasSpringBootPlugin(String springBootVersion) { - return contains( - "id 'org.springframework.boot' version '" + springBootVersion + "'"); + return contains("id 'org.springframework.boot' version '" + springBootVersion + "'"); } /** @@ -97,12 +94,10 @@ public class GradleBuildAssert extends AbstractStringAssert { public GradleBuildAssert hasProperties(String... values) { StringBuilder builder = new StringBuilder(String.format("ext {%n")); if (values.length % 2 == 1) { - throw new IllegalArgumentException( - "Size must be even, it is a set of property=value pairs"); + throw new IllegalArgumentException("Size must be even, it is a set of property=value pairs"); } for (int i = 0; i < values.length; i += 2) { - builder.append( - String.format("\tset('%s', \"%s\")%n", values[i], values[i + 1])); + builder.append(String.format("\tset('%s', \"%s\")%n", values[i], values[i + 1])); } builder.append("}"); return contains(builder.toString()); diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/build/PomAssert.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/build/PomAssert.java index cc4da54e..081a4795 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/build/PomAssert.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/build/PomAssert.java @@ -55,8 +55,7 @@ public class PomAssert { * @return this */ public PomAssert hasParent(String groupId, String artifactId, String version) { - return hasText("/project/parent/groupId", groupId) - .hasText("/project/parent/artifactId", artifactId) + return hasText("/project/parent/groupId", groupId).hasText("/project/parent/artifactId", artifactId) .hasText("/project/parent/version", version); } @@ -66,8 +65,7 @@ public class PomAssert { * @return this */ public PomAssert hasSpringBootParent(String version) { - return hasParent("org.springframework.boot", "spring-boot-starter-parent", - version); + return hasParent("org.springframework.boot", "spring-boot-starter-parent", version); } /** @@ -158,8 +156,7 @@ public class PomAssert { * @return this */ public PomAssert hasDependenciesCount(int count) { - assertThat(this.pom).nodesAtPath("project/dependencies/dependency") - .hasSize(count); + assertThat(this.pom).nodesAtPath("project/dependencies/dependency").hasSize(count); return this; } @@ -170,8 +167,7 @@ public class PomAssert { * @return this */ public PomAssert hasSpringBootStarterDependency(String starterId) { - return hasDependency("org.springframework.boot", - "spring-boot-starter-" + starterId); + return hasDependency("org.springframework.boot", "spring-boot-starter-" + starterId); } /** @@ -182,8 +178,7 @@ public class PomAssert { * @return this */ public PomAssert hasSpringBootStarterDependency(String starterId, String scope) { - return hasDependency("org.springframework.boot", - "spring-boot-starter-" + starterId, null, scope); + return hasDependency("org.springframework.boot", "spring-boot-starter-" + starterId, null, scope); } /** @@ -232,8 +227,7 @@ public class PomAssert { * @param scope the scope of the dependency * @return this */ - public PomAssert hasDependency(String groupId, String artifactId, String version, - String scope) { + public PomAssert hasDependency(String groupId, String artifactId, String version, String scope) { return hasDependency(Dependency.create(groupId, artifactId, version, scope)); } @@ -246,15 +240,13 @@ public class PomAssert { assertThat(this.pom).nodesAtPath("/project/dependencies/dependency").areExactly(1, new Condition<>((candidate) -> { Dependency actual = toDependency(candidate); - if (dependency.getGroupId().equals(actual.getGroupId()) && dependency - .getArtifactId().equals(actual.getArtifactId())) { + if (dependency.getGroupId().equals(actual.getGroupId()) + && dependency.getArtifactId().equals(actual.getArtifactId())) { if (dependency.getVersion() != null) { - assertThat(actual.getVersion()) - .isEqualTo(dependency.getVersion()); + assertThat(actual.getVersion()).isEqualTo(dependency.getVersion()); } if (dependency.getScope() != null) { - assertThat(actual.getScope()) - .isEqualTo(dependency.getScope()); + assertThat(actual.getScope()).isEqualTo(dependency.getScope()); } if (dependency.getType() != null) { assertThat(actual.getType()).isEqualTo(dependency.getType()); @@ -274,12 +266,10 @@ public class PomAssert { * @return this */ public PomAssert doesNotHaveDependency(String groupId, String artifactId) { - assertThat(this.pom).nodesAtPath("/project/dependencies/dependency") - .noneMatch((candidate) -> { - Dependency actual = toDependency(candidate); - return groupId.equals(actual.getGroupId()) - && artifactId.equals(actual.getArtifactId()); - }); + assertThat(this.pom).nodesAtPath("/project/dependencies/dependency").noneMatch((candidate) -> { + Dependency actual = toDependency(candidate); + return groupId.equals(actual.getGroupId()) && artifactId.equals(actual.getArtifactId()); + }); return this; } @@ -289,9 +279,7 @@ public class PomAssert { * @return this */ public PomAssert hasBomsCount(int count) { - assertThat(this.pom) - .nodesAtPath("/project/dependencyManagement/dependencies/dependency") - .hasSize(count); + assertThat(this.pom).nodesAtPath("/project/dependencyManagement/dependencies/dependency").hasSize(count); return this; } @@ -303,13 +291,11 @@ public class PomAssert { * @return this */ public PomAssert hasBom(String groupId, String artifactId, String version) { - assertThat(this.pom) - .nodesAtPath("/project/dependencyManagement/dependencies/dependency") - .areExactly(1, new Condition<>((candidate) -> { + assertThat(this.pom).nodesAtPath("/project/dependencyManagement/dependencies/dependency").areExactly(1, + new Condition<>((candidate) -> { BillOfMaterials actual = toBom(candidate); return (actual != null && actual.getGroupId().equals(groupId) - && actual.getArtifactId().equals(artifactId) - && actual.getVersion().equals(version)); + && actual.getArtifactId().equals(artifactId) && actual.getVersion().equals(version)); }, "matching bom")); return this; } @@ -320,8 +306,7 @@ public class PomAssert { * @return this */ public PomAssert hasRepositoriesCount(int count) { - assertThat(this.pom).nodesAtPath("/project/repositories/repository") - .hasSize(count); + assertThat(this.pom).nodesAtPath("/project/repositories/repository").hasSize(count); return this; } @@ -333,12 +318,10 @@ public class PomAssert { * @param snapshotsEnabled whether snapshot is enabled for the repository * @return this */ - public PomAssert hasRepository(String id, String name, String url, - Boolean snapshotsEnabled) { + public PomAssert hasRepository(String id, String name, String url, Boolean snapshotsEnabled) { assertThat(this.pom).nodesAtPath("/project/repositories/repository").areExactly(1, new Condition<>((candidate) -> { - String actualId = ((Element) candidate).getElementsByTagName("id") - .item(0).getTextContent(); + String actualId = ((Element) candidate).getElementsByTagName("id").item(0).getTextContent(); if (actualId.equals(id)) { Repository repository = toRepository(candidate); if (name != null) { @@ -349,13 +332,11 @@ public class PomAssert { assertThat(repository.getUrl()).isEqualTo(new URL(url)); } catch (MalformedURLException ex) { - throw new IllegalArgumentException("Cannot parse URL", - ex); + throw new IllegalArgumentException("Cannot parse URL", ex); } } if (snapshotsEnabled) { - assertThat(repository.isSnapshotsEnabled()) - .isEqualTo(snapshotsEnabled); + assertThat(repository.isSnapshotsEnabled()).isEqualTo(snapshotsEnabled); } return true; } @@ -489,8 +470,7 @@ public class PomAssert { Element snapshotsElement = (Element) snapshots.item(0); NodeList snapshotsEnabled = snapshotsElement.getElementsByTagName("enabled"); if (snapshotsEnabled.getLength() > 0) { - repository.setSnapshotsEnabled( - "true".equals(snapshotsEnabled.item(0).getTextContent())); + repository.setSnapshotsEnabled("true".equals(snapshotsEnabled.item(0).getTextContent())); } } return repository; diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/code/SourceCodeAssert.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/code/SourceCodeAssert.java index 9f280093..178a2ee7 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/code/SourceCodeAssert.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/test/code/SourceCodeAssert.java @@ -43,8 +43,7 @@ public class SourceCodeAssert { public SourceCodeAssert equalsTo(Resource expected) { try (InputStream in = expected.getInputStream()) { - String expectedContent = StreamUtils.copyToString(in, - Charset.forName("UTF-8")); + String expectedContent = StreamUtils.copyToString(in, Charset.forName("UTF-8")); assertThat(this.content).describedAs("Content for %s", this.name) .isEqualTo(expectedContent.replaceAll("\r\n", "\n")); } @@ -69,14 +68,12 @@ public class SourceCodeAssert { } public SourceCodeAssert contains(String... expressions) { - assertThat(this.content).describedAs("Content for %s", this.name) - .contains(expressions); + assertThat(this.content).describedAs("Content for %s", this.name).contains(expressions); return this; } public SourceCodeAssert doesNotContain(String... expressions) { - assertThat(this.content).describedAs("Content for %s", this.name) - .doesNotContain(expressions); + assertThat(this.content).describedAs("Content for %s", this.name).doesNotContain(expressions); return this; } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BillOfMaterials.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BillOfMaterials.java index 7036c77e..b58ac97c 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BillOfMaterials.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BillOfMaterials.java @@ -37,8 +37,7 @@ public class BillOfMaterials { this(groupId, artifactId, version, Integer.MAX_VALUE); } - public BillOfMaterials(String groupId, String artifactId, VersionReference version, - int order) { + public BillOfMaterials(String groupId, String artifactId, VersionReference version, int order) { this.groupId = groupId; this.artifactId = artifactId; this.version = version; diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BomContainer.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BomContainer.java index db781f96..2a77ff5d 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BomContainer.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BomContainer.java @@ -40,8 +40,7 @@ public class BomContainer extends BuildItemContainer { * @param artifactId the artifactId * @param version the {@link VersionReference} */ - public void add(String id, String groupId, String artifactId, - VersionReference version) { + public void add(String id, String groupId, String artifactId, VersionReference version) { add(id, new BillOfMaterials(groupId, artifactId, version)); } @@ -54,8 +53,7 @@ public class BomContainer extends BuildItemContainer { * @param version the {@link VersionReference} * @param order the order of the bom */ - public void add(String id, String groupId, String artifactId, - VersionReference version, int order) { + public void add(String id, String groupId, String artifactId, VersionReference version, int order) { add(id, new BillOfMaterials(groupId, artifactId, version, order)); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/Build.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/Build.java index 6a03939d..646650e2 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/Build.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/Build.java @@ -51,18 +51,15 @@ public abstract class Build { this.dependencies = new DependencyContainer(resolver::resolveDependency); this.boms = new BomContainer(resolver::resolveBom); this.repositories = new MavenRepositoryContainer(resolver::resolveRepository); - this.pluginRepositories = new MavenRepositoryContainer( - resolver::resolveRepository); + this.pluginRepositories = new MavenRepositoryContainer(resolver::resolveRepository); } - private static BuildItemResolver determineBuildItemResolver( - BuildItemResolver buildItemResolver) { + private static BuildItemResolver determineBuildItemResolver(BuildItemResolver buildItemResolver) { if (buildItemResolver != null) { return buildItemResolver; } return new SimpleBuildItemResolver((id) -> null, (id) -> null, - (id) -> id.equals("maven-central") ? MavenRepository.MAVEN_CENTRAL - : null); + (id) -> id.equals("maven-central") ? MavenRepository.MAVEN_CENTRAL : null); } /** diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BuildSystem.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BuildSystem.java index 33e8d392..fb8ebdbd 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BuildSystem.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BuildSystem.java @@ -58,13 +58,10 @@ public interface BuildSystem { } static BuildSystem forIdAndDialect(String id, String dialect) { - return SpringFactoriesLoader - .loadFactories(BuildSystemFactory.class, - BuildSystem.class.getClassLoader()) - .stream().map((factory) -> factory.createBuildSystem(id, dialect)) - .filter(Objects::nonNull).findFirst().orElseThrow( - () -> new IllegalStateException("Unrecognized build system id '" - + id + "' and dialect '" + dialect + "'")); + return SpringFactoriesLoader.loadFactories(BuildSystemFactory.class, BuildSystem.class.getClassLoader()) + .stream().map((factory) -> factory.createBuildSystem(id, dialect)).filter(Objects::nonNull).findFirst() + .orElseThrow(() -> new IllegalStateException( + "Unrecognized build system id '" + id + "' and dialect '" + dialect + "'")); } } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/Dependency.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/Dependency.java index aa735236..a7e1af0e 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/Dependency.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/Dependency.java @@ -59,8 +59,7 @@ public class Dependency { } public static Builder from(Dependency dependency) { - return new Builder(dependency.getGroupId(), dependency.getArtifactId()) - .initialize(dependency); + return new Builder(dependency.getGroupId(), dependency.getArtifactId()).initialize(dependency); } /** @@ -169,8 +168,7 @@ public class Dependency { } public B exclusions(Set exclusions) { - this.exclusions = (exclusions != null) ? new LinkedHashSet<>(exclusions) - : new LinkedHashSet<>(); + this.exclusions = (exclusions != null) ? new LinkedHashSet<>(exclusions) : new LinkedHashSet<>(); return self(); } @@ -180,8 +178,8 @@ public class Dependency { } protected B initialize(Dependency dependency) { - version(dependency.getVersion()).scope(dependency.getScope()) - .type(dependency.getType()).exclusions(dependency.getExclusions()); + version(dependency.getVersion()).scope(dependency.getScope()).type(dependency.getType()) + .exclusions(dependency.getExclusions()); return self(); } @@ -224,8 +222,7 @@ public class Dependency { return false; } Exclusion exclusion = (Exclusion) o; - return this.groupId.equals(exclusion.groupId) - && this.artifactId.equals(exclusion.artifactId); + return this.groupId.equals(exclusion.groupId) && this.artifactId.equals(exclusion.artifactId); } @Override diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/MavenRepository.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/MavenRepository.java index 9f0003ae..2201147a 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/MavenRepository.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/MavenRepository.java @@ -26,8 +26,8 @@ public class MavenRepository { /** * Maven Central. */ - public static final MavenRepository MAVEN_CENTRAL = new MavenRepository( - "maven-central", "Maven Central", "https://repo.maven.apache.org/maven2"); + public static final MavenRepository MAVEN_CENTRAL = new MavenRepository("maven-central", "Maven Central", + "https://repo.maven.apache.org/maven2"); private final String id; diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/MavenRepositoryContainer.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/MavenRepositoryContainer.java index 798dc948..ad06eee5 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/MavenRepositoryContainer.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/MavenRepositoryContainer.java @@ -24,8 +24,7 @@ import java.util.function.Function; * * @author Stephane Nicoll */ -public class MavenRepositoryContainer - extends BuildItemContainer { +public class MavenRepositoryContainer extends BuildItemContainer { MavenRepositoryContainer(Function itemResolver) { super(new LinkedHashMap<>(), itemResolver); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/SimpleBuildItemResolver.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/SimpleBuildItemResolver.java index 822e3213..0f96c96b 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/SimpleBuildItemResolver.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/SimpleBuildItemResolver.java @@ -32,8 +32,7 @@ public class SimpleBuildItemResolver implements BuildItemResolver { private final Function repositoryResolver; public SimpleBuildItemResolver(Function dependencyResolver, - Function bomResolver, - Function repositoryResolver) { + Function bomResolver, Function repositoryResolver) { this.dependencyResolver = dependencyResolver; this.bomResolver = bomResolver; this.repositoryResolver = repositoryResolver; diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/Gradle3BuildWriter.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/Gradle3BuildWriter.java index 38992911..a0726b1d 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/Gradle3BuildWriter.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/Gradle3BuildWriter.java @@ -51,8 +51,7 @@ public class Gradle3BuildWriter extends GroovyDslGradleBuildWriter { case TEST_RUNTIME: return "testRuntime"; default: - throw new IllegalStateException( - "Unrecognized dependency type '" + type + "'"); + throw new IllegalStateException("Unrecognized dependency type '" + type + "'"); } } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuild.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuild.java index b5ef997d..fda7adc1 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuild.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuild.java @@ -117,10 +117,9 @@ public class GradleBuild extends Build { return this.buildscript; } - public void customizeConfiguration(String configurationName, - Consumer customizer) { - customizer.accept(this.configurationCustomizations.computeIfAbsent( - configurationName, (name) -> new ConfigurationCustomization())); + public void customizeConfiguration(String configurationName, Consumer customizer) { + customizer.accept(this.configurationCustomizations.computeIfAbsent(configurationName, + (name) -> new ConfigurationCustomization())); } public void addConfiguration(String configurationName) { @@ -145,15 +144,14 @@ public class GradleBuild extends Build { * as {@code JavaCompile}, use a fully qualified name if an import is required * @param customizer a callback to customize tasks matching that type */ - public void customizeTasksWithType(String typeName, - Consumer customizer) { + public void customizeTasksWithType(String typeName, Consumer customizer) { String packageName = ClassUtils.getPackageName(typeName); if (!StringUtils.isEmpty(packageName)) { this.importedTypes.add(typeName); } String shortName = ClassUtils.getShortName(typeName); - customizer.accept(this.tasksWithTypeCustomizations.computeIfAbsent(shortName, - (name) -> new TaskCustomization())); + customizer + .accept(this.tasksWithTypeCustomizations.computeIfAbsent(shortName, (name) -> new TaskCustomization())); } public Map getTasksWithTypeCustomizations() { @@ -161,8 +159,7 @@ public class GradleBuild extends Build { } public void customizeTask(String taskName, Consumer customizer) { - customizer.accept(this.taskCustomizations.computeIfAbsent(taskName, - (name) -> new TaskCustomization())); + customizer.accept(this.taskCustomizations.computeIfAbsent(taskName, (name) -> new TaskCustomization())); } public Map getTaskCustomizations() { @@ -227,8 +224,7 @@ public class GradleBuild extends Build { private final Map nested = new LinkedHashMap<>(); public void nested(String property, Consumer customizer) { - customizer.accept(this.nested.computeIfAbsent(property, - (name) -> new TaskCustomization())); + customizer.accept(this.nested.computeIfAbsent(property, (name) -> new TaskCustomization())); } public Map getNested() { diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuildSystemFactory.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuildSystemFactory.java index 213fd129..71d40c53 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuildSystemFactory.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuildSystemFactory.java @@ -37,8 +37,7 @@ class GradleBuildSystemFactory implements BuildSystemFactory { if (dialect == null) { return new GradleBuildSystem(); } - if (dialect.equals(GradleBuildSystem.DIALECT_GROOVY) - || dialect.equals(GradleBuildSystem.DIALECT_KOTLIN)) { + if (dialect.equals(GradleBuildSystem.DIALECT_GROOVY) || dialect.equals(GradleBuildSystem.DIALECT_KOTLIN)) { return new GradleBuildSystem(dialect); } } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuildWriter.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuildWriter.java index 4363a892..61e38964 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuildWriter.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleBuildWriter.java @@ -52,8 +52,7 @@ import io.spring.initializr.generator.version.VersionProperty; */ public abstract class GradleBuildWriter { - public final void writeTo(IndentingWriter writer, GradleBuild build) - throws IOException { + public final void writeTo(IndentingWriter writer, GradleBuild build) throws IOException { writeImports(writer, build); writeBuildscript(writer, build); writePlugins(writer, build); @@ -71,8 +70,8 @@ public abstract class GradleBuildWriter { } private void writeImports(IndentingWriter writer, GradleBuild build) { - build.getImportedTypes().stream().sorted().forEachOrdered( - (importedType) -> writer.println("import " + importedType)); + build.getImportedTypes().stream().sorted() + .forEachOrdered((importedType) -> writer.println("import " + importedType)); if (!build.getImportedTypes().isEmpty()) { writer.println(); } @@ -82,19 +81,15 @@ public abstract class GradleBuildWriter { protected abstract void writePlugins(IndentingWriter writer, GradleBuild build); - protected abstract void writeJavaSourceCompatibility(IndentingWriter writer, - GradleBuild build); + protected abstract void writeJavaSourceCompatibility(IndentingWriter writer, GradleBuild build); - protected abstract void writeConfigurations(IndentingWriter writer, - GradleBuild build); + protected abstract void writeConfigurations(IndentingWriter writer, GradleBuild build); - protected abstract void writeConfiguration(IndentingWriter writer, - String configurationName, + protected abstract void writeConfiguration(IndentingWriter writer, String configurationName, ConfigurationCustomization configurationCustomization); protected final void writeRepositories(IndentingWriter writer, GradleBuild build) { - writeNestedCollection(writer, "repositories", - build.repositories().items().collect(Collectors.toList()), + writeNestedCollection(writer, "repositories", build.repositories().items().collect(Collectors.toList()), this::repositoryAsString); } @@ -105,47 +100,36 @@ public abstract class GradleBuildWriter { return; } Map allProperties = new LinkedHashMap<>(build.getExt()); - build.getVersionProperties().entrySet().forEach((entry) -> allProperties - .put(getVersionPropertyKey(entry), "\"" + entry.getValue() + "\"")); + build.getVersionProperties().entrySet() + .forEach((entry) -> allProperties.put(getVersionPropertyKey(entry), "\"" + entry.getValue() + "\"")); writeExtraProperties(writer, allProperties); } - protected abstract void writeExtraProperties(IndentingWriter writer, - Map allProperties); + protected abstract void writeExtraProperties(IndentingWriter writer, Map allProperties); private String getVersionPropertyKey(Entry entry) { - return entry.getKey().isInternal() ? entry.getKey().toCamelCaseFormat() - : entry.getKey().toStandardFormat(); + return entry.getKey().isInternal() ? entry.getKey().toCamelCaseFormat() : entry.getKey().toStandardFormat(); } private void writeDependencies(IndentingWriter writer, GradleBuild build) { Set sortedDependencies = new LinkedHashSet<>(); DependencyContainer dependencies = build.dependencies(); - sortedDependencies - .addAll(filterDependencies(dependencies, DependencyScope.COMPILE)); - sortedDependencies - .addAll(filterDependencies(dependencies, DependencyScope.COMPILE_ONLY)); - sortedDependencies - .addAll(filterDependencies(dependencies, DependencyScope.RUNTIME)); - sortedDependencies.addAll( - filterDependencies(dependencies, DependencyScope.ANNOTATION_PROCESSOR)); - sortedDependencies.addAll( - filterDependencies(dependencies, DependencyScope.PROVIDED_RUNTIME)); - sortedDependencies - .addAll(filterDependencies(dependencies, DependencyScope.TEST_COMPILE)); - sortedDependencies - .addAll(filterDependencies(dependencies, DependencyScope.TEST_RUNTIME)); + sortedDependencies.addAll(filterDependencies(dependencies, DependencyScope.COMPILE)); + sortedDependencies.addAll(filterDependencies(dependencies, DependencyScope.COMPILE_ONLY)); + sortedDependencies.addAll(filterDependencies(dependencies, DependencyScope.RUNTIME)); + sortedDependencies.addAll(filterDependencies(dependencies, DependencyScope.ANNOTATION_PROCESSOR)); + sortedDependencies.addAll(filterDependencies(dependencies, DependencyScope.PROVIDED_RUNTIME)); + sortedDependencies.addAll(filterDependencies(dependencies, DependencyScope.TEST_COMPILE)); + sortedDependencies.addAll(filterDependencies(dependencies, DependencyScope.TEST_RUNTIME)); if (!sortedDependencies.isEmpty()) { writer.println(); writer.println("dependencies" + " {"); - writer.indented(() -> sortedDependencies - .forEach((dependency) -> writeDependency(writer, dependency))); + writer.indented(() -> sortedDependencies.forEach((dependency) -> writeDependency(writer, dependency))); writer.println("}"); } } - protected abstract void writeDependency(IndentingWriter writer, - Dependency dependency); + protected abstract void writeDependency(IndentingWriter writer, Dependency dependency); protected String configurationForDependency(Dependency dependency) { if (dependency instanceof GradleDependency) { @@ -171,8 +155,7 @@ public abstract class GradleBuildWriter { case TEST_RUNTIME: return "testRuntimeOnly"; default: - throw new IllegalStateException( - "Unrecognized dependency type '" + type + "'"); + throw new IllegalStateException("Unrecognized dependency type '" + type + "'"); } } @@ -181,28 +164,22 @@ public abstract class GradleBuildWriter { return; } List boms = build.boms().items() - .sorted(Comparator.comparingInt(BillOfMaterials::getOrder).reversed()) - .collect(Collectors.toList()); + .sorted(Comparator.comparingInt(BillOfMaterials::getOrder).reversed()).collect(Collectors.toList()); writer.println(); writer.println("dependencyManagement {"); - writer.indented( - () -> writeNestedCollection(writer, "imports", boms, this::bomAsString)); + writer.indented(() -> writeNestedCollection(writer, "imports", boms, this::bomAsString)); writer.println("}"); } protected abstract String bomAsString(BillOfMaterials bom); - protected abstract void writeTasksWithTypeCustomizations(IndentingWriter writer, - GradleBuild build); + protected abstract void writeTasksWithTypeCustomizations(IndentingWriter writer, GradleBuild build); - protected abstract void writeTaskCustomizations(IndentingWriter writer, - GradleBuild build); + protected abstract void writeTaskCustomizations(IndentingWriter writer, GradleBuild build); - protected final void writeTaskCustomization(IndentingWriter writer, - TaskCustomization customization) { + protected final void writeTaskCustomization(IndentingWriter writer, TaskCustomization customization) { writeCollection(writer, customization.getInvocations(), this::invocationAsString); - writeMap(writer, customization.getAssignments(), - (key, value) -> key + " = " + value); + writeMap(writer, customization.getAssignments(), (key, value) -> key + " = " + value); customization.getNested().forEach((property, nestedCustomization) -> { writer.println(property + " {"); writer.indented(() -> writeTaskCustomization(writer, nestedCustomization)); @@ -212,14 +189,13 @@ public abstract class GradleBuildWriter { protected abstract String invocationAsString(TaskCustomization.Invocation invocation); - protected final void writeNestedCollection(IndentingWriter writer, String name, - Collection collection, Function itemToStringConverter) { + protected final void writeNestedCollection(IndentingWriter writer, String name, Collection collection, + Function itemToStringConverter) { this.writeNestedCollection(writer, name, collection, itemToStringConverter, null); } - protected final void writeNestedCollection(IndentingWriter writer, String name, - Collection collection, Function converter, - Runnable beforeWriting) { + protected final void writeNestedCollection(IndentingWriter writer, String name, Collection collection, + Function converter, Runnable beforeWriting) { if (!collection.isEmpty()) { if (beforeWriting != null) { beforeWriting.run(); @@ -231,14 +207,13 @@ public abstract class GradleBuildWriter { } } - protected final void writeCollection(IndentingWriter writer, - Collection collection, Function converter) { + protected final void writeCollection(IndentingWriter writer, Collection collection, + Function converter) { writeCollection(writer, collection, converter, null); } - protected final void writeCollection(IndentingWriter writer, - Collection collection, Function itemToStringConverter, - Runnable beforeWriting) { + protected final void writeCollection(IndentingWriter writer, Collection collection, + Function itemToStringConverter, Runnable beforeWriting) { if (!collection.isEmpty()) { if (beforeWriting != null) { beforeWriting.run(); @@ -247,16 +222,14 @@ public abstract class GradleBuildWriter { } } - protected final void writeMap(IndentingWriter writer, Map map, - BiFunction converter) { + protected final void writeMap(IndentingWriter writer, Map map, BiFunction converter) { map.forEach((key, value) -> writer.println(converter.apply(key, value))); } - protected abstract void writeProperty(IndentingWriter writer, String name, - String value); + protected abstract void writeProperty(IndentingWriter writer, String name, String value); - private static Collection filterDependencies( - DependencyContainer dependencies, DependencyScope... types) { + private static Collection filterDependencies(DependencyContainer dependencies, + DependencyScope... types) { List candidates = Arrays.asList(types); return dependencies.items().filter((dep) -> candidates.contains(dep.getScope())) .sorted(DependencyComparator.INSTANCE).collect(Collectors.toList()); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleDependency.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleDependency.java index 059d22c9..2f56ca79 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleDependency.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleDependency.java @@ -37,8 +37,7 @@ public class GradleDependency extends Dependency { } public static Builder from(Dependency dependency) { - return new Builder(dependency.getGroupId(), dependency.getArtifactId()) - .initialize(dependency); + return new Builder(dependency.getGroupId(), dependency.getArtifactId()).initialize(dependency); } public String getConfiguration() { diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleSettingsWriter.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleSettingsWriter.java index afd6f7f5..c079671a 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleSettingsWriter.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GradleSettingsWriter.java @@ -31,8 +31,7 @@ import io.spring.initializr.generator.io.IndentingWriter; */ public abstract class GradleSettingsWriter { - public final void writeTo(IndentingWriter writer, GradleBuild build) - throws IOException { + public final void writeTo(IndentingWriter writer, GradleBuild build) throws IOException { writePluginManagement(writer, build); writer.println("rootProject.name = " + wrapWithQuotes(build.getArtifact())); } @@ -49,25 +48,21 @@ public abstract class GradleSettingsWriter { private void writeRepositories(IndentingWriter writer, GradleBuild build) { writer.println("repositories {"); writer.indented(() -> { - build.pluginRepositories().items().map(this::repositoryAsString) - .forEach(writer::println); + build.pluginRepositories().items().map(this::repositoryAsString).forEach(writer::println); writer.println("gradlePluginPortal()"); }); writer.println("}"); } - private void writeResolutionStrategyIfNecessary(IndentingWriter writer, - GradleBuild build) { - if (build.pluginRepositories().items() - .allMatch(MavenRepository.MAVEN_CENTRAL::equals)) { + private void writeResolutionStrategyIfNecessary(IndentingWriter writer, GradleBuild build) { + if (build.pluginRepositories().items().allMatch(MavenRepository.MAVEN_CENTRAL::equals)) { return; } writer.println("resolutionStrategy {"); writer.indented(() -> { writer.println("eachPlugin {"); writer.indented(() -> { - writer.println("if (requested.id.id == " - + wrapWithQuotes("org.springframework.boot") + ") {"); + writer.println("if (requested.id.id == " + wrapWithQuotes("org.springframework.boot") + ") {"); writer.indented(() -> writer.println( "useModule(\"org.springframework.boot:spring-boot-gradle-plugin:${requested.version}\")")); writer.println("}"); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleBuildWriter.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleBuildWriter.java index e6c28740..ed0efc8f 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleBuildWriter.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleBuildWriter.java @@ -54,8 +54,7 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { } private void writeBuildscriptExt(IndentingWriter writer, GradleBuild build) { - writeNestedMap(writer, "ext", build.getBuildscript().getExt(), - (key, value) -> key + " = " + value); + writeNestedMap(writer, "ext", build.getBuildscript().getExt(), (key, value) -> key + " = " + value); } private void writeBuildscriptRepositories(IndentingWriter writer, GradleBuild build) { @@ -63,17 +62,15 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { } private void writeBuildscriptDependencies(IndentingWriter writer, GradleBuild build) { - writeNestedCollection(writer, "dependencies", - build.getBuildscript().getDependencies(), + writeNestedCollection(writer, "dependencies", build.getBuildscript().getDependencies(), (dependency) -> "classpath '" + dependency + "'"); } @Override protected void writePlugins(IndentingWriter writer, GradleBuild build) { - writeNestedCollection(writer, "plugins", build.getPlugins(), - this::pluginAsString); - writeCollection(writer, build.getAppliedPlugins(), - (plugin) -> "apply plugin: '" + plugin + "'", writer::println); + writeNestedCollection(writer, "plugins", build.getPlugins(), this::pluginAsString); + writeCollection(writer, build.getAppliedPlugins(), (plugin) -> "apply plugin: '" + plugin + "'", + writer::println); writer.println(); } @@ -86,8 +83,7 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { } @Override - protected void writeJavaSourceCompatibility(IndentingWriter writer, - GradleBuild build) { + protected void writeJavaSourceCompatibility(IndentingWriter writer, GradleBuild build) { writeProperty(writer, "sourceCompatibility", build.getSourceCompatibility()); } @@ -95,8 +91,8 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { protected void writeConfiguration(IndentingWriter writer, String configurationName, GradleBuild.ConfigurationCustomization configurationCustomization) { writer.println(configurationName + " {"); - writer.indented(() -> writer.println(String.format("extendsFrom %s", - String.join(", ", configurationCustomization.getExtendsFrom())))); + writer.indented(() -> writer.println( + String.format("extendsFrom %s", String.join(", ", configurationCustomization.getExtendsFrom())))); writer.println("}"); } @@ -109,11 +105,9 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { } @Override - protected void writeExtraProperties(IndentingWriter writer, - Map allProperties) { + protected void writeExtraProperties(IndentingWriter writer, Map allProperties) { writeNestedCollection(writer, "ext", allProperties.entrySet(), - (e) -> getFormattedExtraProperty(e.getKey(), e.getValue()), - writer::println); + (e) -> getFormattedExtraProperty(e.getKey(), e.getValue()), writer::println); } private String getFormattedExtraProperty(String key, String value) { @@ -122,8 +116,7 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { @Override protected void writeConfigurations(IndentingWriter writer, GradleBuild build) { - Map configurationCustomizations = build - .getConfigurationCustomizations(); + Map configurationCustomizations = build.getConfigurationCustomizations(); List configurations = build.getConfigurations(); if (configurations.isEmpty() && configurationCustomizations.isEmpty()) { return; @@ -131,8 +124,8 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { writer.println("configurations {"); writer.indented(() -> { configurations.forEach(writer::println); - configurationCustomizations.forEach((name, - customization) -> writeConfiguration(writer, name, customization)); + configurationCustomizations + .forEach((name, customization) -> writeConfiguration(writer, name, customization)); }); writer.println("}"); writer.println(""); @@ -146,13 +139,12 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { boolean hasExclusions = !dependency.getExclusions().isEmpty(); writer.print(configurationForDependency(dependency)); writer.print((hasExclusions) ? "(" : " "); - writer.print(quoteStyle + dependency.getGroupId() + ":" - + dependency.getArtifactId() + ((version != null) ? ":" + version : "") - + ((type != null) ? "@" + type : "") + quoteStyle); + writer.print(quoteStyle + dependency.getGroupId() + ":" + dependency.getArtifactId() + + ((version != null) ? ":" + version : "") + ((type != null) ? "@" + type : "") + quoteStyle); if (hasExclusions) { writer.println(") {"); - writer.indented(() -> writeCollection(writer, dependency.getExclusions(), - this::dependencyExclusionAsString)); + writer.indented( + () -> writeCollection(writer, dependency.getExclusions(), this::dependencyExclusionAsString)); writer.println("}"); } else { @@ -161,8 +153,7 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { } private String dependencyExclusionAsString(Exclusion exclusion) { - return "exclude group: '" + exclusion.getGroupId() + "', module: '" - + exclusion.getArtifactId() + "'"; + return "exclude group: '" + exclusion.getGroupId() + "', module: '" + exclusion.getArtifactId() + "'"; } private String determineQuoteStyle(VersionReference versionReference) { @@ -172,18 +163,16 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { @Override protected String bomAsString(BillOfMaterials bom) { String quoteStyle = determineQuoteStyle(bom.getVersion()); - return "mavenBom " + quoteStyle + bom.getGroupId() + ":" + bom.getArtifactId() - + ":" + determineVersion(bom.getVersion()) + quoteStyle; + return "mavenBom " + quoteStyle + bom.getGroupId() + ":" + bom.getArtifactId() + ":" + + determineVersion(bom.getVersion()) + quoteStyle; } private String determineVersion(VersionReference versionReference) { if (versionReference != null) { if (versionReference.isProperty()) { VersionProperty property = versionReference.getProperty(); - return "${" - + (property.isInternal() ? property.toCamelCaseFormat() - : ("property('" + property.toStandardFormat() + "')")) - + "}"; + return "${" + (property.isInternal() ? property.toCamelCaseFormat() + : ("property('" + property.toStandardFormat() + "')")) + "}"; } return versionReference.getValue(); } @@ -191,10 +180,8 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { } @Override - protected void writeTasksWithTypeCustomizations(IndentingWriter writer, - GradleBuild build) { - Map tasksWithTypeCustomizations = build - .getTasksWithTypeCustomizations(); + protected void writeTasksWithTypeCustomizations(IndentingWriter writer, GradleBuild build) { + Map tasksWithTypeCustomizations = build.getTasksWithTypeCustomizations(); tasksWithTypeCustomizations.forEach((typeName, customization) -> { writer.println(); @@ -206,8 +193,7 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { @Override protected void writeTaskCustomizations(IndentingWriter writer, GradleBuild build) { - Map taskCustomizations = build - .getTaskCustomizations(); + Map taskCustomizations = build.getTaskCustomizations(); taskCustomizations.forEach((name, customization) -> { writer.println(); @@ -218,8 +204,7 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter { } @Override - protected String invocationAsString( - GradleBuild.TaskCustomization.Invocation invocation) { + protected String invocationAsString(GradleBuild.TaskCustomization.Invocation invocation) { String arguments = (invocation.getArguments().isEmpty()) ? "()" : " " + String.join(", ", invocation.getArguments()); return invocation.getTarget() + arguments; diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleBuildWriter.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleBuildWriter.java index 3dd74116..6155156d 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleBuildWriter.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleBuildWriter.java @@ -56,17 +56,14 @@ public class KotlinDslGradleBuildWriter extends GradleBuildWriter { @Override protected void writeBuildscript(IndentingWriter writer, GradleBuild build) { - if (!(build.getBuildscript().getDependencies().isEmpty() - && build.getBuildscript().getExt().isEmpty())) { - throw new IllegalStateException( - "build.gradle.kts scripts shouldn't need a buildscript"); + if (!(build.getBuildscript().getDependencies().isEmpty() && build.getBuildscript().getExt().isEmpty())) { + throw new IllegalStateException("build.gradle.kts scripts shouldn't need a buildscript"); } } @Override protected void writePlugins(IndentingWriter writer, GradleBuild build) { - writeNestedCollection(writer, "plugins", build.getPlugins(), this::pluginAsString, - null); + writeNestedCollection(writer, "plugins", build.getPlugins(), this::pluginAsString, null); writer.println(); if (!build.getAppliedPlugins().isEmpty()) { @@ -87,8 +84,7 @@ public class KotlinDslGradleBuildWriter extends GradleBuildWriter { } private String shortPluginNotation(String pluginId) { - if (pluginId.equals("java") || pluginId.equals("war") - || pluginId.equals("groovy")) { + if (pluginId.equals("java") || pluginId.equals("war") || pluginId.equals("groovy")) { return pluginId; } @@ -101,8 +97,7 @@ public class KotlinDslGradleBuildWriter extends GradleBuildWriter { } @Override - protected void writeJavaSourceCompatibility(IndentingWriter writer, - GradleBuild build) { + protected void writeJavaSourceCompatibility(IndentingWriter writer, GradleBuild build) { writer.println("java.sourceCompatibility = JavaVersion." + sourceCompatibilitiesToJavaVersion.get(build.getSourceCompatibility())); } @@ -116,8 +111,7 @@ public class KotlinDslGradleBuildWriter extends GradleBuildWriter { else { writer.println(configurationName + " {"); writer.indented(() -> writer.println(String.format("extendsFrom(%s)", - configurationCustomization.getExtendsFrom().stream() - .collect(Collectors.joining(", "))))); + configurationCustomization.getExtendsFrom().stream().collect(Collectors.joining(", "))))); writer.println("}"); } } @@ -132,8 +126,7 @@ public class KotlinDslGradleBuildWriter extends GradleBuildWriter { @Override protected void writeConfigurations(IndentingWriter writer, GradleBuild build) { - Map configurationCustomizations = build - .getConfigurationCustomizations(); + Map configurationCustomizations = build.getConfigurationCustomizations(); for (String configuration : build.getConfigurations()) { writer.println("val " + configuration + " by configurations.creating"); } @@ -141,8 +134,8 @@ public class KotlinDslGradleBuildWriter extends GradleBuildWriter { return; } writer.println("configurations {"); - writer.indented(() -> configurationCustomizations.forEach((name, - customization) -> writeConfiguration(writer, name, customization))); + writer.indented(() -> configurationCustomizations + .forEach((name, customization) -> writeConfiguration(writer, name, customization))); writer.println("}"); writer.println(""); } @@ -151,14 +144,13 @@ public class KotlinDslGradleBuildWriter extends GradleBuildWriter { protected void writeDependency(IndentingWriter writer, Dependency dependency) { String version = determineVersion(dependency.getVersion()); String type = dependency.getType(); - writer.print(configurationForDependency(dependency) + "(\"" - + dependency.getGroupId() + ":" + dependency.getArtifactId() - + ((version != null) ? ":" + version : "") + writer.print(configurationForDependency(dependency) + "(\"" + dependency.getGroupId() + ":" + + dependency.getArtifactId() + ((version != null) ? ":" + version : "") + ((type != null) ? "@" + type : "") + "\")"); if (!dependency.getExclusions().isEmpty()) { writer.println(" {"); - writer.indented(() -> writeCollection(writer, dependency.getExclusions(), - this::dependencyExclusionAsString)); + writer.indented( + () -> writeCollection(writer, dependency.getExclusions(), this::dependencyExclusionAsString)); writer.println("}"); } else { @@ -167,15 +159,12 @@ public class KotlinDslGradleBuildWriter extends GradleBuildWriter { } private String dependencyExclusionAsString(Exclusion exclusion) { - return "exclude(group = \"" + exclusion.getGroupId() + "\", module = \"" - + exclusion.getArtifactId() + "\")"; + return "exclude(group = \"" + exclusion.getGroupId() + "\", module = \"" + exclusion.getArtifactId() + "\")"; } @Override - protected void writeExtraProperties(IndentingWriter writer, - Map allProperties) { - writeCollection(writer, allProperties.entrySet(), - (e) -> getFormattedExtraProperty(e.getKey(), e.getValue()), + protected void writeExtraProperties(IndentingWriter writer, Map allProperties) { + writeCollection(writer, allProperties.entrySet(), (e) -> getFormattedExtraProperty(e.getKey(), e.getValue()), writer::println); } @@ -185,17 +174,16 @@ public class KotlinDslGradleBuildWriter extends GradleBuildWriter { @Override protected String bomAsString(BillOfMaterials bom) { - return "mavenBom(\"" + bom.getGroupId() + ":" + bom.getArtifactId() + ":" - + determineVersion(bom.getVersion()) + "\")"; + return "mavenBom(\"" + bom.getGroupId() + ":" + bom.getArtifactId() + ":" + determineVersion(bom.getVersion()) + + "\")"; } private String determineVersion(VersionReference versionReference) { if (versionReference != null) { if (versionReference.isProperty()) { VersionProperty property = versionReference.getProperty(); - return "${property(\"" + (property.isInternal() - ? property.toCamelCaseFormat() : property.toStandardFormat()) - + "\")}"; + return "${property(\"" + + (property.isInternal() ? property.toCamelCaseFormat() : property.toStandardFormat()) + "\")}"; } return versionReference.getValue(); } @@ -203,10 +191,8 @@ public class KotlinDslGradleBuildWriter extends GradleBuildWriter { } @Override - protected void writeTasksWithTypeCustomizations(IndentingWriter writer, - GradleBuild build) { - Map tasksWithTypeCustomizations = build - .getTasksWithTypeCustomizations(); + protected void writeTasksWithTypeCustomizations(IndentingWriter writer, GradleBuild build) { + Map tasksWithTypeCustomizations = build.getTasksWithTypeCustomizations(); tasksWithTypeCustomizations.forEach((typeName, customization) -> { writer.println(); @@ -230,8 +216,7 @@ public class KotlinDslGradleBuildWriter extends GradleBuildWriter { @Override protected String invocationAsString(TaskCustomization.Invocation invocation) { - return invocation.getTarget() + "(" + String.join(", ", invocation.getArguments()) - + ")"; + return invocation.getTarget() + "(" + String.join(", ", invocation.getArguments()) + ")"; } @Override diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenBuild.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenBuild.java index 82554289..99b6e7ab 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenBuild.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenBuild.java @@ -112,8 +112,7 @@ public class MavenBuild extends Build { } public MavenPlugin plugin(String groupId, String artifactId, String version) { - MavenPlugin mavenPlugin = this.plugins.computeIfAbsent( - pluginKey(groupId, artifactId), + MavenPlugin mavenPlugin = this.plugins.computeIfAbsent(pluginKey(groupId, artifactId), (id) -> new MavenPlugin(groupId, artifactId)); mavenPlugin.setVersion(version); return mavenPlugin; diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildWriter.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildWriter.java index 74678f25..19f19dff 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildWriter.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildWriter.java @@ -114,10 +114,9 @@ public class MavenBuildWriter { } writer.println(); writeElement(writer, "properties", () -> { - build.getProperties() - .forEach((key, value) -> writeSingleElement(writer, key, value)); - build.getVersionProperties().forEach((key, - value) -> writeSingleElement(writer, key.toStandardFormat(), value)); + build.getProperties().forEach((key, value) -> writeSingleElement(writer, key, value)); + build.getVersionProperties() + .forEach((key, value) -> writeSingleElement(writer, key.toStandardFormat(), value)); }); } @@ -128,8 +127,8 @@ public class MavenBuildWriter { DependencyContainer dependencies = build.dependencies(); writer.println(); writeElement(writer, "dependencies", () -> { - Collection compiledDependencies = writeDependencies(writer, - dependencies, DependencyScope.COMPILE); + Collection compiledDependencies = writeDependencies(writer, dependencies, + DependencyScope.COMPILE); if (!compiledDependencies.isEmpty()) { writer.println(); } @@ -137,13 +136,12 @@ public class MavenBuildWriter { writeDependencies(writer, dependencies, DependencyScope.COMPILE_ONLY); writeDependencies(writer, dependencies, DependencyScope.ANNOTATION_PROCESSOR); writeDependencies(writer, dependencies, DependencyScope.PROVIDED_RUNTIME); - writeDependencies(writer, dependencies, DependencyScope.TEST_COMPILE, - DependencyScope.TEST_RUNTIME); + writeDependencies(writer, dependencies, DependencyScope.TEST_COMPILE, DependencyScope.TEST_RUNTIME); }); } - private Collection writeDependencies(IndentingWriter writer, - DependencyContainer dependencies, DependencyScope... types) { + private Collection writeDependencies(IndentingWriter writer, DependencyContainer dependencies, + DependencyScope... types) { Collection candidates = filterDependencies(dependencies, types); writeCollection(writer, candidates, this::writeDependency); return candidates; @@ -153,16 +151,15 @@ public class MavenBuildWriter { writeElement(writer, "dependency", () -> { writeSingleElement(writer, "groupId", dependency.getGroupId()); writeSingleElement(writer, "artifactId", dependency.getArtifactId()); - writeSingleElement(writer, "version", - determineVersion(dependency.getVersion())); + writeSingleElement(writer, "version", determineVersion(dependency.getVersion())); writeSingleElement(writer, "scope", scopeForType(dependency.getScope())); if (isOptional(dependency)) { writeSingleElement(writer, "optional", Boolean.toString(true)); } writeSingleElement(writer, "type", dependency.getType()); if (!dependency.getExclusions().isEmpty()) { - writeElement(writer, "exclusions", () -> writeCollection(writer, - dependency.getExclusions(), this::writeDependencyExclusion)); + writeElement(writer, "exclusions", + () -> writeCollection(writer, dependency.getExclusions(), this::writeDependencyExclusion)); } }); } @@ -174,8 +171,8 @@ public class MavenBuildWriter { }); } - private static Collection filterDependencies( - DependencyContainer dependencies, DependencyScope... scopes) { + private static Collection filterDependencies(DependencyContainer dependencies, + DependencyScope... scopes) { List candidates = Arrays.asList(scopes); return dependencies.items().filter((dep) -> candidates.contains(dep.getScope())) .sorted(DependencyComparator.INSTANCE).collect(Collectors.toList()); @@ -198,14 +195,12 @@ public class MavenBuildWriter { case TEST_RUNTIME: return "test"; default: - throw new IllegalStateException( - "Unrecognized dependency type '" + type + "'"); + throw new IllegalStateException("Unrecognized dependency type '" + type + "'"); } } private boolean isOptional(Dependency dependency) { - if (dependency instanceof MavenDependency - && ((MavenDependency) dependency).isOptional()) { + if (dependency instanceof MavenDependency && ((MavenDependency) dependency).isOptional()) { return true; } return (dependency.getScope() == DependencyScope.ANNOTATION_PROCESSOR @@ -216,12 +211,11 @@ public class MavenBuildWriter { if (build.boms().isEmpty()) { return; } - List boms = build.boms().items() - .sorted(Comparator.comparing(BillOfMaterials::getOrder)) + List boms = build.boms().items().sorted(Comparator.comparing(BillOfMaterials::getOrder)) .collect(Collectors.toList()); writer.println(); - writeElement(writer, "dependencyManagement", () -> writeElement(writer, - "dependencies", () -> writeCollection(writer, boms, this::writeBom))); + writeElement(writer, "dependencyManagement", + () -> writeElement(writer, "dependencies", () -> writeCollection(writer, boms, this::writeBom))); } private void writeBom(IndentingWriter writer, BillOfMaterials bom) { @@ -238,8 +232,7 @@ public class MavenBuildWriter { if (versionReference == null) { return null; } - return (versionReference.isProperty()) - ? "${" + versionReference.getProperty().toStandardFormat() + "}" + return (versionReference.isProperty()) ? "${" + versionReference.getProperty().toStandardFormat() + "}" : versionReference.getValue(); } @@ -251,8 +244,7 @@ public class MavenBuildWriter { writer.println(); writeElement(writer, "build", () -> { writeSingleElement(writer, "sourceDirectory", build.getSourceDirectory()); - writeSingleElement(writer, "testSourceDirectory", - build.getTestSourceDirectory()); + writeSingleElement(writer, "testSourceDirectory", build.getTestSourceDirectory()); writePlugins(writer, build); }); @@ -262,8 +254,7 @@ public class MavenBuildWriter { if (build.getPlugins().isEmpty()) { return; } - writeElement(writer, "plugins", - () -> writeCollection(writer, build.getPlugins(), this::writePlugin)); + writeElement(writer, "plugins", () -> writeCollection(writer, build.getPlugins(), this::writePlugin)); } private void writePlugin(IndentingWriter writer, MavenPlugin plugin) { @@ -276,23 +267,22 @@ public class MavenBuildWriter { } writePluginConfiguration(writer, plugin.getConfiguration()); if (!plugin.getExecutions().isEmpty()) { - writeElement(writer, "executions", () -> writeCollection(writer, - plugin.getExecutions(), this::writePluginExecution)); + writeElement(writer, "executions", + () -> writeCollection(writer, plugin.getExecutions(), this::writePluginExecution)); } if (!plugin.getDependencies().isEmpty()) { - writeElement(writer, "dependencies", () -> writeCollection(writer, - plugin.getDependencies(), this::writePluginDependency)); + writeElement(writer, "dependencies", + () -> writeCollection(writer, plugin.getDependencies(), this::writePluginDependency)); } }); } - private void writePluginConfiguration(IndentingWriter writer, - Configuration configuration) { + private void writePluginConfiguration(IndentingWriter writer, Configuration configuration) { if (configuration == null || configuration.getSettings().isEmpty()) { return; } - writeElement(writer, "configuration", () -> writeCollection(writer, - configuration.getSettings(), this::writeSetting)); + writeElement(writer, "configuration", + () -> writeCollection(writer, configuration.getSettings(), this::writeSetting)); } @SuppressWarnings("unchecked") @@ -301,8 +291,8 @@ public class MavenBuildWriter { writeSingleElement(writer, setting.getName(), (String) setting.getValue()); } else if (setting.getValue() instanceof List) { - writeElement(writer, setting.getName(), () -> writeCollection(writer, - (List) setting.getValue(), this::writeSetting)); + writeElement(writer, setting.getName(), + () -> writeCollection(writer, (List) setting.getValue(), this::writeSetting)); } } @@ -312,15 +302,13 @@ public class MavenBuildWriter { writeSingleElement(writer, "phase", execution.getPhase()); List goals = execution.getGoals(); if (!goals.isEmpty()) { - writeElement(writer, "goals", () -> goals - .forEach((goal) -> writeSingleElement(writer, "goal", goal))); + writeElement(writer, "goals", () -> goals.forEach((goal) -> writeSingleElement(writer, "goal", goal))); } writePluginConfiguration(writer, execution.getConfiguration()); }); } - private void writePluginDependency(IndentingWriter writer, - MavenPlugin.Dependency dependency) { + private void writePluginDependency(IndentingWriter writer, MavenPlugin.Dependency dependency) { writeElement(writer, "dependency", () -> { writeSingleElement(writer, "groupId", dependency.getGroupId()); writeSingleElement(writer, "artifactId", dependency.getArtifactId()); @@ -329,10 +317,8 @@ public class MavenBuildWriter { } private void writeRepositories(IndentingWriter writer, MavenBuild build) { - List repositories = filterRepositories( - build.repositories().items()); - List pluginRepositories = filterRepositories( - build.pluginRepositories().items()); + List repositories = filterRepositories(build.repositories().items()); + List pluginRepositories = filterRepositories(build.pluginRepositories().items()); if (repositories.isEmpty() && pluginRepositories.isEmpty()) { return; } @@ -341,28 +327,25 @@ public class MavenBuildWriter { writeRepositories(writer, "repositories", "repository", repositories); } if (!pluginRepositories.isEmpty()) { - writeRepositories(writer, "pluginRepositories", "pluginRepository", - pluginRepositories); + writeRepositories(writer, "pluginRepositories", "pluginRepository", pluginRepositories); } } - private List filterRepositories( - Stream repositories) { - return repositories - .filter((repository) -> !MavenRepository.MAVEN_CENTRAL.equals(repository)) + private List filterRepositories(Stream repositories) { + return repositories.filter((repository) -> !MavenRepository.MAVEN_CENTRAL.equals(repository)) .collect(Collectors.toList()); } - private void writeRepositories(IndentingWriter writer, String containerName, - String childName, List repositories) { - writeElement(writer, containerName, () -> repositories - .forEach((repository) -> writeElement(writer, childName, () -> { + private void writeRepositories(IndentingWriter writer, String containerName, String childName, + List repositories) { + writeElement(writer, containerName, + () -> repositories.forEach((repository) -> writeElement(writer, childName, () -> { writeSingleElement(writer, "id", repository.getId()); writeSingleElement(writer, "name", repository.getName()); writeSingleElement(writer, "url", repository.getUrl()); if (repository.isSnapshotsEnabled()) { - writeElement(writer, "snapshots", () -> writeSingleElement(writer, - "enabled", Boolean.toString(true))); + writeElement(writer, "snapshots", + () -> writeSingleElement(writer, "enabled", Boolean.toString(true))); } }))); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenDependency.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenDependency.java index 838cf1f6..3c452286 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenDependency.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenDependency.java @@ -37,8 +37,7 @@ public class MavenDependency extends Dependency { } public static Builder from(Dependency dependency) { - return new Builder(dependency.getGroupId(), dependency.getArtifactId()) - .initialize(dependency); + return new Builder(dependency.getGroupId(), dependency.getArtifactId()).initialize(dependency); } public boolean isOptional() { diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenPlugin.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenPlugin.java index a0792167..50099032 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenPlugin.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/maven/MavenPlugin.java @@ -80,13 +80,11 @@ public class MavenPlugin { } public void execution(String id, Consumer customizer) { - customizer.accept( - this.executions.computeIfAbsent(id, (key) -> new ExecutionBuilder(id))); + customizer.accept(this.executions.computeIfAbsent(id, (key) -> new ExecutionBuilder(id))); } public List getExecutions() { - return this.executions.values().stream().map(ExecutionBuilder::build) - .collect(Collectors.toList()); + return this.executions.values().stream().map(ExecutionBuilder::build).collect(Collectors.toList()); } public void dependency(String groupId, String artifactId, String version) { @@ -98,8 +96,7 @@ public class MavenPlugin { } public Configuration getConfiguration() { - return (this.configurationCustomization == null) ? null - : this.configurationCustomization.build(); + return (this.configurationCustomization == null) ? null : this.configurationCustomization.build(); } public boolean isExtensions() { @@ -132,8 +129,7 @@ public class MavenPlugin { Execution build() { return new Execution(this.id, this.phase, this.goals, - (this.configurationCustomization == null) ? null - : this.configurationCustomization.build()); + (this.configurationCustomization == null) ? null : this.configurationCustomization.build()); } public ExecutionBuilder phase(String phase) { @@ -181,20 +177,16 @@ public class MavenPlugin { * @throws IllegalArgumentException if a parameter with the same name is * registered with a single value */ - public ConfigurationCustomization configure(String name, - Consumer consumer) { - Object value = this.settings.stream() - .filter((candidate) -> candidate.getName().equals(name)).findFirst() + public ConfigurationCustomization configure(String name, Consumer consumer) { + Object value = this.settings.stream().filter((candidate) -> candidate.getName().equals(name)).findFirst() .orElseGet(() -> { - Setting nestedSetting = new Setting(name, - new ConfigurationCustomization()); + Setting nestedSetting = new Setting(name, new ConfigurationCustomization()); this.settings.add(nestedSetting); return nestedSetting; }).getValue(); if (!(value instanceof ConfigurationCustomization)) { throw new IllegalArgumentException(String.format( - "Could not customize parameter '%s', a single value %s is already registered", - name, value)); + "Could not customize parameter '%s', a single value %s is already registered", name, value)); } ConfigurationCustomization nestedConfiguration = (ConfigurationCustomization) value; consumer.accept(nestedConfiguration); @@ -202,17 +194,14 @@ public class MavenPlugin { } Configuration build() { - return new Configuration(this.settings.stream() - .map((entry) -> resolve(entry.getName(), entry.getValue())) + return new Configuration(this.settings.stream().map((entry) -> resolve(entry.getName(), entry.getValue())) .collect(Collectors.toList())); } private Setting resolve(String key, Object value) { if (value instanceof ConfigurationCustomization) { - List values = ((ConfigurationCustomization) value).settings - .stream() - .map((entry) -> resolve(entry.getName(), entry.getValue())) - .collect(Collectors.toList()); + List values = ((ConfigurationCustomization) value).settings.stream() + .map((entry) -> resolve(entry.getName(), entry.getValue())).collect(Collectors.toList()); return new Setting(key, values); } else { @@ -276,8 +265,7 @@ public class MavenPlugin { private final Configuration configuration; - private Execution(String id, String phase, List goals, - Configuration configuration) { + private Execution(String id, String phase, List goals, Configuration configuration) { this.id = id; this.phase = phase; this.goals = goals; diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnBuildSystemCondition.java b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnBuildSystemCondition.java index 39414f77..38222a84 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnBuildSystemCondition.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnBuildSystemCondition.java @@ -33,8 +33,8 @@ import org.springframework.util.StringUtils; class OnBuildSystemCondition extends ProjectGenerationCondition { @Override - protected boolean matches(ResolvedProjectDescription projectDescription, - ConditionContext context, AnnotatedTypeMetadata metadata) { + protected boolean matches(ResolvedProjectDescription projectDescription, ConditionContext context, + AnnotatedTypeMetadata metadata) { MultiValueMap attributes = metadata .getAllAnnotationAttributes(ConditionalOnBuildSystem.class.getName()); String buildSystemId = (String) attributes.getFirst("value"); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnLanguageCondition.java b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnLanguageCondition.java index b72ba69f..ef2d80cf 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnLanguageCondition.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnLanguageCondition.java @@ -31,13 +31,12 @@ import org.springframework.core.type.AnnotatedTypeMetadata; class OnLanguageCondition extends ProjectGenerationCondition { @Override - protected boolean matches(ResolvedProjectDescription projectDescription, - ConditionContext context, AnnotatedTypeMetadata metadata) { + protected boolean matches(ResolvedProjectDescription projectDescription, ConditionContext context, + AnnotatedTypeMetadata metadata) { if (projectDescription.getLanguage() == null) { return false; } - String languageId = (String) metadata - .getAllAnnotationAttributes(ConditionalOnLanguage.class.getName()) + String languageId = (String) metadata.getAllAnnotationAttributes(ConditionalOnLanguage.class.getName()) .getFirst("value"); Language language = Language.forId(languageId, null); return projectDescription.getLanguage().id().equals(language.id()); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnPackagingCondition.java b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnPackagingCondition.java index 366d65bd..e3ab046f 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnPackagingCondition.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnPackagingCondition.java @@ -31,13 +31,12 @@ import org.springframework.core.type.AnnotatedTypeMetadata; class OnPackagingCondition extends ProjectGenerationCondition { @Override - protected boolean matches(ResolvedProjectDescription projectDescription, - ConditionContext context, AnnotatedTypeMetadata metadata) { + protected boolean matches(ResolvedProjectDescription projectDescription, ConditionContext context, + AnnotatedTypeMetadata metadata) { if (projectDescription.getPackaging() == null) { return false; } - String packagingId = (String) metadata - .getAllAnnotationAttributes(ConditionalOnPackaging.class.getName()) + String packagingId = (String) metadata.getAllAnnotationAttributes(ConditionalOnPackaging.class.getName()) .getFirst("value"); Packaging packaging = Packaging.forId(packagingId); return projectDescription.getPackaging().id().equals(packaging.id()); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnPlatformVersionCondition.java b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnPlatformVersionCondition.java index aea9488c..0ea8af87 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnPlatformVersionCondition.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnPlatformVersionCondition.java @@ -35,19 +35,15 @@ import org.springframework.core.type.AnnotatedTypeMetadata; class OnPlatformVersionCondition extends ProjectGenerationCondition { @Override - protected boolean matches(ResolvedProjectDescription projectDescription, - ConditionContext context, AnnotatedTypeMetadata metadata) { + protected boolean matches(ResolvedProjectDescription projectDescription, ConditionContext context, + AnnotatedTypeMetadata metadata) { Version platformVersion = projectDescription.getPlatformVersion(); if (platformVersion == null) { return false; } - return Arrays - .stream((String[]) metadata - .getAnnotationAttributes( - ConditionalOnPlatformVersion.class.getName()) - .get("value")) - .anyMatch((range) -> VersionParser.DEFAULT.parseRange(range) - .match(platformVersion)); + return Arrays.stream( + (String[]) metadata.getAnnotationAttributes(ConditionalOnPlatformVersion.class.getName()).get("value")) + .anyMatch((range) -> VersionParser.DEFAULT.parseRange(range).match(platformVersion)); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnRequestedDependencyCondition.java b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnRequestedDependencyCondition.java index 4f5d8c9c..0891abfe 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnRequestedDependencyCondition.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/OnRequestedDependencyCondition.java @@ -30,10 +30,9 @@ import org.springframework.core.type.AnnotatedTypeMetadata; class OnRequestedDependencyCondition extends ProjectGenerationCondition { @Override - protected boolean matches(ResolvedProjectDescription projectDescription, - ConditionContext context, AnnotatedTypeMetadata metadata) { - String id = (String) metadata - .getAnnotationAttributes(ConditionalOnRequestedDependency.class.getName()) + protected boolean matches(ResolvedProjectDescription projectDescription, ConditionContext context, + AnnotatedTypeMetadata metadata) { + String id = (String) metadata.getAnnotationAttributes(ConditionalOnRequestedDependency.class.getName()) .get("value"); return projectDescription.getRequestedDependencies().containsKey(id); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/ProjectGenerationCondition.java b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/ProjectGenerationCondition.java index 6475c31e..e4e07ee4 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/condition/ProjectGenerationCondition.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/condition/ProjectGenerationCondition.java @@ -36,7 +36,7 @@ public abstract class ProjectGenerationCondition implements Condition { return matches(projectDescription, context, metadata); } - protected abstract boolean matches(ResolvedProjectDescription projectDescription, - ConditionContext context, AnnotatedTypeMetadata metadata); + protected abstract boolean matches(ResolvedProjectDescription projectDescription, ConditionContext context, + AnnotatedTypeMetadata metadata); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/io/IndentingWriterFactory.java b/initializr-generator/src/main/java/io/spring/initializr/generator/io/IndentingWriterFactory.java index 80e584ac..9b5e8ad0 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/io/IndentingWriterFactory.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/io/IndentingWriterFactory.java @@ -47,8 +47,8 @@ public final class IndentingWriterFactory { * @return a configured {@link IndentingWriter} */ public IndentingWriter createIndentingWriter(String contentId, Writer out) { - Function indentingStrategy = this.indentingStrategies - .getOrDefault(contentId, this.defaultIndentingStrategy); + Function indentingStrategy = this.indentingStrategies.getOrDefault(contentId, + this.defaultIndentingStrategy); return new IndentingWriter(out, indentingStrategy); } @@ -65,8 +65,7 @@ public final class IndentingWriterFactory { * @param defaultIndentingStrategy the default indenting strategy to use * @return an {@link IndentingWriterFactory} */ - public static IndentingWriterFactory create( - Function defaultIndentingStrategy) { + public static IndentingWriterFactory create(Function defaultIndentingStrategy) { return new IndentingWriterFactory(new Builder(defaultIndentingStrategy)); } @@ -76,8 +75,7 @@ public final class IndentingWriterFactory { * @param factory a consumer of the builder to apply further customizations * @return an {@link IndentingWriterFactory} */ - public static IndentingWriterFactory create( - Function defaultIndentingStrategy, + public static IndentingWriterFactory create(Function defaultIndentingStrategy, Consumer factory) { Builder factoryBuilder = new Builder(defaultIndentingStrategy); factory.accept(factoryBuilder); @@ -104,8 +102,7 @@ public final class IndentingWriterFactory { * @return this builder * @see #createIndentingWriter(String, Writer) */ - public Builder indentingStrategy(String contentId, - Function indentingStrategy) { + public Builder indentingStrategy(String contentId, Function indentingStrategy) { this.indentingStrategies.put(contentId, indentingStrategy); return this; } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/io/SimpleIndentStrategy.java b/initializr-generator/src/main/java/io/spring/initializr/generator/io/SimpleIndentStrategy.java index f12d4c1d..a8a991a8 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/io/SimpleIndentStrategy.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/io/SimpleIndentStrategy.java @@ -41,8 +41,7 @@ public class SimpleIndentStrategy implements Function { @Override public String apply(Integer level) { if (level < 0) { - throw new IllegalArgumentException( - "Indent level must not be negative, got" + level); + throw new IllegalArgumentException("Indent level must not be negative, got" + level); } StringBuilder indentBuilder = new StringBuilder(); for (int i = 0; i < level; i++) { diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/io/template/MustacheTemplateRenderer.java b/initializr-generator/src/main/java/io/spring/initializr/generator/io/template/MustacheTemplateRenderer.java index ef86275e..06af1a85 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/io/template/MustacheTemplateRenderer.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/io/template/MustacheTemplateRenderer.java @@ -47,10 +47,8 @@ public class MustacheTemplateRenderer implements TemplateRenderer { private final Cache templateCache; public MustacheTemplateRenderer(String resourcePrefix, Cache templateCache) { - String prefix = (resourcePrefix.endsWith("/") ? resourcePrefix - : resourcePrefix + "/"); - this.mustache = Mustache.compiler().withLoader(mustacheTemplateLoader(prefix)) - .escapeHTML(false); + String prefix = (resourcePrefix.endsWith("/") ? resourcePrefix : resourcePrefix + "/"); + this.mustache = Mustache.compiler().withLoader(mustacheTemplateLoader(prefix)).escapeHTML(false); this.keyGenerator = (name) -> String.format("%s%s", prefix, name); this.templateCache = templateCache; } @@ -63,9 +61,7 @@ public class MustacheTemplateRenderer implements TemplateRenderer { ResourceLoader resourceLoader = new DefaultResourceLoader(); return (name) -> { String location = prefix + name + ".mustache"; - return new InputStreamReader( - resourceLoader.getResource(location).getInputStream(), - StandardCharsets.UTF_8); + return new InputStreamReader(resourceLoader.getResource(location).getInputStream(), StandardCharsets.UTF_8); }; } @@ -79,8 +75,7 @@ public class MustacheTemplateRenderer implements TemplateRenderer { try { if (this.templateCache != null) { try { - return this.templateCache.get(this.keyGenerator.apply(name), - () -> loadTemplate(name)); + return this.templateCache.get(this.keyGenerator.apply(name), () -> loadTemplate(name)); } catch (ValueRetrievalException ex) { throw ex.getCause(); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/io/text/BulletedSection.java b/initializr-generator/src/main/java/io/spring/initializr/generator/io/text/BulletedSection.java index 9b6e6721..db9c2634 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/io/text/BulletedSection.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/io/text/BulletedSection.java @@ -46,8 +46,7 @@ public class BulletedSection implements Section { this(templateRenderer, templateName, "items"); } - public BulletedSection(TemplateRenderer templateRenderer, String templateName, - String itemName) { + public BulletedSection(TemplateRenderer templateRenderer, String templateName, String itemName) { this.templateRenderer = templateRenderer; this.templateName = templateName; this.itemName = itemName; diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/io/text/MustacheSection.java b/initializr-generator/src/main/java/io/spring/initializr/generator/io/text/MustacheSection.java index 2e8c989a..d18c04cd 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/io/text/MustacheSection.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/io/text/MustacheSection.java @@ -36,8 +36,7 @@ public class MustacheSection implements Section { private final Map model; - public MustacheSection(MustacheTemplateRenderer templateRenderer, String templateName, - Map model) { + public MustacheSection(MustacheTemplateRenderer templateRenderer, String templateName, Map model) { this.templateRenderer = templateRenderer; this.templateName = templateName; this.model = model; @@ -45,8 +44,7 @@ public class MustacheSection implements Section { @Override public void write(PrintWriter writer) throws IOException { - writer.println(this.templateRenderer.render(this.templateName, - resolveModel(this.model))); + writer.println(this.templateRenderer.render(this.templateName, resolveModel(this.model))); } /** diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/Annotation.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/Annotation.java index 188ba969..d0e50ce2 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/Annotation.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/Annotation.java @@ -38,8 +38,7 @@ public final class Annotation { private Annotation(Builder builder) { this.name = builder.name; - this.attributes = Collections - .unmodifiableList(new ArrayList<>(builder.attributes.values())); + this.attributes = Collections.unmodifiableList(new ArrayList<>(builder.attributes.values())); } public String getName() { diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/Language.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/Language.java index a862c6cd..7d8681a2 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/Language.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/Language.java @@ -37,13 +37,9 @@ public interface Language { String jvmVersion(); static Language forId(String id, String jvmVersion) { - return SpringFactoriesLoader - .loadFactories(LanguageFactory.class, - LanguageFactory.class.getClassLoader()) - .stream().map((factory) -> factory.createLanguage(id, jvmVersion)) - .filter(Objects::nonNull).findFirst() - .orElseThrow(() -> new IllegalStateException( - "Unrecognized language id '" + id + "'")); + return SpringFactoriesLoader.loadFactories(LanguageFactory.class, LanguageFactory.class.getClassLoader()) + .stream().map((factory) -> factory.createLanguage(id, jvmVersion)).filter(Objects::nonNull).findFirst() + .orElseThrow(() -> new IllegalStateException("Unrecognized language id '" + id + "'")); } } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovyMethodDeclaration.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovyMethodDeclaration.java index 30d9ecd5..6edc7b13 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovyMethodDeclaration.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovyMethodDeclaration.java @@ -45,8 +45,8 @@ public final class GroovyMethodDeclaration implements Annotatable { private final List statements; - private GroovyMethodDeclaration(String name, String returnType, int modifiers, - List parameters, List statements) { + private GroovyMethodDeclaration(String name, String returnType, int modifiers, List parameters, + List statements) { this.name = name; this.returnType = returnType; this.modifiers = modifiers; @@ -121,8 +121,8 @@ public final class GroovyMethodDeclaration implements Annotatable { } public GroovyMethodDeclaration body(GroovyStatement... statements) { - return new GroovyMethodDeclaration(this.name, this.returnType, this.modifiers, - this.parameters, Arrays.asList(statements)); + return new GroovyMethodDeclaration(this.name, this.returnType, this.modifiers, this.parameters, + Arrays.asList(statements)); } } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovySourceCode.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovySourceCode.java index f9550429..07cb0e3c 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovySourceCode.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovySourceCode.java @@ -23,8 +23,7 @@ import io.spring.initializr.generator.language.SourceCode; * * @author Stephane Nicoll */ -public class GroovySourceCode - extends SourceCode { +public class GroovySourceCode extends SourceCode { public GroovySourceCode() { super(GroovyCompilationUnit::new); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovySourceCodeWriter.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovySourceCodeWriter.java index 42cde71b..25ad3e98 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovySourceCodeWriter.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/groovy/GroovySourceCodeWriter.java @@ -62,8 +62,7 @@ public class GroovySourceCodeWriter implements SourceCodeWriter, String> methodModifiers = new LinkedHashMap<>( - typeModifiers); + Map, String> methodModifiers = new LinkedHashMap<>(typeModifiers); methodModifiers.put(Modifier::isSynchronized, "synchronized"); methodModifiers.put(Modifier::isNative, "native"); METHOD_MODIFIERS = methodModifiers; @@ -85,12 +84,11 @@ public class GroovySourceCodeWriter implements SourceCodeWriter imports = determineImports(compilationUnit); @@ -109,8 +107,7 @@ public class GroovySourceCodeWriter implements SourceCodeWriter methodDeclarations = type - .getMethodDeclarations(); + List methodDeclarations = type.getMethodDeclarations(); if (!methodDeclarations.isEmpty()) { writer.indented(() -> { for (GroovyMethodDeclaration methodDeclaration : methodDeclarations) { @@ -124,8 +121,7 @@ public class GroovySourceCodeWriter implements SourceCodeWriter writeAnnotation(writer, annotation)); + annotatable.getAnnotations().forEach((annotation) -> writeAnnotation(writer, annotation)); } private void writeAnnotation(IndentingWriter writer, Annotation annotation) { @@ -138,8 +134,7 @@ public class GroovySourceCodeWriter implements SourceCodeWriter attribute.getName() + " = " - + formatAnnotationAttribute(attribute)) + .map((attribute) -> attribute.getName() + " = " + formatAnnotationAttribute(attribute)) .collect(Collectors.joining(", "))); } writer.print(")"); @@ -170,17 +165,14 @@ public class GroovySourceCodeWriter implements SourceCodeWriter 1) ? "{ " + result + " }" : result; } - private void writeMethodDeclaration(IndentingWriter writer, - GroovyMethodDeclaration methodDeclaration) { + private void writeMethodDeclaration(IndentingWriter writer, GroovyMethodDeclaration methodDeclaration) { writeAnnotations(writer, methodDeclaration); writeModifiers(writer, METHOD_MODIFIERS, methodDeclaration.getModifiers()); - writer.print(getUnqualifiedName(methodDeclaration.getReturnType()) + " " - + methodDeclaration.getName() + "("); + writer.print(getUnqualifiedName(methodDeclaration.getReturnType()) + " " + methodDeclaration.getName() + "("); List parameters = methodDeclaration.getParameters(); if (!parameters.isEmpty()) { - writer.print(parameters - .stream().map((parameter) -> getUnqualifiedName(parameter.getType()) - + " " + parameter.getName()) + writer.print(parameters.stream() + .map((parameter) -> getUnqualifiedName(parameter.getType()) + " " + parameter.getName()) .collect(Collectors.joining(", "))); } writer.println(") {"); @@ -188,12 +180,10 @@ public class GroovySourceCodeWriter implements SourceCodeWriter statements = methodDeclaration.getStatements(); for (GroovyStatement statement : statements) { if (statement instanceof GroovyExpressionStatement) { - writeExpression(writer, - ((GroovyExpressionStatement) statement).getExpression()); + writeExpression(writer, ((GroovyExpressionStatement) statement).getExpression()); } else if (statement instanceof GroovyReturnStatement) { - writeExpression(writer, - ((GroovyReturnStatement) statement).getExpression()); + writeExpression(writer, ((GroovyReturnStatement) statement).getExpression()); } writer.println(); } @@ -202,11 +192,11 @@ public class GroovySourceCodeWriter implements SourceCodeWriter, String> availableModifiers, int declaredModifiers) { + private void writeModifiers(IndentingWriter writer, Map, String> availableModifiers, + int declaredModifiers) { String modifiers = availableModifiers.entrySet().stream() - .filter((entry) -> entry.getKey().test(declaredModifiers)) - .map(Entry::getValue).collect(Collectors.joining(" ")); + .filter((entry) -> entry.getKey().test(declaredModifiers)).map(Entry::getValue) + .collect(Collectors.joining(" ")); if (!modifiers.isEmpty()) { writer.print(modifiers); writer.print(" "); @@ -219,15 +209,12 @@ public class GroovySourceCodeWriter implements SourceCodeWriter determineImports(GroovyCompilationUnit compilationUnit) { List imports = new ArrayList<>(); - for (GroovyTypeDeclaration typeDeclaration : compilationUnit - .getTypeDeclarations()) { + for (GroovyTypeDeclaration typeDeclaration : compilationUnit.getTypeDeclarations()) { if (requiresImport(typeDeclaration.getExtends())) { imports.add(typeDeclaration.getExtends()); } - imports.addAll(getRequiredImports(typeDeclaration.getAnnotations(), - this::determineImports)); - for (GroovyMethodDeclaration methodDeclaration : typeDeclaration - .getMethodDeclarations()) { + imports.addAll(getRequiredImports(typeDeclaration.getAnnotations(), this::determineImports)); + for (GroovyMethodDeclaration methodDeclaration : typeDeclaration.getMethodDeclarations()) { if (requiresImport(methodDeclaration.getReturnType())) { imports.add(methodDeclaration.getReturnType()); } - imports.addAll(getRequiredImports(methodDeclaration.getAnnotations(), - this::determineImports)); + imports.addAll(getRequiredImports(methodDeclaration.getAnnotations(), this::determineImports)); imports.addAll(getRequiredImports(methodDeclaration.getParameters(), (parameter) -> Collections.singletonList(parameter.getType()))); - imports.addAll(getRequiredImports( - methodDeclaration.getStatements().stream() - .filter(GroovyExpressionStatement.class::isInstance) - .map(GroovyExpressionStatement.class::cast) - .map(GroovyExpressionStatement::getExpression) - .filter(GroovyMethodInvocation.class::isInstance) - .map(GroovyMethodInvocation.class::cast), - (methodInvocation) -> Collections - .singleton(methodInvocation.getTarget()))); + imports.addAll(getRequiredImports(methodDeclaration.getStatements().stream() + .filter(GroovyExpressionStatement.class::isInstance).map(GroovyExpressionStatement.class::cast) + .map(GroovyExpressionStatement::getExpression).filter(GroovyMethodInvocation.class::isInstance) + .map(GroovyMethodInvocation.class::cast), + (methodInvocation) -> Collections.singleton(methodInvocation.getTarget()))); } } Collections.sort(imports); @@ -277,23 +256,20 @@ public class GroovySourceCodeWriter implements SourceCodeWriter value.substring(0, value.lastIndexOf("."))) + imports.addAll(attribute.getValues().stream().map((value) -> value.substring(0, value.lastIndexOf("."))) .collect(Collectors.toList())); } }); return imports; } - private List getRequiredImports(List candidates, - Function> mapping) { + private List getRequiredImports(List candidates, Function> mapping) { return getRequiredImports(candidates.stream(), mapping); } - private List getRequiredImports(Stream candidates, - Function> mapping) { - return candidates.map(mapping).flatMap(Collection::stream) - .filter(this::requiresImport).collect(Collectors.toList()); + private List getRequiredImports(Stream candidates, Function> mapping) { + return candidates.map(mapping).flatMap(Collection::stream).filter(this::requiresImport) + .collect(Collectors.toList()); } private String getUnqualifiedName(String name) { diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/java/JavaMethodDeclaration.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/java/JavaMethodDeclaration.java index cc6df89f..710a7cff 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/java/JavaMethodDeclaration.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/java/JavaMethodDeclaration.java @@ -44,8 +44,8 @@ public final class JavaMethodDeclaration implements Annotatable { private final List statements; - private JavaMethodDeclaration(String name, String returnType, int modifiers, - List parameters, List statements) { + private JavaMethodDeclaration(String name, String returnType, int modifiers, List parameters, + List statements) { this.name = name; this.returnType = returnType; this.modifiers = modifiers; @@ -120,8 +120,8 @@ public final class JavaMethodDeclaration implements Annotatable { } public JavaMethodDeclaration body(JavaStatement... statements) { - return new JavaMethodDeclaration(this.name, this.returnType, this.modifiers, - this.parameters, Arrays.asList(statements)); + return new JavaMethodDeclaration(this.name, this.returnType, this.modifiers, this.parameters, + Arrays.asList(statements)); } } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/java/JavaSourceCodeWriter.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/java/JavaSourceCodeWriter.java index 16045282..d60e1d53 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/java/JavaSourceCodeWriter.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/java/JavaSourceCodeWriter.java @@ -63,8 +63,7 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { typeModifiers.put(Modifier::isFinal, "final"); typeModifiers.put(Modifier::isStrict, "strictfp"); TYPE_MODIFIERS = typeModifiers; - Map, String> methodModifiers = new LinkedHashMap<>( - typeModifiers); + Map, String> methodModifiers = new LinkedHashMap<>(typeModifiers); methodModifiers.put(Modifier::isSynchronized, "synchronized"); methodModifiers.put(Modifier::isNative, "native"); METHOD_MODIFIERS = methodModifiers; @@ -86,12 +85,11 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { } } - private void writeTo(Path directory, JavaCompilationUnit compilationUnit) - throws IOException { + private void writeTo(Path directory, JavaCompilationUnit compilationUnit) throws IOException { Path output = fileForCompilationUnit(directory, compilationUnit); Files.createDirectories(output.getParent()); - try (IndentingWriter writer = this.indentingWriterFactory - .createIndentingWriter("java", Files.newBufferedWriter(output))) { + try (IndentingWriter writer = this.indentingWriterFactory.createIndentingWriter("java", + Files.newBufferedWriter(output))) { writer.println("package " + compilationUnit.getPackageName() + ";"); writer.println(); Set imports = determineImports(compilationUnit); @@ -110,8 +108,7 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { } writer.println(" {"); writer.println(); - List methodDeclarations = type - .getMethodDeclarations(); + List methodDeclarations = type.getMethodDeclarations(); if (!methodDeclarations.isEmpty()) { writer.indented(() -> { for (JavaMethodDeclaration methodDeclaration : methodDeclarations) { @@ -125,8 +122,7 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { } private void writeAnnotations(IndentingWriter writer, Annotatable annotatable) { - annotatable.getAnnotations() - .forEach((annotation) -> writeAnnotation(writer, annotation)); + annotatable.getAnnotations().forEach((annotation) -> writeAnnotation(writer, annotation)); } private void writeAnnotation(IndentingWriter writer, Annotation annotation) { @@ -139,8 +135,7 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { } else { writer.print(attributes.stream() - .map((attribute) -> attribute.getName() + " = " - + formatAnnotationAttribute(attribute)) + .map((attribute) -> attribute.getName() + " = " + formatAnnotationAttribute(attribute)) .collect(Collectors.joining(", "))); } writer.print(")"); @@ -151,8 +146,7 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { private String formatAnnotationAttribute(Annotation.Attribute attribute) { List values = attribute.getValues(); if (attribute.getType().equals(Class.class)) { - return formatValues(values, - (value) -> String.format("%s.class", getUnqualifiedName(value))); + return formatValues(values, (value) -> String.format("%s.class", getUnqualifiedName(value))); } if (Enum.class.isAssignableFrom(attribute.getType())) { return formatValues(values, (value) -> { @@ -172,17 +166,14 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { return (values.size() > 1) ? "{ " + result + " }" : result; } - private void writeMethodDeclaration(IndentingWriter writer, - JavaMethodDeclaration methodDeclaration) { + private void writeMethodDeclaration(IndentingWriter writer, JavaMethodDeclaration methodDeclaration) { writeAnnotations(writer, methodDeclaration); writeModifiers(writer, METHOD_MODIFIERS, methodDeclaration.getModifiers()); - writer.print(getUnqualifiedName(methodDeclaration.getReturnType()) + " " - + methodDeclaration.getName() + "("); + writer.print(getUnqualifiedName(methodDeclaration.getReturnType()) + " " + methodDeclaration.getName() + "("); List parameters = methodDeclaration.getParameters(); if (!parameters.isEmpty()) { - writer.print(parameters - .stream().map((parameter) -> getUnqualifiedName(parameter.getType()) - + " " + parameter.getName()) + writer.print(parameters.stream() + .map((parameter) -> getUnqualifiedName(parameter.getType()) + " " + parameter.getName()) .collect(Collectors.joining(", "))); } writer.println(") {"); @@ -190,13 +181,11 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { List statements = methodDeclaration.getStatements(); for (JavaStatement statement : statements) { if (statement instanceof JavaExpressionStatement) { - writeExpression(writer, - ((JavaExpressionStatement) statement).getExpression()); + writeExpression(writer, ((JavaExpressionStatement) statement).getExpression()); } else if (statement instanceof JavaReturnStatement) { writer.print("return "); - writeExpression(writer, - ((JavaReturnStatement) statement).getExpression()); + writeExpression(writer, ((JavaReturnStatement) statement).getExpression()); } writer.println(";"); } @@ -205,11 +194,11 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { writer.println(); } - private void writeModifiers(IndentingWriter writer, - Map, String> availableModifiers, int declaredModifiers) { + private void writeModifiers(IndentingWriter writer, Map, String> availableModifiers, + int declaredModifiers) { String modifiers = availableModifiers.entrySet().stream() - .filter((entry) -> entry.getKey().test(declaredModifiers)) - .map(Entry::getValue).collect(Collectors.joining(" ")); + .filter((entry) -> entry.getKey().test(declaredModifiers)).map(Entry::getValue) + .collect(Collectors.joining(" ")); if (!modifiers.isEmpty()) { writer.print(modifiers); writer.print(" "); @@ -222,15 +211,12 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { } } - private void writeMethodInvocation(IndentingWriter writer, - JavaMethodInvocation methodInvocation) { - writer.print(getUnqualifiedName(methodInvocation.getTarget()) + "." - + methodInvocation.getName() + "(" + private void writeMethodInvocation(IndentingWriter writer, JavaMethodInvocation methodInvocation) { + writer.print(getUnqualifiedName(methodInvocation.getTarget()) + "." + methodInvocation.getName() + "(" + String.join(", ", methodInvocation.getArguments()) + ")"); } - private Path fileForCompilationUnit(Path directory, - JavaCompilationUnit compilationUnit) { + private Path fileForCompilationUnit(Path directory, JavaCompilationUnit compilationUnit) { return directoryForPackage(directory, compilationUnit.getPackageName()) .resolve(compilationUnit.getName() + ".java"); } @@ -241,31 +227,23 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { private Set determineImports(JavaCompilationUnit compilationUnit) { List imports = new ArrayList<>(); - for (JavaTypeDeclaration typeDeclaration : compilationUnit - .getTypeDeclarations()) { + for (JavaTypeDeclaration typeDeclaration : compilationUnit.getTypeDeclarations()) { if (requiresImport(typeDeclaration.getExtends())) { imports.add(typeDeclaration.getExtends()); } - imports.addAll(getRequiredImports(typeDeclaration.getAnnotations(), - this::determineImports)); - for (JavaMethodDeclaration methodDeclaration : typeDeclaration - .getMethodDeclarations()) { + imports.addAll(getRequiredImports(typeDeclaration.getAnnotations(), this::determineImports)); + for (JavaMethodDeclaration methodDeclaration : typeDeclaration.getMethodDeclarations()) { if (requiresImport(methodDeclaration.getReturnType())) { imports.add(methodDeclaration.getReturnType()); } - imports.addAll(getRequiredImports(methodDeclaration.getAnnotations(), - this::determineImports)); + imports.addAll(getRequiredImports(methodDeclaration.getAnnotations(), this::determineImports)); imports.addAll(getRequiredImports(methodDeclaration.getParameters(), (parameter) -> Collections.singletonList(parameter.getType()))); imports.addAll(getRequiredImports( - methodDeclaration.getStatements().stream() - .filter(JavaExpressionStatement.class::isInstance) - .map(JavaExpressionStatement.class::cast) - .map(JavaExpressionStatement::getExpression) - .filter(JavaMethodInvocation.class::isInstance) - .map(JavaMethodInvocation.class::cast), - (methodInvocation) -> Collections - .singleton(methodInvocation.getTarget()))); + methodDeclaration.getStatements().stream().filter(JavaExpressionStatement.class::isInstance) + .map(JavaExpressionStatement.class::cast).map(JavaExpressionStatement::getExpression) + .filter(JavaMethodInvocation.class::isInstance).map(JavaMethodInvocation.class::cast), + (methodInvocation) -> Collections.singleton(methodInvocation.getTarget()))); } } Collections.sort(imports); @@ -280,23 +258,20 @@ public class JavaSourceCodeWriter implements SourceCodeWriter { imports.addAll(attribute.getValues()); } if (Enum.class.isAssignableFrom(attribute.getType())) { - imports.addAll(attribute.getValues().stream() - .map((value) -> value.substring(0, value.lastIndexOf("."))) + imports.addAll(attribute.getValues().stream().map((value) -> value.substring(0, value.lastIndexOf("."))) .collect(Collectors.toList())); } }); return imports; } - private List getRequiredImports(List candidates, - Function> mapping) { + private List getRequiredImports(List candidates, Function> mapping) { return getRequiredImports(candidates.stream(), mapping); } - private List getRequiredImports(Stream candidates, - Function> mapping) { - return candidates.map(mapping).flatMap(Collection::stream) - .filter(this::requiresImport).collect(Collectors.toList()); + private List getRequiredImports(Stream candidates, Function> mapping) { + return candidates.map(mapping).flatMap(Collection::stream).filter(this::requiresImport) + .collect(Collectors.toList()); } private String getUnqualifiedName(String name) { diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinFunctionDeclaration.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinFunctionDeclaration.java index 6de5e1bf..4329388a 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinFunctionDeclaration.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinFunctionDeclaration.java @@ -44,9 +44,8 @@ public final class KotlinFunctionDeclaration implements Annotatable { private final List statements; - private KotlinFunctionDeclaration(String name, String returnType, - List modifiers, List parameters, - List statements) { + private KotlinFunctionDeclaration(String name, String returnType, List modifiers, + List parameters, List statements) { this.name = name; this.returnType = returnType; this.modifiers = modifiers; @@ -121,8 +120,8 @@ public final class KotlinFunctionDeclaration implements Annotatable { } public KotlinFunctionDeclaration body(KotlinStatement... statements) { - return new KotlinFunctionDeclaration(this.name, this.returnType, - this.modifiers, this.parameters, Arrays.asList(statements)); + return new KotlinFunctionDeclaration(this.name, this.returnType, this.modifiers, this.parameters, + Arrays.asList(statements)); } } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinReifiedFunctionInvocation.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinReifiedFunctionInvocation.java index c4fa15d0..df6f16ec 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinReifiedFunctionInvocation.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinReifiedFunctionInvocation.java @@ -32,8 +32,7 @@ public class KotlinReifiedFunctionInvocation extends KotlinExpression { private final List arguments; - public KotlinReifiedFunctionInvocation(String name, String targetClass, - String... arguments) { + public KotlinReifiedFunctionInvocation(String name, String targetClass, String... arguments) { this.name = name; this.targetClass = targetClass; this.arguments = Arrays.asList(arguments); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCode.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCode.java index 84c3c049..380dc835 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCode.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCode.java @@ -23,8 +23,7 @@ import io.spring.initializr.generator.language.SourceCode; * * @author Stephane Nicoll */ -public class KotlinSourceCode - extends SourceCode { +public class KotlinSourceCode extends SourceCode { public KotlinSourceCode() { super(KotlinCompilationUnit::new); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCodeWriter.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCodeWriter.java index 39ac253b..d4507ed4 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCodeWriter.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCodeWriter.java @@ -61,12 +61,11 @@ public class KotlinSourceCodeWriter implements SourceCodeWriter imports = determineImports(compilationUnit); @@ -83,8 +82,7 @@ public class KotlinSourceCodeWriter implements SourceCodeWriter functionDeclarations = type - .getFunctionDeclarations(); + List functionDeclarations = type.getFunctionDeclarations(); if (!functionDeclarations.isEmpty()) { writer.println(" {"); writer.indented(() -> { @@ -99,8 +97,7 @@ public class KotlinSourceCodeWriter implements SourceCodeWriter topLevelFunctions = compilationUnit - .getTopLevelFunctions(); + List topLevelFunctions = compilationUnit.getTopLevelFunctions(); if (!topLevelFunctions.isEmpty()) { for (KotlinFunctionDeclaration topLevelFunction : topLevelFunctions) { writeFunction(writer, topLevelFunction); @@ -110,8 +107,7 @@ public class KotlinSourceCodeWriter implements SourceCodeWriter parameters = functionDeclaration.getParameters(); if (!parameters.isEmpty()) { writer.print(parameters.stream() - .map((parameter) -> parameter.getName() + ": " - + getUnqualifiedName(parameter.getType())) + .map((parameter) -> parameter.getName() + ": " + getUnqualifiedName(parameter.getType())) .collect(Collectors.joining(", "))); } writer.print(")"); @@ -133,13 +128,11 @@ public class KotlinSourceCodeWriter implements SourceCodeWriter { for (KotlinStatement statement : statements) { if (statement instanceof KotlinExpressionStatement) { - writeExpression(writer, - ((KotlinExpressionStatement) statement).getExpression()); + writeExpression(writer, ((KotlinExpressionStatement) statement).getExpression()); } else if (statement instanceof KotlinReturnStatement) { writer.print("return "); - writeExpression(writer, - ((KotlinReturnStatement) statement).getExpression()); + writeExpression(writer, ((KotlinReturnStatement) statement).getExpression()); } writer.println(""); } @@ -163,8 +156,7 @@ public class KotlinSourceCodeWriter implements SourceCodeWriter attribute.getName() + " = " - + formatAnnotationAttribute(attribute)) + .map((attribute) -> attribute.getName() + " = " + formatAnnotationAttribute(attribute)) .collect(Collectors.joining(", "))); } writer.print(")"); @@ -175,8 +167,7 @@ public class KotlinSourceCodeWriter implements SourceCodeWriter values = attribute.getValues(); if (attribute.getType().equals(Class.class)) { - return formatValues(values, - (value) -> String.format("%s::class", getUnqualifiedName(value))); + return formatValues(values, (value) -> String.format("%s::class", getUnqualifiedName(value))); } if (Enum.class.isAssignableFrom(attribute.getType())) { return formatValues(values, (value) -> { @@ -196,12 +187,9 @@ public class KotlinSourceCodeWriter implements SourceCodeWriter 1) ? "[" + result + "]" : result; } - private void writeModifiers(IndentingWriter writer, - List declaredModifiers) { - String modifiers = declaredModifiers.stream() - .filter((entry) -> !entry.equals(KotlinModifier.PUBLIC)).sorted() - .map((entry) -> entry.toString().toLowerCase(Locale.ENGLISH)) - .collect(Collectors.joining(" ")); + private void writeModifiers(IndentingWriter writer, List declaredModifiers) { + String modifiers = declaredModifiers.stream().filter((entry) -> !entry.equals(KotlinModifier.PUBLIC)).sorted() + .map((entry) -> entry.toString().toLowerCase(Locale.ENGLISH)).collect(Collectors.joining(" ")); if (!modifiers.isEmpty()) { writer.print(modifiers); writer.print(" "); @@ -213,15 +201,12 @@ public class KotlinSourceCodeWriter implements SourceCodeWriter determineImports(KotlinCompilationUnit compilationUnit) { List imports = new ArrayList<>(); - for (KotlinTypeDeclaration typeDeclaration : compilationUnit - .getTypeDeclarations()) { + for (KotlinTypeDeclaration typeDeclaration : compilationUnit.getTypeDeclarations()) { if (requiresImport(typeDeclaration.getExtends())) { imports.add(typeDeclaration.getExtends()); } - imports.addAll(getRequiredImports(typeDeclaration.getAnnotations(), - this::determineImports)); + imports.addAll(getRequiredImports(typeDeclaration.getAnnotations(), this::determineImports)); typeDeclaration.getFunctionDeclarations() - .forEach((functionDeclaration) -> imports - .addAll(determineFunctionImports(functionDeclaration))); + .forEach((functionDeclaration) -> imports.addAll(determineFunctionImports(functionDeclaration))); } - compilationUnit.getTopLevelFunctions().forEach((functionDeclaration) -> imports - .addAll(determineFunctionImports(functionDeclaration))); + compilationUnit.getTopLevelFunctions() + .forEach((functionDeclaration) -> imports.addAll(determineFunctionImports(functionDeclaration))); Collections.sort(imports); return new LinkedHashSet<>(imports); } - private Set determineFunctionImports( - KotlinFunctionDeclaration functionDeclaration) { + private Set determineFunctionImports(KotlinFunctionDeclaration functionDeclaration) { Set imports = new LinkedHashSet<>(); if (requiresImport(functionDeclaration.getReturnType())) { imports.add(functionDeclaration.getReturnType()); } - imports.addAll(getRequiredImports(functionDeclaration.getAnnotations(), - this::determineImports)); + imports.addAll(getRequiredImports(functionDeclaration.getAnnotations(), this::determineImports)); imports.addAll(getRequiredImports(functionDeclaration.getParameters(), (parameter) -> Collections.singleton(parameter.getType()))); imports.addAll(getRequiredImports( - getKotlinExpressions(functionDeclaration) - .filter(KotlinFunctionInvocation.class::isInstance) + getKotlinExpressions(functionDeclaration).filter(KotlinFunctionInvocation.class::isInstance) .map(KotlinFunctionInvocation.class::cast), (invocation) -> Collections.singleton(invocation.getTarget()))); imports.addAll(getRequiredImports( - getKotlinExpressions(functionDeclaration) - .filter(KotlinReifiedFunctionInvocation.class::isInstance) + getKotlinExpressions(functionDeclaration).filter(KotlinReifiedFunctionInvocation.class::isInstance) .map(KotlinReifiedFunctionInvocation.class::cast), (invocation) -> Collections.singleton(invocation.getName()))); return imports; @@ -292,31 +269,25 @@ public class KotlinSourceCodeWriter implements SourceCodeWriter value.substring(0, value.lastIndexOf("."))) + imports.addAll(attribute.getValues().stream().map((value) -> value.substring(0, value.lastIndexOf("."))) .collect(Collectors.toList())); } }); return imports; } - private Stream getKotlinExpressions( - KotlinFunctionDeclaration functionDeclaration) { - return functionDeclaration.getStatements().stream() - .filter(KotlinExpressionStatement.class::isInstance) - .map(KotlinExpressionStatement.class::cast) - .map(KotlinExpressionStatement::getExpression); + private Stream getKotlinExpressions(KotlinFunctionDeclaration functionDeclaration) { + return functionDeclaration.getStatements().stream().filter(KotlinExpressionStatement.class::isInstance) + .map(KotlinExpressionStatement.class::cast).map(KotlinExpressionStatement::getExpression); } - private List getRequiredImports(List candidates, - Function> mapping) { + private List getRequiredImports(List candidates, Function> mapping) { return getRequiredImports(candidates.stream(), mapping); } - private List getRequiredImports(Stream candidates, - Function> mapping) { - return candidates.map(mapping).flatMap(Collection::stream) - .filter(this::requiresImport).collect(Collectors.toList()); + private List getRequiredImports(Stream candidates, Function> mapping) { + return candidates.map(mapping).flatMap(Collection::stream).filter(this::requiresImport) + .collect(Collectors.toList()); } private String getUnqualifiedName(String name) { diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/packaging/Packaging.java b/initializr-generator/src/main/java/io/spring/initializr/generator/packaging/Packaging.java index 777492cb..1d89b276 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/packaging/Packaging.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/packaging/Packaging.java @@ -30,12 +30,9 @@ public interface Packaging { String id(); static Packaging forId(String id) { - return SpringFactoriesLoader - .loadFactories(PackagingFactory.class, Packaging.class.getClassLoader()) - .stream().map((factory) -> factory.createPackaging(id)) - .filter(Objects::nonNull).findFirst() - .orElseThrow(() -> new IllegalStateException( - "Unrecognized packaging id '" + id + "'")); + return SpringFactoriesLoader.loadFactories(PackagingFactory.class, Packaging.class.getClassLoader()).stream() + .map((factory) -> factory.createPackaging(id)).filter(Objects::nonNull).findFirst() + .orElseThrow(() -> new IllegalStateException("Unrecognized packaging id '" + id + "'")); } } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/project/DefaultProjectAssetGenerator.java b/initializr-generator/src/main/java/io/spring/initializr/generator/project/DefaultProjectAssetGenerator.java index 762945de..87874b5c 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/project/DefaultProjectAssetGenerator.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/project/DefaultProjectAssetGenerator.java @@ -34,14 +34,11 @@ public class DefaultProjectAssetGenerator implements ProjectAssetGenerator @Override public Path generate(ProjectGenerationContext context) throws IOException { - ResolvedProjectDescription resolvedProjectDescription = context - .getBean(ResolvedProjectDescription.class); + ResolvedProjectDescription resolvedProjectDescription = context.getBean(ResolvedProjectDescription.class); Path projectRoot = context.getBean(ProjectDirectoryFactory.class) .createProjectDirectory(resolvedProjectDescription); - Path projectDirectory = initializerProjectDirectory(projectRoot, - resolvedProjectDescription); - List contributors = context - .getBeanProvider(ProjectContributor.class).orderedStream() + Path projectDirectory = initializerProjectDirectory(projectRoot, resolvedProjectDescription); + List contributors = context.getBeanProvider(ProjectContributor.class).orderedStream() .collect(Collectors.toList()); for (ProjectContributor contributor : contributors) { contributor.contribute(projectDirectory); @@ -49,8 +46,7 @@ public class DefaultProjectAssetGenerator implements ProjectAssetGenerator return projectRoot; } - private Path initializerProjectDirectory(Path rootDir, - ResolvedProjectDescription description) throws IOException { + private Path initializerProjectDirectory(Path rootDir, ResolvedProjectDescription description) throws IOException { if (description.getBaseDirectory() != null) { Path dir = rootDir.resolve(description.getBaseDirectory()); Files.createDirectories(dir); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectDirectoryFactory.java b/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectDirectoryFactory.java index 6854e5f6..507c955a 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectDirectoryFactory.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectDirectoryFactory.java @@ -34,7 +34,6 @@ public interface ProjectDirectoryFactory { * @return a dedicated existing directory * @throws IOException if creating the directory failed */ - Path createProjectDirectory(ResolvedProjectDescription description) - throws IOException; + Path createProjectDirectory(ResolvedProjectDescription description) throws IOException; } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectGenerator.java b/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectGenerator.java index fd91a225..d2f8fa9d 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectGenerator.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectGenerator.java @@ -54,12 +54,10 @@ public class ProjectGenerator { * @return the generated content * @throws ProjectGenerationException if an error occurs while generating the project */ - public T generate(ProjectDescription description, - ProjectAssetGenerator projectAssetGenerator) + public T generate(ProjectDescription description, ProjectAssetGenerator projectAssetGenerator) throws ProjectGenerationException { try (ProjectGenerationContext context = new ProjectGenerationContext()) { - context.registerBean(ResolvedProjectDescription.class, - resolve(description, context)); + context.registerBean(ResolvedProjectDescription.class, resolve(description, context)); context.register(CoreConfiguration.class); this.projectGenerationContext.accept(context); context.refresh(); @@ -100,8 +98,8 @@ public class ProjectGenerator { @Override public String[] selectImports(AnnotationMetadata importingClassMetadata) { - List factories = SpringFactoriesLoader.loadFactoryNames( - ProjectGenerationConfiguration.class, getClass().getClassLoader()); + List factories = SpringFactoriesLoader.loadFactoryNames(ProjectGenerationConfiguration.class, + getClass().getClassLoader()); return factories.toArray(new String[0]); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/project/ResolvedProjectDescription.java b/initializr-generator/src/main/java/io/spring/initializr/generator/project/ResolvedProjectDescription.java index 418d359b..a48bdc45 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/project/ResolvedProjectDescription.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/project/ResolvedProjectDescription.java @@ -74,8 +74,7 @@ public final class ResolvedProjectDescription { this.applicationName = description.getApplicationName(); this.packageName = getPackageName(description); this.baseDirectory = description.getBaseDirectory(); - Map requestedDependencies = new LinkedHashMap<>( - description.getRequestedDependencies()); + Map requestedDependencies = new LinkedHashMap<>(description.getRequestedDependencies()); this.requestedDependencies = Collections.unmodifiableMap(requestedDependencies); } @@ -83,8 +82,7 @@ public final class ResolvedProjectDescription { if (StringUtils.hasText(description.getPackageName())) { return description.getPackageName(); } - if (StringUtils.hasText(description.getGroupId()) - && StringUtils.hasText(description.getArtifactId())) { + if (StringUtils.hasText(description.getGroupId()) && StringUtils.hasText(description.getArtifactId())) { return description.getGroupId() + "." + description.getArtifactId(); } return null; diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/project/contributor/MultipleResourcesProjectContributor.java b/initializr-generator/src/main/java/io/spring/initializr/generator/project/contributor/MultipleResourcesProjectContributor.java index 153c1145..34e41b2e 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/project/contributor/MultipleResourcesProjectContributor.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/project/contributor/MultipleResourcesProjectContributor.java @@ -44,8 +44,7 @@ public class MultipleResourcesProjectContributor implements ProjectContributor { this(rootResource, (filename) -> false); } - public MultipleResourcesProjectContributor(String rootResource, - Predicate executable) { + public MultipleResourcesProjectContributor(String rootResource, Predicate executable) { this.rootResource = rootResource; this.executable = executable; } @@ -55,14 +54,12 @@ public class MultipleResourcesProjectContributor implements ProjectContributor { Resource root = this.resolver.getResource(this.rootResource); Resource[] resources = this.resolver.getResources(this.rootResource + "/**"); for (Resource resource : resources) { - String filename = resource.getURI().toString() - .substring(root.getURI().toString().length() + 1); + String filename = resource.getURI().toString().substring(root.getURI().toString().length() + 1); if (resource.isReadable()) { Path output = projectRoot.resolve(filename); Files.createDirectories(output.getParent()); Files.createFile(output); - FileCopyUtils.copy(resource.getInputStream(), - Files.newOutputStream(output)); + FileCopyUtils.copy(resource.getInputStream(), Files.newOutputStream(output)); // TODO Set executable using NIO output.toFile().setExecutable(this.executable.test(filename)); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/project/contributor/SingleResourceProjectContributor.java b/initializr-generator/src/main/java/io/spring/initializr/generator/project/contributor/SingleResourceProjectContributor.java index e2f9aeb9..bb97d83d 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/project/contributor/SingleResourceProjectContributor.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/project/contributor/SingleResourceProjectContributor.java @@ -53,8 +53,7 @@ public class SingleResourceProjectContributor implements ProjectContributor { Files.createFile(output); } Resource resource = this.resolver.getResource(this.resourcePattern); - FileCopyUtils.copy(resource.getInputStream(), - Files.newOutputStream(output, StandardOpenOption.APPEND)); + FileCopyUtils.copy(resource.getInputStream(), Files.newOutputStream(output, StandardOpenOption.APPEND)); } } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/version/Version.java b/initializr-generator/src/main/java/io/spring/initializr/generator/version/Version.java index 647c1dc5..8c660ef0 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/version/Version.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/version/Version.java @@ -42,8 +42,7 @@ public final class Version implements Serializable, Comparable { private static final VersionQualifierComparator qualifierComparator = new VersionQualifierComparator(); - private static final VersionParser parser = new VersionParser( - Collections.emptyList()); + private static final VersionParser parser = new VersionParser(Collections.emptyList()); private final Integer major; @@ -185,17 +184,15 @@ public final class Version implements Serializable, Comparable { result = prime * result + ((this.major == null) ? 0 : this.major.hashCode()); result = prime * result + ((this.minor == null) ? 0 : this.minor.hashCode()); result = prime * result + ((this.patch == null) ? 0 : this.patch.hashCode()); - result = prime * result - + ((this.qualifier == null) ? 0 : this.qualifier.hashCode()); + result = prime * result + ((this.qualifier == null) ? 0 : this.qualifier.hashCode()); return result; } @Override public String toString() { - return this.major + "." + this.minor + "." + this.patch - + ((this.qualifier != null) ? "." + this.qualifier.qualifier - + ((this.qualifier.version != null) ? this.qualifier.version : "") - : ""); + return this.major + "." + this.minor + "." + this.patch + ((this.qualifier != null) + ? "." + this.qualifier.qualifier + ((this.qualifier.version != null) ? this.qualifier.version : "") + : ""); } /** @@ -262,18 +259,14 @@ public final class Version implements Serializable, Comparable { public int hashCode() { final int prime = 31; int result = 1; - result = prime * result - + ((this.qualifier == null) ? 0 : this.qualifier.hashCode()); - result = prime * result - + ((this.version == null) ? 0 : this.version.hashCode()); + result = prime * result + ((this.qualifier == null) ? 0 : this.qualifier.hashCode()); + result = prime * result + ((this.version == null) ? 0 : this.version.hashCode()); return result; } @Override public String toString() { - return "Qualifier [" - + ((this.qualifier != null) ? "qualifier=" + this.qualifier + ", " - : "") + return "Qualifier [" + ((this.qualifier != null) ? "qualifier=" + this.qualifier + ", " : "") + ((this.version != null) ? "version=" + this.version : "") + "]"; } @@ -286,8 +279,7 @@ public final class Version implements Serializable, Comparable { static final String MILESTONE = "M"; static final String RC = "RC"; - static final List KNOWN_QUALIFIERS = Arrays.asList(MILESTONE, RC, - SNAPSHOT, RELEASE); + static final List KNOWN_QUALIFIERS = Arrays.asList(MILESTONE, RC, SNAPSHOT, RELEASE); @Override public int compare(Qualifier o1, Qualifier o2) { @@ -300,8 +292,7 @@ public final class Version implements Serializable, Comparable { private static int compareQualifierVersion(Qualifier first, Qualifier second) { Integer firstVersion = (first.getVersion() != null) ? first.getVersion() : 0; - Integer secondVersion = (second.getVersion() != null) ? second.getVersion() - : 0; + Integer secondVersion = (second.getVersion() != null) ? second.getVersion() : 0; return firstVersion.compareTo(secondVersion); } @@ -319,8 +310,7 @@ public final class Version implements Serializable, Comparable { } private static int getQualifierIndex(String qualifier) { - return (StringUtils.hasText(qualifier) ? KNOWN_QUALIFIERS.indexOf(qualifier) - : 0); + return (StringUtils.hasText(qualifier) ? KNOWN_QUALIFIERS.indexOf(qualifier) : 0); } } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionParser.java b/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionParser.java index 44293bce..c28819f0 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionParser.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionParser.java @@ -45,14 +45,12 @@ public class VersionParser { /** * The default {@link VersionParser}. */ - public static final VersionParser DEFAULT = new VersionParser( - Collections.emptyList()); + public static final VersionParser DEFAULT = new VersionParser(Collections.emptyList()); private static final Pattern VERSION_REGEX = Pattern .compile("^(\\d+)\\.(\\d+|x)\\.(\\d+|x)(?:\\.([^0-9]+)(\\d+)?)?$"); - private static final Pattern RANGE_REGEX = Pattern - .compile("(\\(|\\[)(.*),(.*)(\\)|\\])"); + private static final Pattern RANGE_REGEX = Pattern.compile("(\\(|\\[)(.*),(.*)(\\)|\\])"); private final List latestVersions; @@ -72,9 +70,8 @@ public class VersionParser { Assert.notNull(text, "Text must not be null"); Matcher matcher = VERSION_REGEX.matcher(text.trim()); if (!matcher.matches()) { - throw new InvalidVersionException( - "Could not determine version based on '" + text + "': version format " - + "is Minor.Major.Patch.Qualifier " + "(e.g. 1.0.5.RELEASE)"); + throw new InvalidVersionException("Could not determine version based on '" + text + "': version format " + + "is Minor.Major.Patch.Qualifier " + "(e.g. 1.0.5.RELEASE)"); } Integer major = Integer.valueOf(matcher.group(1)); String minor = matcher.group(2); @@ -92,16 +89,13 @@ public class VersionParser { Integer minorInt = ("x".equals(minor) ? null : Integer.parseInt(minor)); Version latest = findLatestVersion(major, minorInt, qualifier); if (latest == null) { - return new Version(major, - ("x".equals(minor) ? 999 : Integer.parseInt(minor)), + return new Version(major, ("x".equals(minor) ? 999 : Integer.parseInt(minor)), ("x".equals(patch) ? 999 : Integer.parseInt(patch)), qualifier); } - return new Version(major, latest.getMinor(), latest.getPatch(), - latest.getQualifier()); + return new Version(major, latest.getMinor(), latest.getPatch(), latest.getQualifier()); } else { - return new Version(major, Integer.parseInt(minor), Integer.parseInt(patch), - qualifier); + return new Version(major, Integer.parseInt(minor), Integer.parseInt(patch), qualifier); } } @@ -141,12 +135,10 @@ public class VersionParser { Version lowerVersion = parse(matcher.group(2)); Version higherVersion = parse(matcher.group(3)); boolean higherInclusive = matcher.group(4).equals("]"); - return new VersionRange(lowerVersion, lowerInclusive, higherVersion, - higherInclusive); + return new VersionRange(lowerVersion, lowerInclusive, higherVersion, higherInclusive); } - private Version findLatestVersion(Integer major, Integer minor, - Version.Qualifier qualifier) { + private Version findLatestVersion(Integer major, Integer minor, Version.Qualifier qualifier) { List matches = this.latestVersions.stream().filter((it) -> { if (major != null && !major.equals(it.getMajor())) { return false; diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionProperty.java b/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionProperty.java index 828b4b91..13c8451d 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionProperty.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionProperty.java @@ -96,12 +96,10 @@ public final class VersionProperty implements Serializable, Comparable=" : ">").append(this.lowerVersion); } if (this.higherVersion != null) { - sb.append(" and ").append(this.higherInclusive ? "<=" : "<") - .append(this.higherVersion); + sb.append(" and ").append(this.higherInclusive ? "<=" : "<").append(this.higherVersion); } return sb.toString(); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionReference.java b/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionReference.java index 9b9d9819..b1c6221c 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionReference.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/version/VersionReference.java @@ -80,8 +80,7 @@ public final class VersionReference { return false; } VersionReference that = (VersionReference) o; - return Objects.equals(this.property, that.property) - && Objects.equals(this.value, that.value); + return Objects.equals(this.property, that.property) && Objects.equals(this.value, that.value); } @Override @@ -91,8 +90,7 @@ public final class VersionReference { @Override public String toString() { - return (this.property != null) ? "${" + this.property.toStandardFormat() + "}" - : this.value; + return (this.property != null) ? "${" + this.property.toStandardFormat() + "}" : this.value; } } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BomContainerTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BomContainerTests.java index 49914168..a2683557 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BomContainerTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BomContainerTests.java @@ -41,16 +41,14 @@ class BomContainerTests { assertThat(bom).isNotNull(); assertThat(bom.getGroupId()).isEqualTo("org.springframework.boot"); assertThat(bom.getArtifactId()).isEqualTo("spring-boot-dependencies"); - assertThat(bom.getVersion()) - .isEqualTo(VersionReference.ofProperty("spring-boot.version")); + assertThat(bom.getVersion()).isEqualTo(VersionReference.ofProperty("spring-boot.version")); assertThat(bom.getOrder()).isEqualTo(Integer.MAX_VALUE); } @Test void addBomWithOrder() { BomContainer container = createTestContainer(); - container.add("custom", "com.example", "acme", VersionReference.ofValue("1.0.0"), - 42); + container.add("custom", "com.example", "acme", VersionReference.ofValue("1.0.0"), 42); assertThat(container.ids()).containsOnly("custom"); assertThat(container.items()).hasSize(1); assertThat(container.isEmpty()).isFalse(); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildItemContainerTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildItemContainerTests.java index a5489d14..4ea040c9 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildItemContainerTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildItemContainerTests.java @@ -34,8 +34,7 @@ class BuildItemContainerTests { @Test void emptyContainer() { - BuildItemContainer container = createTestContainer( - new LinkedHashMap<>()); + BuildItemContainer container = createTestContainer(new LinkedHashMap<>()); assertThat(container.isEmpty()).isTrue(); assertThat(container.ids()).isEmpty(); assertThat(container.items()).isEmpty(); @@ -45,8 +44,7 @@ class BuildItemContainerTests { @Test void addElement() { - BuildItemContainer container = createTestContainer( - new LinkedHashMap<>()); + BuildItemContainer container = createTestContainer(new LinkedHashMap<>()); container.add("test", "value"); assertThat(container.ids()).containsOnly("test"); assertThat(container.items()).containsOnly("value"); @@ -57,8 +55,7 @@ class BuildItemContainerTests { @Test void addElementWithSameIdOverrideItem() { - BuildItemContainer container = createTestContainer( - new LinkedHashMap<>()); + BuildItemContainer container = createTestContainer(new LinkedHashMap<>()); container.add("test", "value"); container.add("test", "another"); assertThat(container.get("test")).isEqualTo("another"); @@ -66,24 +63,23 @@ class BuildItemContainerTests { @Test void addByIdWithResolution() { - BuildItemContainer container = createTestContainer( - new LinkedHashMap<>(), (id) -> id.equals("test") ? "value" : null); + BuildItemContainer container = createTestContainer(new LinkedHashMap<>(), + (id) -> id.equals("test") ? "value" : null); container.add("test"); assertThat(container.get("test")).isEqualTo("value"); } @Test void addByIdWithNoResolution() { - BuildItemContainer container = createTestContainer( - new LinkedHashMap<>(), (id) -> id.equals("test") ? "value" : null); + BuildItemContainer container = createTestContainer(new LinkedHashMap<>(), + (id) -> id.equals("test") ? "value" : null); assertThatIllegalArgumentException().isThrownBy(() -> container.add("unknown")) .withMessageContaining("unknown"); } @Test void removeExistingElement() { - BuildItemContainer container = createTestContainer( - new LinkedHashMap<>()); + BuildItemContainer container = createTestContainer(new LinkedHashMap<>()); container.add("test", "value"); assertThat(container.remove("test")).isTrue(); assertThat(container.ids()).isEmpty(); @@ -93,8 +89,7 @@ class BuildItemContainerTests { @Test void removeUnknownElement() { - BuildItemContainer container = createTestContainer( - new LinkedHashMap<>()); + BuildItemContainer container = createTestContainer(new LinkedHashMap<>()); container.add("test", "value"); assertThat(container.remove("unknown")).isFalse(); assertThat(container.ids()).containsOnly("test"); @@ -102,13 +97,12 @@ class BuildItemContainerTests { assertThat(container.isEmpty()).isFalse(); } - private BuildItemContainer createTestContainer( - Map content) { + private BuildItemContainer createTestContainer(Map content) { return createTestContainer(content, (id) -> null); } - private BuildItemContainer createTestContainer( - Map content, Function itemResolver) { + private BuildItemContainer createTestContainer(Map content, + Function itemResolver) { return new BuildItemContainer<>(content, itemResolver); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildSystemTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildSystemTests.java index 7fc173a8..3e86d111 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildSystemTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildSystemTests.java @@ -53,15 +53,13 @@ class BuildSystemTests { @Test void defaultMainDirectory(@TempDir Path directory) { - Path mainDirectory = BuildSystem.forId("gradle").getMainDirectory(directory, - new JavaLanguage()); + Path mainDirectory = BuildSystem.forId("gradle").getMainDirectory(directory, new JavaLanguage()); assertThat(mainDirectory).isEqualTo(directory.resolve("src/main/java")); } @Test void defaultTestDirectory(@TempDir Path directory) { - Path mainDirectory = BuildSystem.forId("gradle").getTestDirectory(directory, - new KotlinLanguage()); + Path mainDirectory = BuildSystem.forId("gradle").getTestDirectory(directory, new KotlinLanguage()); assertThat(mainDirectory).isEqualTo(directory.resolve("src/test/kotlin")); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildTests.java index 48502ea7..6075ebd9 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/BuildTests.java @@ -33,14 +33,11 @@ class BuildTests { @Test void buildWithDefaultBuildItemResolver() { TestBuild build = new TestBuild(null); - Assertions.assertThatIllegalArgumentException() - .isThrownBy(() -> build.dependencies().add("test")) + Assertions.assertThatIllegalArgumentException().isThrownBy(() -> build.dependencies().add("test")) .withMessageContaining("No such value with id 'test'"); - Assertions.assertThatIllegalArgumentException() - .isThrownBy(() -> build.boms().add("another")) + Assertions.assertThatIllegalArgumentException().isThrownBy(() -> build.boms().add("another")) .withMessageContaining("No such value with id 'another'"); - Assertions.assertThatIllegalArgumentException() - .isThrownBy(() -> build.repositories().add("repo")) + Assertions.assertThatIllegalArgumentException().isThrownBy(() -> build.repositories().add("repo")) .withMessageContaining("No such value with id 'repo'"); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/DependencyComparatorTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/DependencyComparatorTests.java index 9b6f3cba..ccff7e87 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/DependencyComparatorTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/DependencyComparatorTests.java @@ -33,11 +33,9 @@ class DependencyComparatorTests { private static final Dependency SPRING_BOOT_B = Dependency .withCoordinates("org.springframework.boot", "spring-boot-b").build(); - private static final Dependency LIB_ALPHA = Dependency - .withCoordinates("com.example.alpha", "test").build(); + private static final Dependency LIB_ALPHA = Dependency.withCoordinates("com.example.alpha", "test").build(); - private static final Dependency LIB_BETA = Dependency - .withCoordinates("com.example.beta", "test").build(); + private static final Dependency LIB_BETA = Dependency.withCoordinates("com.example.beta", "test").build(); private final DependencyComparator comparator = new DependencyComparator(); @@ -63,9 +61,8 @@ class DependencyComparatorTests { @Test void compareLibSameGroupId() { - assertThat(this.comparator.compare(LIB_BETA, - Dependency.withCoordinates("com.example.beta", "a").build())) - .isPositive(); + assertThat(this.comparator.compare(LIB_BETA, Dependency.withCoordinates("com.example.beta", "a").build())) + .isPositive(); } } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/DependencyContainerTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/DependencyContainerTests.java index 75345cba..19f10722 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/DependencyContainerTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/DependencyContainerTests.java @@ -31,8 +31,7 @@ class DependencyContainerTests { @Test void addDependency() { DependencyContainer container = createTestContainer(); - container.add("web", "org.springframework.boot", "spring-boot-starter-web", - DependencyScope.COMPILE); + container.add("web", "org.springframework.boot", "spring-boot-starter-web", DependencyScope.COMPILE); assertThat(container.ids()).containsOnly("web"); assertThat(container.items()).hasSize(1); assertThat(container.isEmpty()).isFalse(); @@ -48,10 +47,8 @@ class DependencyContainerTests { @Test void addDependencyWithVersion() { DependencyContainer container = createTestContainer(); - container.add("custom", - Dependency.withCoordinates("com.example", "acme") - .version(VersionReference.ofValue("1.0.0")) - .scope(DependencyScope.COMPILE)); + container.add("custom", Dependency.withCoordinates("com.example", "acme") + .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.COMPILE)); assertThat(container.ids()).containsOnly("custom"); assertThat(container.items()).hasSize(1); assertThat(container.isEmpty()).isFalse(); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/MavenRepositoryContainerTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/MavenRepositoryContainerTests.java index 4ab0c9ae..c0f33ec3 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/MavenRepositoryContainerTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/MavenRepositoryContainerTests.java @@ -45,8 +45,7 @@ class MavenRepositoryContainerTests { @Test void addMavenRepositoryInstance() { MavenRepositoryContainer container = createTestContainer(); - MavenRepository instance = new MavenRepository("test", "my repo", - "https://example.com/releases"); + MavenRepository instance = new MavenRepository("test", "my repo", "https://example.com/releases"); container.add(instance); assertThat(container.ids()).containsOnly("test"); assertThat(container.items()).hasSize(1); @@ -62,8 +61,7 @@ class MavenRepositoryContainerTests { @Test void addMavenRepositoryWithSnapshotsEnabled() { MavenRepositoryContainer container = createTestContainer(); - container.add("custom", "custom-snapshots", "https://example.com/snapshots", - true); + container.add("custom", "custom-snapshots", "https://example.com/snapshots", true); assertThat(container.ids()).containsOnly("custom"); assertThat(container.items()).hasSize(1); assertThat(container.isEmpty()).isFalse(); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/Gradle3BuildWriterTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/Gradle3BuildWriterTests.java index 98ba813e..be2f7227 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/Gradle3BuildWriterTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/Gradle3BuildWriterTests.java @@ -40,19 +40,16 @@ class Gradle3BuildWriterTests { void gradleBuildWithAnnotationProcessorDependency() throws IOException { GradleBuild build = new GradleBuild(); build.dependencies().add("annotation-processor", "org.springframework.boot", - "spring-boot-configuration-processor", - DependencyScope.ANNOTATION_PROCESSOR); + "spring-boot-configuration-processor", DependencyScope.ANNOTATION_PROCESSOR); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " compileOnly 'org.springframework.boot:spring-boot-configuration-processor'", - "}"); + " compileOnly 'org.springframework.boot:spring-boot-configuration-processor'", "}"); } @Test void gradleBuildWithCompileDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("root", "org.springframework.boot", - "spring-boot-starter", DependencyScope.COMPILE); + build.dependencies().add("root", "org.springframework.boot", "spring-boot-starter", DependencyScope.COMPILE); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", " compile 'org.springframework.boot:spring-boot-starter'", "}"); @@ -61,53 +58,47 @@ class Gradle3BuildWriterTests { @Test void gradleBuildWithRuntimeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("driver", - Dependency.withCoordinates("com.example", "jdbc-driver") - .version(VersionReference.ofValue("1.0.0")) - .scope(DependencyScope.RUNTIME)); + build.dependencies().add("driver", Dependency.withCoordinates("com.example", "jdbc-driver") + .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.RUNTIME)); List lines = generateBuild(build); - assertThat(lines).containsSequence("dependencies {", - " runtime 'com.example:jdbc-driver:1.0.0'", "}"); + assertThat(lines).containsSequence("dependencies {", " runtime 'com.example:jdbc-driver:1.0.0'", "}"); } @Test void gradleBuildWithProvidedRuntimeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("tomcat", "org.springframework.boot", - "spring-boot-starter-tomcat", DependencyScope.PROVIDED_RUNTIME); + build.dependencies().add("tomcat", "org.springframework.boot", "spring-boot-starter-tomcat", + DependencyScope.PROVIDED_RUNTIME); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'", - "}"); + " providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'", "}"); } @Test void gradleBuildWithTestCompileDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("test", "org.springframework.boot", - "spring-boot-starter-test", DependencyScope.TEST_COMPILE); + build.dependencies().add("test", "org.springframework.boot", "spring-boot-starter-test", + DependencyScope.TEST_COMPILE); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " testCompile 'org.springframework.boot:spring-boot-starter-test'", - "}"); + " testCompile 'org.springframework.boot:spring-boot-starter-test'", "}"); } @Test void gradleBuildWithCompileOnlyDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("test", "org.springframework.boot", - "spring-boot-starter-foobar", DependencyScope.COMPILE_ONLY); + build.dependencies().add("test", "org.springframework.boot", "spring-boot-starter-foobar", + DependencyScope.COMPILE_ONLY); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " compileOnly 'org.springframework.boot:spring-boot-starter-foobar'", - "}"); + " compileOnly 'org.springframework.boot:spring-boot-starter-foobar'", "}"); } @Test void gradleBuildWithTestRuntimeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("embed-mongo", "de.flapdoodle.embed", - "de.flapdoodle.embed.mongo", DependencyScope.TEST_RUNTIME); + build.dependencies().add("embed-mongo", "de.flapdoodle.embed", "de.flapdoodle.embed.mongo", + DependencyScope.TEST_RUNTIME); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", " testRuntime 'de.flapdoodle.embed:de.flapdoodle.embed.mongo'", "}"); @@ -116,8 +107,7 @@ class Gradle3BuildWriterTests { @Test void gradleBuildWithNonNullArtifactTypeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("root", Dependency - .withCoordinates("org.springframework.boot", "spring-boot-starter") + build.dependencies().add("root", Dependency.withCoordinates("org.springframework.boot", "spring-boot-starter") .scope(DependencyScope.COMPILE).type("tar.gz")); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", @@ -127,13 +117,12 @@ class Gradle3BuildWriterTests { @Test void gradleBuildWithCustomDependencyConfiguration() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("test", GradleDependency - .withCoordinates("org.springframework.boot", "spring-boot-starter-foobar") - .scope(DependencyScope.RUNTIME).configuration("myRuntime")); + build.dependencies().add("test", + GradleDependency.withCoordinates("org.springframework.boot", "spring-boot-starter-foobar") + .scope(DependencyScope.RUNTIME).configuration("myRuntime")); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " myRuntime 'org.springframework.boot:spring-boot-starter-foobar'", - "}"); + " myRuntime 'org.springframework.boot:spring-boot-starter-foobar'", "}"); } private List generateBuild(GradleBuild build) throws IOException { diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GradleDependencyTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GradleDependencyTests.java index 59426af7..cf4a4909 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GradleDependencyTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GradleDependencyTests.java @@ -33,8 +33,7 @@ class GradleDependencyTests { @Test void initializeFromStandardDependency() { Dependency original = Dependency.withCoordinates("com.example", "test") - .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.RUNTIME) - .type("zip").build(); + .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.RUNTIME).type("zip").build(); GradleDependency dependency = GradleDependency.from(original).build(); assertThat(original).isNotSameAs(dependency); assertThat(dependency.getGroupId()).isEqualTo("com.example"); @@ -48,8 +47,8 @@ class GradleDependencyTests { @Test void initializeFromMavenDependency() { Dependency original = GradleDependency.withCoordinates("com.example", "test") - .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.RUNTIME) - .type("zip").configuration("myConfiguration").build(); + .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.RUNTIME).type("zip") + .configuration("myConfiguration").build(); GradleDependency dependency = GradleDependency.from(original).build(); assertThat(original).isNotSameAs(dependency); assertThat(dependency.getGroupId()).isEqualTo("com.example"); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleBuildWriterTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleBuildWriterTests.java index 6eba96ab..097068a8 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleBuildWriterTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleBuildWriterTests.java @@ -61,13 +61,12 @@ class GroovyDslGradleBuildWriterTests { void gradleBuildWithBuildscriptDependency() throws IOException { GradleBuild build = new GradleBuild(); build.repositories().add("maven-central"); - build.buildscript((buildscript) -> buildscript.dependency( - "org.springframework.boot:spring-boot-gradle-plugin:2.1.0.RELEASE")); + build.buildscript((buildscript) -> buildscript + .dependency("org.springframework.boot:spring-boot-gradle-plugin:2.1.0.RELEASE")); List lines = generateBuild(build); - assertThat(lines).containsSequence("buildscript {", " repositories {", - " mavenCentral()", " }", " dependencies {", - " classpath 'org.springframework.boot:spring-boot-gradle-plugin:2.1.0.RELEASE'", - " }", "}"); + assertThat(lines).containsSequence("buildscript {", " repositories {", " mavenCentral()", " }", + " dependencies {", + " classpath 'org.springframework.boot:spring-boot-gradle-plugin:2.1.0.RELEASE'", " }", "}"); } @Test @@ -76,8 +75,7 @@ class GroovyDslGradleBuildWriterTests { build.repositories().add("maven-central"); build.buildscript((buildscript) -> buildscript.ext("kotlinVersion", "'1.2.51'")); List lines = generateBuild(build); - assertThat(lines).containsSequence("buildscript {", " ext {", - " kotlinVersion = '1.2.51'", " }"); + assertThat(lines).containsSequence("buildscript {", " ext {", " kotlinVersion = '1.2.51'", " }"); } @Test @@ -93,8 +91,8 @@ class GroovyDslGradleBuildWriterTests { GradleBuild build = new GradleBuild(); build.addPlugin("org.springframework.boot", "2.1.0.RELEASE"); List lines = generateBuild(build); - assertThat(lines).containsSequence("plugins {", - " id 'org.springframework.boot' version '2.1.0.RELEASE'", "}"); + assertThat(lines).containsSequence("plugins {", " id 'org.springframework.boot' version '2.1.0.RELEASE'", + "}"); } @Test @@ -102,8 +100,7 @@ class GroovyDslGradleBuildWriterTests { GradleBuild build = new GradleBuild(); build.applyPlugin("io.spring.dependency-management"); List lines = generateBuild(build); - assertThat(lines) - .containsSequence("apply plugin: 'io.spring.dependency-management'"); + assertThat(lines).containsSequence("apply plugin: 'io.spring.dependency-management'"); } @Test @@ -117,60 +114,49 @@ class GroovyDslGradleBuildWriterTests { @Test void gradleBuildWithRepository() throws IOException { GradleBuild build = new GradleBuild(); - build.repositories().add("spring-milestones", "Spring Milestones", - "https://repo.spring.io/milestone"); + build.repositories().add("spring-milestones", "Spring Milestones", "https://repo.spring.io/milestone"); List lines = generateBuild(build); - assertThat(lines).containsSequence("repositories {", - " maven { url 'https://repo.spring.io/milestone' }", "}"); + assertThat(lines).containsSequence("repositories {", " maven { url 'https://repo.spring.io/milestone' }", + "}"); } @Test void gradleBuildWithSnapshotRepository() throws IOException { GradleBuild build = new GradleBuild(); - build.repositories().add("spring-snapshots", "Spring Snapshots", - "https://repo.spring.io/snapshot", true); + build.repositories().add("spring-snapshots", "Spring Snapshots", "https://repo.spring.io/snapshot", true); List lines = generateBuild(build); - assertThat(lines).containsSequence("repositories {", - " maven { url 'https://repo.spring.io/snapshot' }", "}"); + assertThat(lines).containsSequence("repositories {", " maven { url 'https://repo.spring.io/snapshot' }", + "}"); } @Test void gradleBuildWithPluginRepository() throws IOException { GradleBuild build = new GradleBuild(); - build.pluginRepositories().add("spring-milestones", "Spring Milestones", - "https://repo.spring.io/milestone"); + build.pluginRepositories().add("spring-milestones", "Spring Milestones", "https://repo.spring.io/milestone"); List lines = generateBuild(build); assertThat(lines).doesNotContain("repositories {"); } @Test - void gradleBuildWithTaskWithTypesCustomizedWithNestedAssignments() - throws IOException { + void gradleBuildWithTaskWithTypesCustomizedWithNestedAssignments() throws IOException { GradleBuild build = new GradleBuild(); - build.customizeTasksWithType("org.jetbrains.kotlin.gradle.tasks.KotlinCompile", - (task) -> task.nested("kotlinOptions", (kotlinOptions) -> kotlinOptions - .set("freeCompilerArgs", "['-Xjsr305=strict']"))); build.customizeTasksWithType("org.jetbrains.kotlin.gradle.tasks.KotlinCompile", (task) -> task.nested("kotlinOptions", - (kotlinOptions) -> kotlinOptions.set("jvmTarget", "'1.8'"))); + (kotlinOptions) -> kotlinOptions.set("freeCompilerArgs", "['-Xjsr305=strict']"))); + build.customizeTasksWithType("org.jetbrains.kotlin.gradle.tasks.KotlinCompile", + (task) -> task.nested("kotlinOptions", (kotlinOptions) -> kotlinOptions.set("jvmTarget", "'1.8'"))); List lines = generateBuild(build); - assertThat(lines) - .containsOnlyOnce( - "import org.jetbrains.kotlin.gradle.tasks.KotlinCompile") - .containsSequence("tasks.withType(KotlinCompile) {", - " kotlinOptions {", - " freeCompilerArgs = ['-Xjsr305=strict']", - " jvmTarget = '1.8'", " }", "}"); + assertThat(lines).containsOnlyOnce("import org.jetbrains.kotlin.gradle.tasks.KotlinCompile").containsSequence( + "tasks.withType(KotlinCompile) {", " kotlinOptions {", + " freeCompilerArgs = ['-Xjsr305=strict']", " jvmTarget = '1.8'", " }", "}"); } @Test void gradleBuildWithTaskWithTypesAndShortTypes() throws IOException { GradleBuild build = new GradleBuild(); - build.customizeTasksWithType("JavaCompile", - (javaCompile) -> javaCompile.set("options.fork", "true")); + build.customizeTasksWithType("JavaCompile", (javaCompile) -> javaCompile.set("options.fork", "true")); assertThat(generateBuild(build)).doesNotContain("import JavaCompile") - .containsSequence("tasks.withType(JavaCompile) {", - " options.fork = true", "}"); + .containsSequence("tasks.withType(JavaCompile) {", " options.fork = true", "}"); } @Test @@ -181,8 +167,7 @@ class GroovyDslGradleBuildWriterTests { task.invoke("dependsOn", "test"); }); List lines = generateBuild(build); - assertThat(lines).containsSequence("asciidoctor {", " inputs.dir snippetsDir", - " dependsOn test", "}"); + assertThat(lines).containsSequence("asciidoctor {", " inputs.dir snippetsDir", " dependsOn test", "}"); } @Test @@ -202,22 +187,20 @@ class GroovyDslGradleBuildWriterTests { }); List lines = generateBuild(build); assertThat(lines).containsSequence("compileKotlin {", - " kotlinOptions.freeCompilerArgs = ['-Xjsr305=strict']", - " kotlinOptions.jvmTarget = '1.8'", "}"); + " kotlinOptions.freeCompilerArgs = ['-Xjsr305=strict']", " kotlinOptions.jvmTarget = '1.8'", "}"); } @Test void gradleBuildWithTaskCustomizedWithNestedCustomization() throws IOException { GradleBuild build = new GradleBuild(); - build.customizeTask("compileKotlin", (compileKotlin) -> compileKotlin - .nested("kotlinOptions", (kotlinOptions) -> { + build.customizeTask("compileKotlin", + (compileKotlin) -> compileKotlin.nested("kotlinOptions", (kotlinOptions) -> { kotlinOptions.set("freeCompilerArgs", "['-Xjsr305=strict']"); kotlinOptions.set("jvmTarget", "'1.8'"); })); List lines = generateBuild(build); assertThat(lines).containsSequence("compileKotlin {", " kotlinOptions {", - " freeCompilerArgs = ['-Xjsr305=strict']", - " jvmTarget = '1.8'", " }", "}"); + " freeCompilerArgs = ['-Xjsr305=strict']", " jvmTarget = '1.8'", " }", "}"); } @Test @@ -238,10 +221,8 @@ class GroovyDslGradleBuildWriterTests { build.addInternalVersionProperty("internal.property", "4.5.6"); build.addExternalVersionProperty("external.property", "7.8.9"); List lines = generateBuild(build); - assertThat(lines).containsSequence("ext {", - " set('external.property', \"7.8.9\")", - " set('internalProperty', \"4.5.6\")", - " set('versionProperty', \"1.2.3\")", "}"); + assertThat(lines).containsSequence("ext {", " set('external.property', \"7.8.9\")", + " set('internalProperty', \"4.5.6\")", " set('versionProperty', \"1.2.3\")", "}"); } @Test @@ -249,12 +230,10 @@ class GroovyDslGradleBuildWriterTests { GradleBuild build = new GradleBuild(); build.dependencies().add("kotlin-stdlib", Dependency.withCoordinates("org.jetbrains.kotlin", "kotlin-stdlib-jdk8") - .version(VersionReference.ofProperty("kotlin.version")) - .scope(DependencyScope.COMPILE)); + .version(VersionReference.ofProperty("kotlin.version")).scope(DependencyScope.COMPILE)); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " implementation \"org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlinVersion}\"", - "}"); + " implementation \"org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlinVersion}\"", "}"); } @Test @@ -262,13 +241,11 @@ class GroovyDslGradleBuildWriterTests { GradleBuild build = new GradleBuild(); build.dependencies().add("acme", Dependency.withCoordinates("com.example", "acme") - .version(VersionReference - .ofProperty(VersionProperty.of("acme.version", false))) + .version(VersionReference.ofProperty(VersionProperty.of("acme.version", false))) .scope(DependencyScope.COMPILE)); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " implementation \"com.example:acme:${property('acme.version')}\"", - "}"); + " implementation \"com.example:acme:${property('acme.version')}\"", "}"); } @Test @@ -280,8 +257,8 @@ class GroovyDslGradleBuildWriterTests { build.addExternalVersionProperty("alpha-version", "0.1"); build.ext("myProperty", "'42'"); List lines = generateBuild(build); - assertThat(lines).containsSequence(" set('myProperty', '42')", - " set('alpha-version', \"0.1\")", " set('testVersion', \"1.0\")"); + assertThat(lines).containsSequence(" set('myProperty', '42')", " set('alpha-version', \"0.1\")", + " set('testVersion', \"1.0\")"); } @Test @@ -289,17 +266,14 @@ class GroovyDslGradleBuildWriterTests { GradleBuild build = new GradleBuild(); build.addConfiguration("developmentOnly"); List lines = generateBuild(build); - assertThat(lines).containsSequence("configurations {", " developmentOnly", - "}"); + assertThat(lines).containsSequence("configurations {", " developmentOnly", "}"); } @Test void gradleBuildWithConfigurationCustomization() throws Exception { GradleBuild build = new GradleBuild(); - build.customizeConfiguration("developmentOnly", - (configuration) -> configuration.extendsFrom("compile")); - build.customizeConfiguration("developmentOnly", - (configuration) -> configuration.extendsFrom("testCompile")); + build.customizeConfiguration("developmentOnly", (configuration) -> configuration.extendsFrom("compile")); + build.customizeConfiguration("developmentOnly", (configuration) -> configuration.extendsFrom("testCompile")); List lines = generateBuild(build); assertThat(lines).containsSequence("configurations {", " developmentOnly {", " extendsFrom compile, testCompile", " }", "}"); @@ -308,33 +282,27 @@ class GroovyDslGradleBuildWriterTests { @Test void gradleBuildWithConfigurationCustomizations() throws Exception { GradleBuild build = new GradleBuild(); - build.customizeConfiguration("developmentOnly", - (configuration) -> configuration.extendsFrom("compile")); - build.customizeConfiguration("testOnly", - (configuration) -> configuration.extendsFrom("testCompile")); + build.customizeConfiguration("developmentOnly", (configuration) -> configuration.extendsFrom("compile")); + build.customizeConfiguration("testOnly", (configuration) -> configuration.extendsFrom("testCompile")); List lines = generateBuild(build); - assertThat(lines).containsSequence("configurations {", " developmentOnly {", - " extendsFrom compile", " }", " testOnly {", - " extendsFrom testCompile", " }", "}"); + assertThat(lines).containsSequence("configurations {", " developmentOnly {", " extendsFrom compile", + " }", " testOnly {", " extendsFrom testCompile", " }", "}"); } @Test void gradleBuildWithAnnotationProcessorDependency() throws IOException { GradleBuild build = new GradleBuild(); build.dependencies().add("annotation-processor", "org.springframework.boot", - "spring-boot-configuration-processor", - DependencyScope.ANNOTATION_PROCESSOR); + "spring-boot-configuration-processor", DependencyScope.ANNOTATION_PROCESSOR); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'", - "}"); + " annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'", "}"); } @Test void gradleBuildWithCompileDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("root", "org.springframework.boot", - "spring-boot-starter", DependencyScope.COMPILE); + build.dependencies().add("root", "org.springframework.boot", "spring-boot-starter", DependencyScope.COMPILE); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", " implementation 'org.springframework.boot:spring-boot-starter'", "}"); @@ -343,122 +311,105 @@ class GroovyDslGradleBuildWriterTests { @Test void gradleBuildWithRuntimeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("driver", - Dependency.withCoordinates("com.example", "jdbc-driver") - .version(VersionReference.ofValue("1.0.0")) - .scope(DependencyScope.RUNTIME)); + build.dependencies().add("driver", Dependency.withCoordinates("com.example", "jdbc-driver") + .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.RUNTIME)); List lines = generateBuild(build); - assertThat(lines).containsSequence("dependencies {", - " runtimeOnly 'com.example:jdbc-driver:1.0.0'", "}"); + assertThat(lines).containsSequence("dependencies {", " runtimeOnly 'com.example:jdbc-driver:1.0.0'", "}"); } @Test void gradleBuildWithProvidedRuntimeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("tomcat", "org.springframework.boot", - "spring-boot-starter-tomcat", DependencyScope.PROVIDED_RUNTIME); + build.dependencies().add("tomcat", "org.springframework.boot", "spring-boot-starter-tomcat", + DependencyScope.PROVIDED_RUNTIME); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'", - "}"); + " providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'", "}"); } @Test void gradleBuildWithTestCompileDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("test", "org.springframework.boot", - "spring-boot-starter-test", DependencyScope.TEST_COMPILE); + build.dependencies().add("test", "org.springframework.boot", "spring-boot-starter-test", + DependencyScope.TEST_COMPILE); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " testImplementation 'org.springframework.boot:spring-boot-starter-test'", - "}"); + " testImplementation 'org.springframework.boot:spring-boot-starter-test'", "}"); } @Test void gradleBuildWithCompileOnlyDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("test", "org.springframework.boot", - "spring-boot-starter-foobar", DependencyScope.COMPILE_ONLY); + build.dependencies().add("test", "org.springframework.boot", "spring-boot-starter-foobar", + DependencyScope.COMPILE_ONLY); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " compileOnly 'org.springframework.boot:spring-boot-starter-foobar'", - "}"); + " compileOnly 'org.springframework.boot:spring-boot-starter-foobar'", "}"); } @Test void gradleBuildWithTestRuntimeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("embed-mongo", "de.flapdoodle.embed", - "de.flapdoodle.embed.mongo", DependencyScope.TEST_RUNTIME); + build.dependencies().add("embed-mongo", "de.flapdoodle.embed", "de.flapdoodle.embed.mongo", + DependencyScope.TEST_RUNTIME); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " testRuntimeOnly 'de.flapdoodle.embed:de.flapdoodle.embed.mongo'", - "}"); + " testRuntimeOnly 'de.flapdoodle.embed:de.flapdoodle.embed.mongo'", "}"); } @Test void gradleBuildWithExclusions() throws IOException { GradleBuild build = new GradleBuild(); build.dependencies().add("test", - Dependency.withCoordinates("com.example", "test") - .scope(DependencyScope.COMPILE) - .exclusions(new Exclusion("com.example.legacy", "legacy-one"), - new Exclusion("com.example.another", "legacy-two"))); + Dependency.withCoordinates("com.example", "test").scope(DependencyScope.COMPILE).exclusions( + new Exclusion("com.example.legacy", "legacy-one"), + new Exclusion("com.example.another", "legacy-two"))); List lines = generateBuild(build); - assertThat(lines).containsSequence("dependencies {", - " implementation('com.example:test') {", + assertThat(lines).containsSequence("dependencies {", " implementation('com.example:test') {", " exclude group: 'com.example.legacy', module: 'legacy-one'", - " exclude group: 'com.example.another', module: 'legacy-two'", - " }", "}"); + " exclude group: 'com.example.another', module: 'legacy-two'", " }", "}"); } @Test void gradleBuildWithCustomDependencyConfiguration() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("test", GradleDependency - .withCoordinates("org.springframework.boot", "spring-boot-starter-foobar") - .scope(DependencyScope.RUNTIME).configuration("myRuntime")); + build.dependencies().add("test", + GradleDependency.withCoordinates("org.springframework.boot", "spring-boot-starter-foobar") + .scope(DependencyScope.RUNTIME).configuration("myRuntime")); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " myRuntime 'org.springframework.boot:spring-boot-starter-foobar'", - "}"); + " myRuntime 'org.springframework.boot:spring-boot-starter-foobar'", "}"); } @Test void gradleBuildWithNonNullArtifactTypeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("root", Dependency - .withCoordinates("org.springframework.boot", "spring-boot-starter") + build.dependencies().add("root", Dependency.withCoordinates("org.springframework.boot", "spring-boot-starter") .scope(DependencyScope.COMPILE).type("tar.gz")); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " implementation 'org.springframework.boot:spring-boot-starter@tar.gz'", - "}"); + " implementation 'org.springframework.boot:spring-boot-starter@tar.gz'", "}"); } @Test void gradleBuildWithBom() throws IOException { GradleBuild build = new GradleBuild(); - build.boms().add("test", "com.example", "my-project-dependencies", - VersionReference.ofValue("1.0.0.RELEASE")); + build.boms().add("test", "com.example", "my-project-dependencies", VersionReference.ofValue("1.0.0.RELEASE")); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencyManagement {", " imports {", - " mavenBom 'com.example:my-project-dependencies:1.0.0.RELEASE'", - " }", "}"); + " mavenBom 'com.example:my-project-dependencies:1.0.0.RELEASE'", " }", "}"); } @Test void gradleBuildWithOrderedBoms() throws IOException { GradleBuild build = new GradleBuild(); - build.boms().add("bom1", "com.example", "my-project-dependencies", - VersionReference.ofValue("1.0.0.RELEASE"), 5); - build.boms().add("bom2", "com.example", "root-dependencies", - VersionReference.ofProperty("root.version"), 2); + build.boms().add("bom1", "com.example", "my-project-dependencies", VersionReference.ofValue("1.0.0.RELEASE"), + 5); + build.boms().add("bom2", "com.example", "root-dependencies", VersionReference.ofProperty("root.version"), 2); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencyManagement {", " imports {", " mavenBom 'com.example:my-project-dependencies:1.0.0.RELEASE'", - " mavenBom \"com.example:root-dependencies:${rootVersion}\"", - " }", "}"); + " mavenBom \"com.example:root-dependencies:${rootVersion}\"", " }", "}"); } @Test diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleSettingsWriterTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleSettingsWriterTests.java index 8e03ffac..38320d16 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleSettingsWriterTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/GroovyDslGradleSettingsWriterTests.java @@ -39,20 +39,18 @@ class GroovyDslGradleSettingsWriterTests { GradleBuild build = new GradleBuild(); build.pluginRepositories().add("maven-central"); List lines = generateSettings(build); - assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " mavenCentral()", " gradlePluginPortal()", " }", "}"); + assertThat(lines).containsSequence("pluginManagement {", " repositories {", " mavenCentral()", + " gradlePluginPortal()", " }", "}"); } @Test void gradleBuildWithPluginRepository() throws IOException { GradleBuild build = new GradleBuild(); - build.pluginRepositories().add("spring-milestones", "Spring Milestones", - "https://repo.spring.io/milestone"); + build.pluginRepositories().add("spring-milestones", "Spring Milestones", "https://repo.spring.io/milestone"); List lines = generateSettings(build); assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " maven { url 'https://repo.spring.io/milestone' }", - " gradlePluginPortal()", " }", " resolutionStrategy {", - " eachPlugin {", + " maven { url 'https://repo.spring.io/milestone' }", " gradlePluginPortal()", " }", + " resolutionStrategy {", " eachPlugin {", " if (requested.id.id == 'org.springframework.boot') {", " useModule(\"org.springframework.boot:spring-boot-gradle-plugin:${requested.version}\")", " }", " }", " }", "}"); @@ -61,13 +59,11 @@ class GroovyDslGradleSettingsWriterTests { @Test void gradleBuildWithSnapshotPluginRepository() throws IOException { GradleBuild build = new GradleBuild(); - build.pluginRepositories().add("spring-snapshots", "Spring Snapshots", - "https://repo.spring.io/snapshot", true); + build.pluginRepositories().add("spring-snapshots", "Spring Snapshots", "https://repo.spring.io/snapshot", true); List lines = generateSettings(build); assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " maven { url 'https://repo.spring.io/snapshot' }", - " gradlePluginPortal()", " }", " resolutionStrategy {", - " eachPlugin {", + " maven { url 'https://repo.spring.io/snapshot' }", " gradlePluginPortal()", " }", + " resolutionStrategy {", " eachPlugin {", " if (requested.id.id == 'org.springframework.boot') {", " useModule(\"org.springframework.boot:spring-boot-gradle-plugin:${requested.version}\")", " }", " }", " }", "}"); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleBuildWriterTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleBuildWriterTests.java index 5a410a42..375c7745 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleBuildWriterTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleBuildWriterTests.java @@ -45,8 +45,7 @@ class KotlinDslGradleBuildWriterTests { build.setGroup("com.example"); build.setVersion("1.0.1-SNAPSHOT"); List lines = generateBuild(build); - assertThat(lines).contains("group = \"com.example\"", - "version = \"1.0.1-SNAPSHOT\""); + assertThat(lines).contains("group = \"com.example\"", "version = \"1.0.1-SNAPSHOT\""); } @Test @@ -68,8 +67,8 @@ class KotlinDslGradleBuildWriterTests { @Test void gradleBuildWithBuildscriptDependency() { GradleBuild build = new GradleBuild(); - build.buildscript((buildscript) -> buildscript.dependency( - "org.springframework.boot:spring-boot-gradle-plugin:2.1.0.RELEASE")); + build.buildscript((buildscript) -> buildscript + .dependency("org.springframework.boot:spring-boot-gradle-plugin:2.1.0.RELEASE")); assertThatIllegalStateException().isThrownBy(() -> generateBuild(build)); } @@ -95,8 +94,7 @@ class KotlinDslGradleBuildWriterTests { build.addPlugin("org.jetbrains.kotlin.jvm", "1.3.21"); build.addPlugin("org.jetbrains.kotlin.plugin.spring", "1.3.21"); List lines = generateBuild(build); - assertThat(lines).containsSequence("plugins {", - " kotlin(\"jvm\") version \"1.3.21\"", + assertThat(lines).containsSequence("plugins {", " kotlin(\"jvm\") version \"1.3.21\"", " kotlin(\"plugin.spring\") version \"1.3.21\"", "}"); } @@ -127,8 +125,7 @@ class KotlinDslGradleBuildWriterTests { @Test void gradleBuildWithRepository() throws IOException { GradleBuild build = new GradleBuild(); - build.repositories().add("spring-milestones", "Spring Milestones", - "https://repo.spring.io/milestone"); + build.repositories().add("spring-milestones", "Spring Milestones", "https://repo.spring.io/milestone"); List lines = generateBuild(build); assertThat(lines).containsSequence("repositories {", " maven { url = uri(\"https://repo.spring.io/milestone\") }", "}"); @@ -137,8 +134,7 @@ class KotlinDslGradleBuildWriterTests { @Test void gradleBuildWithSnapshotRepository() throws IOException { GradleBuild build = new GradleBuild(); - build.repositories().add("spring-snapshots", "Spring Snapshots", - "https://repo.spring.io/snapshot", true); + build.repositories().add("spring-snapshots", "Spring Snapshots", "https://repo.spring.io/snapshot", true); List lines = generateBuild(build); assertThat(lines).containsSequence("repositories {", " maven { url = uri(\"https://repo.spring.io/snapshot\") }", "}"); @@ -147,40 +143,31 @@ class KotlinDslGradleBuildWriterTests { @Test void gradleBuildWithPluginRepository() throws IOException { GradleBuild build = new GradleBuild(); - build.pluginRepositories().add("spring-milestones", "Spring Milestones", - "https://repo.spring.io/milestone"); + build.pluginRepositories().add("spring-milestones", "Spring Milestones", "https://repo.spring.io/milestone"); List lines = generateBuild(build); assertThat(lines).doesNotContain("repositories {"); } @Test - void gradleBuildWithTaskWithTypesCustomizedWithNestedAssignments() - throws IOException { + void gradleBuildWithTaskWithTypesCustomizedWithNestedAssignments() throws IOException { GradleBuild build = new GradleBuild(); - build.customizeTasksWithType("org.jetbrains.kotlin.gradle.tasks.KotlinCompile", - (task) -> task.nested("kotlinOptions", (kotlinOptions) -> kotlinOptions - .set("freeCompilerArgs", "listOf(\"-Xjsr305=strict\")"))); build.customizeTasksWithType("org.jetbrains.kotlin.gradle.tasks.KotlinCompile", (task) -> task.nested("kotlinOptions", - (kotlinOptions) -> kotlinOptions.set("jvmTarget", "\"1.8\""))); + (kotlinOptions) -> kotlinOptions.set("freeCompilerArgs", "listOf(\"-Xjsr305=strict\")"))); + build.customizeTasksWithType("org.jetbrains.kotlin.gradle.tasks.KotlinCompile", + (task) -> task.nested("kotlinOptions", (kotlinOptions) -> kotlinOptions.set("jvmTarget", "\"1.8\""))); List lines = generateBuild(build); - assertThat(lines) - .containsOnlyOnce( - "import org.jetbrains.kotlin.gradle.tasks.KotlinCompile") - .containsSequence("tasks.withType {", - " kotlinOptions {", - " freeCompilerArgs = listOf(\"-Xjsr305=strict\")", - " jvmTarget = \"1.8\"", " }", "}"); + assertThat(lines).containsOnlyOnce("import org.jetbrains.kotlin.gradle.tasks.KotlinCompile").containsSequence( + "tasks.withType {", " kotlinOptions {", + " freeCompilerArgs = listOf(\"-Xjsr305=strict\")", " jvmTarget = \"1.8\"", " }", "}"); } @Test void gradleBuildWithTaskWithTypesAndShortTypes() throws IOException { GradleBuild build = new GradleBuild(); - build.customizeTasksWithType("JavaCompile", - (javaCompile) -> javaCompile.set("options.fork", "true")); + build.customizeTasksWithType("JavaCompile", (javaCompile) -> javaCompile.set("options.fork", "true")); assertThat(generateBuild(build)).doesNotContain("import JavaCompile") - .containsSequence("tasks.withType {", - " options.fork = true", "}"); + .containsSequence("tasks.withType {", " options.fork = true", "}"); } @Test @@ -191,8 +178,8 @@ class KotlinDslGradleBuildWriterTests { task.invoke("dependsOn", "test"); }); List lines = generateBuild(build); - assertThat(lines).containsSequence("tasks.asciidoctor {", - " inputs.dir(snippetsDir)", " dependsOn(test)", "}"); + assertThat(lines).containsSequence("tasks.asciidoctor {", " inputs.dir(snippetsDir)", " dependsOn(test)", + "}"); } @Test @@ -211,15 +198,14 @@ class KotlinDslGradleBuildWriterTests { @Test void gradleBuildWithTaskCustomizedWithNestedCustomization() throws IOException { GradleBuild build = new GradleBuild(); - build.customizeTask("compileKotlin", (compileKotlin) -> compileKotlin - .nested("kotlinOptions", (kotlinOptions) -> { + build.customizeTask("compileKotlin", + (compileKotlin) -> compileKotlin.nested("kotlinOptions", (kotlinOptions) -> { kotlinOptions.set("freeCompilerArgs", "listOf(\"-Xjsr305=strict\")"); kotlinOptions.set("jvmTarget", "\"1.8\""); })); List lines = generateBuild(build); assertThat(lines).containsSequence("tasks.compileKotlin {", " kotlinOptions {", - " freeCompilerArgs = listOf(\"-Xjsr305=strict\")", - " jvmTarget = \"1.8\"", " }", "}"); + " freeCompilerArgs = listOf(\"-Xjsr305=strict\")", " jvmTarget = \"1.8\"", " }", "}"); } @Test @@ -241,8 +227,7 @@ class KotlinDslGradleBuildWriterTests { build.addExternalVersionProperty("external.property", "7.8.9"); List lines = generateBuild(build); assertThat(lines).containsSequence("extra[\"external.property\"] = \"7.8.9\"", - "extra[\"internalProperty\"] = \"4.5.6\"", - "extra[\"versionProperty\"] = \"1.2.3\""); + "extra[\"internalProperty\"] = \"4.5.6\"", "extra[\"versionProperty\"] = \"1.2.3\""); } @Test @@ -250,12 +235,10 @@ class KotlinDslGradleBuildWriterTests { GradleBuild build = new GradleBuild(); build.dependencies().add("kotlin-stdlib", Dependency.withCoordinates("org.jetbrains.kotlin", "kotlin-stdlib-jdk8") - .version(VersionReference.ofProperty("kotlin.version")) - .scope(DependencyScope.COMPILE)); + .version(VersionReference.ofProperty("kotlin.version")).scope(DependencyScope.COMPILE)); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " implementation(\"org.jetbrains.kotlin:kotlin-stdlib-jdk8:${property(\"kotlinVersion\")}\")", - "}"); + " implementation(\"org.jetbrains.kotlin:kotlin-stdlib-jdk8:${property(\"kotlinVersion\")}\")", "}"); } @Test @@ -263,13 +246,11 @@ class KotlinDslGradleBuildWriterTests { GradleBuild build = new GradleBuild(); build.dependencies().add("acme", Dependency.withCoordinates("com.example", "acme") - .version(VersionReference - .ofProperty(VersionProperty.of("acme.version", false))) + .version(VersionReference.ofProperty(VersionProperty.of("acme.version", false))) .scope(DependencyScope.COMPILE)); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " implementation(\"com.example:acme:${property(\"acme.version\")}\")", - "}"); + " implementation(\"com.example:acme:${property(\"acme.version\")}\")", "}"); } @Test @@ -281,8 +262,8 @@ class KotlinDslGradleBuildWriterTests { build.addExternalVersionProperty("alpha-version", "0.1"); build.ext("myProperty", "42"); List lines = generateBuild(build); - assertThat(lines).containsSequence("extra[\"myProperty\"] = 42", - "extra[\"alpha-version\"] = \"0.1\"", "extra[\"testVersion\"] = \"1.0\""); + assertThat(lines).containsSequence("extra[\"myProperty\"] = 42", "extra[\"alpha-version\"] = \"0.1\"", + "extra[\"testVersion\"] = \"1.0\""); } @Test @@ -290,17 +271,14 @@ class KotlinDslGradleBuildWriterTests { GradleBuild build = new GradleBuild(); build.addConfiguration("developmentOnly"); List lines = generateBuild(build); - assertThat(lines) - .containsSequence("val developmentOnly by configurations.creating"); + assertThat(lines).containsSequence("val developmentOnly by configurations.creating"); } @Test void gradleBuildWithConfigurationCustomization() throws Exception { GradleBuild build = new GradleBuild(); - build.customizeConfiguration("runtimeClasspath", - (configuration) -> configuration.extendsFrom("custom1")); - build.customizeConfiguration("runtimeClasspath", - (configuration) -> configuration.extendsFrom("custom2")); + build.customizeConfiguration("runtimeClasspath", (configuration) -> configuration.extendsFrom("custom1")); + build.customizeConfiguration("runtimeClasspath", (configuration) -> configuration.extendsFrom("custom2")); List lines = generateBuild(build); assertThat(lines).containsSequence("configurations {", " runtimeClasspath {", " extendsFrom(custom1, custom2)", " }", "}"); @@ -309,158 +287,134 @@ class KotlinDslGradleBuildWriterTests { @Test void gradleBuildWithConfigurationCustomizations() throws Exception { GradleBuild build = new GradleBuild(); - build.customizeConfiguration("runtimeClasspath", - (configuration) -> configuration.extendsFrom("custom1")); - build.customizeConfiguration("testRuntimeClasspath", - (configuration) -> configuration.extendsFrom("custom2")); + build.customizeConfiguration("runtimeClasspath", (configuration) -> configuration.extendsFrom("custom1")); + build.customizeConfiguration("testRuntimeClasspath", (configuration) -> configuration.extendsFrom("custom2")); List lines = generateBuild(build); - assertThat(lines).containsSequence("configurations {", " runtimeClasspath {", - " extendsFrom(custom1)", " }", " testRuntimeClasspath {", - " extendsFrom(custom2)", " }", "}"); + assertThat(lines).containsSequence("configurations {", " runtimeClasspath {", " extendsFrom(custom1)", + " }", " testRuntimeClasspath {", " extendsFrom(custom2)", " }", "}"); } @Test void gradleBuildWithAnnotationProcessorDependency() throws IOException { GradleBuild build = new GradleBuild(); build.dependencies().add("annotation-processor", "org.springframework.boot", - "spring-boot-configuration-processor", - DependencyScope.ANNOTATION_PROCESSOR); + "spring-boot-configuration-processor", DependencyScope.ANNOTATION_PROCESSOR); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " annotationProcessor(\"org.springframework.boot:spring-boot-configuration-processor\")", - "}"); + " annotationProcessor(\"org.springframework.boot:spring-boot-configuration-processor\")", "}"); } @Test void gradleBuildWithCompileDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("root", "org.springframework.boot", - "spring-boot-starter", DependencyScope.COMPILE); + build.dependencies().add("root", "org.springframework.boot", "spring-boot-starter", DependencyScope.COMPILE); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " implementation(\"org.springframework.boot:spring-boot-starter\")", - "}"); + " implementation(\"org.springframework.boot:spring-boot-starter\")", "}"); } @Test void gradleBuildWithRuntimeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("driver", - Dependency.withCoordinates("com.example", "jdbc-driver") - .version(VersionReference.ofValue("1.0.0")) - .scope(DependencyScope.RUNTIME)); + build.dependencies().add("driver", Dependency.withCoordinates("com.example", "jdbc-driver") + .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.RUNTIME)); List lines = generateBuild(build); - assertThat(lines).containsSequence("dependencies {", - " runtimeOnly(\"com.example:jdbc-driver:1.0.0\")", "}"); + assertThat(lines).containsSequence("dependencies {", " runtimeOnly(\"com.example:jdbc-driver:1.0.0\")", "}"); } @Test void gradleBuildWithProvidedRuntimeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("tomcat", "org.springframework.boot", - "spring-boot-starter-tomcat", DependencyScope.PROVIDED_RUNTIME); + build.dependencies().add("tomcat", "org.springframework.boot", "spring-boot-starter-tomcat", + DependencyScope.PROVIDED_RUNTIME); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " providedRuntime(\"org.springframework.boot:spring-boot-starter-tomcat\")", - "}"); + " providedRuntime(\"org.springframework.boot:spring-boot-starter-tomcat\")", "}"); } @Test void gradleBuildWithTestCompileDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("test", "org.springframework.boot", - "spring-boot-starter-test", DependencyScope.TEST_COMPILE); + build.dependencies().add("test", "org.springframework.boot", "spring-boot-starter-test", + DependencyScope.TEST_COMPILE); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " testImplementation(\"org.springframework.boot:spring-boot-starter-test\")", - "}"); + " testImplementation(\"org.springframework.boot:spring-boot-starter-test\")", "}"); } @Test void gradleBuildWithCompileOnlyDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("test", "org.springframework.boot", - "spring-boot-starter-foobar", DependencyScope.COMPILE_ONLY); + build.dependencies().add("test", "org.springframework.boot", "spring-boot-starter-foobar", + DependencyScope.COMPILE_ONLY); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " compileOnly(\"org.springframework.boot:spring-boot-starter-foobar\")", - "}"); + " compileOnly(\"org.springframework.boot:spring-boot-starter-foobar\")", "}"); } @Test void gradleBuildWithTestRuntimeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("embed-mongo", "de.flapdoodle.embed", - "de.flapdoodle.embed.mongo", DependencyScope.TEST_RUNTIME); + build.dependencies().add("embed-mongo", "de.flapdoodle.embed", "de.flapdoodle.embed.mongo", + DependencyScope.TEST_RUNTIME); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " testRuntimeOnly(\"de.flapdoodle.embed:de.flapdoodle.embed.mongo\")", - "}"); + " testRuntimeOnly(\"de.flapdoodle.embed:de.flapdoodle.embed.mongo\")", "}"); } @Test void gradleBuildWithExclusions() throws IOException { GradleBuild build = new GradleBuild(); build.dependencies().add("test", - Dependency.withCoordinates("com.example", "test") - .scope(DependencyScope.COMPILE) - .exclusions(new Exclusion("com.example.legacy", "legacy-one"), - new Exclusion("com.example.another", "legacy-two"))); + Dependency.withCoordinates("com.example", "test").scope(DependencyScope.COMPILE).exclusions( + new Exclusion("com.example.legacy", "legacy-one"), + new Exclusion("com.example.another", "legacy-two"))); List lines = generateBuild(build); - assertThat(lines).containsSequence("dependencies {", - " implementation(\"com.example:test\") {", + assertThat(lines).containsSequence("dependencies {", " implementation(\"com.example:test\") {", " exclude(group = \"com.example.legacy\", module = \"legacy-one\")", - " exclude(group = \"com.example.another\", module = \"legacy-two\")", - " }", "}"); + " exclude(group = \"com.example.another\", module = \"legacy-two\")", " }", "}"); } @Test void gradleBuildWithCustomDependencyConfiguration() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("test", GradleDependency - .withCoordinates("org.springframework.boot", "spring-boot-starter-foobar") - .scope(DependencyScope.RUNTIME).configuration("myRuntime")); + build.dependencies().add("test", + GradleDependency.withCoordinates("org.springframework.boot", "spring-boot-starter-foobar") + .scope(DependencyScope.RUNTIME).configuration("myRuntime")); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " myRuntime(\"org.springframework.boot:spring-boot-starter-foobar\")", - "}"); + " myRuntime(\"org.springframework.boot:spring-boot-starter-foobar\")", "}"); } @Test void gradleBuildWithNonNullArtifactTypeDependency() throws IOException { GradleBuild build = new GradleBuild(); - build.dependencies().add("root", Dependency - .withCoordinates("org.springframework.boot", "spring-boot-starter") + build.dependencies().add("root", Dependency.withCoordinates("org.springframework.boot", "spring-boot-starter") .scope(DependencyScope.COMPILE).type("tar.gz")); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencies {", - " implementation(\"org.springframework.boot:spring-boot-starter@tar.gz\")", - "}"); + " implementation(\"org.springframework.boot:spring-boot-starter@tar.gz\")", "}"); } @Test void gradleBuildWithBom() throws IOException { GradleBuild build = new GradleBuild(); - build.boms().add("test", "com.example", "my-project-dependencies", - VersionReference.ofValue("1.0.0.RELEASE")); + build.boms().add("test", "com.example", "my-project-dependencies", VersionReference.ofValue("1.0.0.RELEASE")); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencyManagement {", " imports {", - " mavenBom(\"com.example:my-project-dependencies:1.0.0.RELEASE\")", - " }", "}"); + " mavenBom(\"com.example:my-project-dependencies:1.0.0.RELEASE\")", " }", "}"); } @Test void gradleBuildWithOrderedBoms() throws IOException { GradleBuild build = new GradleBuild(); - build.boms().add("bom1", "com.example", "my-project-dependencies", - VersionReference.ofValue("1.0.0.RELEASE"), 5); - build.boms().add("bom2", "com.example", "root-dependencies", - VersionReference.ofProperty("root.version"), 2); + build.boms().add("bom1", "com.example", "my-project-dependencies", VersionReference.ofValue("1.0.0.RELEASE"), + 5); + build.boms().add("bom2", "com.example", "root-dependencies", VersionReference.ofProperty("root.version"), 2); List lines = generateBuild(build); assertThat(lines).containsSequence("dependencyManagement {", " imports {", " mavenBom(\"com.example:my-project-dependencies:1.0.0.RELEASE\")", - " mavenBom(\"com.example:root-dependencies:${property(\"rootVersion\")}\")", - " }", "}"); + " mavenBom(\"com.example:root-dependencies:${property(\"rootVersion\")}\")", " }", "}"); } @Test diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleSettingsWriterTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleSettingsWriterTests.java index adc58306..bdb2aa6a 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleSettingsWriterTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/gradle/KotlinDslGradleSettingsWriterTests.java @@ -38,20 +38,18 @@ class KotlinDslGradleSettingsWriterTests { GradleBuild build = new GradleBuild(); build.pluginRepositories().add("maven-central"); List lines = generateSettings(build); - assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " mavenCentral()", " gradlePluginPortal()", " }", "}"); + assertThat(lines).containsSequence("pluginManagement {", " repositories {", " mavenCentral()", + " gradlePluginPortal()", " }", "}"); } @Test void gradleBuildWithPluginRepository() throws IOException { GradleBuild build = new GradleBuild(); - build.pluginRepositories().add("spring-milestones", "Spring Milestones", - "https://repo.spring.io/milestone"); + build.pluginRepositories().add("spring-milestones", "Spring Milestones", "https://repo.spring.io/milestone"); List lines = generateSettings(build); assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " maven { url = uri(\"https://repo.spring.io/milestone\") }", - " gradlePluginPortal()", " }", " resolutionStrategy {", - " eachPlugin {", + " maven { url = uri(\"https://repo.spring.io/milestone\") }", " gradlePluginPortal()", + " }", " resolutionStrategy {", " eachPlugin {", " if (requested.id.id == \"org.springframework.boot\") {", " useModule(\"org.springframework.boot:spring-boot-gradle-plugin:${requested.version}\")", " }", " }", " }", "}"); @@ -60,13 +58,11 @@ class KotlinDslGradleSettingsWriterTests { @Test void gradleBuildWithSnapshotPluginRepository() throws IOException { GradleBuild build = new GradleBuild(); - build.pluginRepositories().add("spring-snapshots", "Spring Snapshots", - "https://repo.spring.io/snapshot", true); + build.pluginRepositories().add("spring-snapshots", "Spring Snapshots", "https://repo.spring.io/snapshot", true); List lines = generateSettings(build); assertThat(lines).containsSequence("pluginManagement {", " repositories {", - " maven { url = uri(\"https://repo.spring.io/snapshot\") }", - " gradlePluginPortal()", " }", " resolutionStrategy {", - " eachPlugin {", + " maven { url = uri(\"https://repo.spring.io/snapshot\") }", " gradlePluginPortal()", + " }", " resolutionStrategy {", " eachPlugin {", " if (requested.id.id == \"org.springframework.boot\") {", " useModule(\"org.springframework.boot:spring-boot-gradle-plugin:${requested.version}\")", " }", " }", " }", "}"); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildTests.java index 9b31b391..4d0662ea 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildTests.java @@ -31,8 +31,7 @@ class MavenBuildTests { @Test void mavenPluginCanBeConfigured() { MavenBuild build = new MavenBuild(); - build.plugin("com.example", "test-plugin").execution("first", - (first) -> first.goal("run-this")); + build.plugin("com.example", "test-plugin").execution("first", (first) -> first.goal("run-this")); assertThat(build.getPlugins()).hasSize(1); MavenPlugin testPlugin = build.getPlugins().get(0); assertThat(testPlugin.getGroupId()).isEqualTo("com.example"); @@ -40,8 +39,7 @@ class MavenBuildTests { assertThat(testPlugin.getVersion()).isNull(); assertThat(testPlugin.getExecutions()).hasSize(1); assertThat(testPlugin.getExecutions().get(0).getId()).isEqualTo("first"); - assertThat(testPlugin.getExecutions().get(0).getGoals()) - .containsExactly("run-this"); + assertThat(testPlugin.getExecutions().get(0).getGoals()).containsExactly("run-this"); } @Test @@ -83,16 +81,13 @@ class MavenBuildTests { @Test void mavenPluginExecutionCanBeAmended() { MavenBuild build = new MavenBuild(); - build.plugin("com.example", "test-plugin").execution("first", - (first) -> first.goal("run-this")); - build.plugin("com.example", "test-plugin").execution("first", - (first) -> first.goal("run-that")); + build.plugin("com.example", "test-plugin").execution("first", (first) -> first.goal("run-this")); + build.plugin("com.example", "test-plugin").execution("first", (first) -> first.goal("run-that")); assertThat(build.getPlugins()).hasSize(1); MavenPlugin testPlugin = build.getPlugins().get(0); assertThat(testPlugin.getExecutions()).hasSize(1); assertThat(testPlugin.getExecutions().get(0).getId()).isEqualTo("first"); - assertThat(testPlugin.getExecutions().get(0).getGoals()) - .containsExactly("run-this", "run-that"); + assertThat(testPlugin.getExecutions().get(0).getGoals()).containsExactly("run-this", "run-that"); } @Test diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildWriterTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildWriterTests.java index d1b835c5..3d058194 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildWriterTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenBuildWriterTests.java @@ -65,8 +65,7 @@ class MavenBuildWriterTests { assertThat(pom).textAtPath("/project/artifactId").isEqualTo("demo"); assertThat(pom).textAtPath("/project/version").isEqualTo("0.0.1-SNAPSHOT"); assertThat(pom).textAtPath("/project/name").isEqualTo("demo project"); - assertThat(pom).textAtPath("/project/description") - .isEqualTo("A demo project"); + assertThat(pom).textAtPath("/project/description").isEqualTo("A demo project"); }); } @@ -75,15 +74,11 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.parent("org.springframework.boot", "spring-boot-starter-parent", - "2.1.0.RELEASE"); + build.parent("org.springframework.boot", "spring-boot-starter-parent", "2.1.0.RELEASE"); generatePom(build, (pom) -> { - assertThat(pom).textAtPath("/project/parent/groupId") - .isEqualTo("org.springframework.boot"); - assertThat(pom).textAtPath("/project/parent/artifactId") - .isEqualTo("spring-boot-starter-parent"); - assertThat(pom).textAtPath("/project/parent/version") - .isEqualTo("2.1.0.RELEASE"); + assertThat(pom).textAtPath("/project/parent/groupId").isEqualTo("org.springframework.boot"); + assertThat(pom).textAtPath("/project/parent/artifactId").isEqualTo("spring-boot-starter-parent"); + assertThat(pom).textAtPath("/project/parent/version").isEqualTo("2.1.0.RELEASE"); }); } @@ -93,8 +88,7 @@ class MavenBuildWriterTests { build.setGroup("com.example.demo"); build.setArtifact("demo"); build.setPackaging("war"); - generatePom(build, (pom) -> assertThat(pom).textAtPath("/project/packaging") - .isEqualTo("war")); + generatePom(build, (pom) -> assertThat(pom).textAtPath("/project/packaging").isEqualTo("war")); } @Test @@ -105,8 +99,7 @@ class MavenBuildWriterTests { build.setProperty("java.version", "1.8"); build.setProperty("alpha", "a"); generatePom(build, (pom) -> { - assertThat(pom).textAtPath("/project/properties/java.version") - .isEqualTo("1.8"); + assertThat(pom).textAtPath("/project/properties/java.version").isEqualTo("1.8"); assertThat(pom).textAtPath("/project/properties/alpha").isEqualTo("a"); }); } @@ -118,12 +111,9 @@ class MavenBuildWriterTests { build.addInternalVersionProperty("internal.property", "4.5.6"); build.addExternalVersionProperty("external.property", "7.8.9"); generatePom(build, (pom) -> { - assertThat(pom).textAtPath("/project/properties/version.property") - .isEqualTo("1.2.3"); - assertThat(pom).textAtPath("/project/properties/internal.property") - .isEqualTo("4.5.6"); - assertThat(pom).textAtPath("/project/properties/external.property") - .isEqualTo("7.8.9"); + assertThat(pom).textAtPath("/project/properties/version.property").isEqualTo("1.2.3"); + assertThat(pom).textAtPath("/project/properties/internal.property").isEqualTo("4.5.6"); + assertThat(pom).textAtPath("/project/properties/external.property").isEqualTo("7.8.9"); }); } @@ -133,14 +123,11 @@ class MavenBuildWriterTests { build.setGroup("com.example.demo"); build.setArtifact("demo"); build.dependencies().add("annotation-processor", "org.springframework.boot", - "spring-boot-configuration-processor", - DependencyScope.ANNOTATION_PROCESSOR); + "spring-boot-configuration-processor", DependencyScope.ANNOTATION_PROCESSOR); generatePom(build, (pom) -> { NodeAssert dependency = pom.nodeAtPath("/project/dependencies/dependency"); - assertThat(dependency).textAtPath("groupId") - .isEqualTo("org.springframework.boot"); - assertThat(dependency).textAtPath("artifactId") - .isEqualTo("spring-boot-configuration-processor"); + assertThat(dependency).textAtPath("groupId").isEqualTo("org.springframework.boot"); + assertThat(dependency).textAtPath("artifactId").isEqualTo("spring-boot-configuration-processor"); assertThat(dependency).textAtPath("version").isNullOrEmpty(); assertThat(dependency).textAtPath("scope").isNullOrEmpty(); assertThat(dependency).textAtPath("optional").isEqualTo("true"); @@ -152,14 +139,12 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.dependencies().add("foo-bar", "org.springframework.boot", - "spring-boot-foo-bar", DependencyScope.COMPILE_ONLY); + build.dependencies().add("foo-bar", "org.springframework.boot", "spring-boot-foo-bar", + DependencyScope.COMPILE_ONLY); generatePom(build, (pom) -> { NodeAssert dependency = pom.nodeAtPath("/project/dependencies/dependency"); - assertThat(dependency).textAtPath("groupId") - .isEqualTo("org.springframework.boot"); - assertThat(dependency).textAtPath("artifactId") - .isEqualTo("spring-boot-foo-bar"); + assertThat(dependency).textAtPath("groupId").isEqualTo("org.springframework.boot"); + assertThat(dependency).textAtPath("artifactId").isEqualTo("spring-boot-foo-bar"); assertThat(dependency).textAtPath("version").isNullOrEmpty(); assertThat(dependency).textAtPath("scope").isNullOrEmpty(); assertThat(dependency).textAtPath("optional").isEqualTo("true"); @@ -171,14 +156,11 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.dependencies().add("root", "org.springframework.boot", - "spring-boot-starter", DependencyScope.COMPILE); + build.dependencies().add("root", "org.springframework.boot", "spring-boot-starter", DependencyScope.COMPILE); generatePom(build, (pom) -> { NodeAssert dependency = pom.nodeAtPath("/project/dependencies/dependency"); - assertThat(dependency).textAtPath("groupId") - .isEqualTo("org.springframework.boot"); - assertThat(dependency).textAtPath("artifactId") - .isEqualTo("spring-boot-starter"); + assertThat(dependency).textAtPath("groupId").isEqualTo("org.springframework.boot"); + assertThat(dependency).textAtPath("artifactId").isEqualTo("spring-boot-starter"); assertThat(dependency).textAtPath("version").isNullOrEmpty(); assertThat(dependency).textAtPath("scope").isNullOrEmpty(); assertThat(dependency).textAtPath("optional").isNullOrEmpty(); @@ -190,8 +172,7 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.dependencies().add("hikari", "com.zaxxer", "HikariCP", - DependencyScope.RUNTIME); + build.dependencies().add("hikari", "com.zaxxer", "HikariCP", DependencyScope.RUNTIME); generatePom(build, (pom) -> { NodeAssert dependency = pom.nodeAtPath("/project/dependencies/dependency"); assertThat(dependency).textAtPath("groupId").isEqualTo("com.zaxxer"); @@ -207,14 +188,12 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.dependencies().add("tomcat", "org.springframework.boot", - "spring-boot-starter-tomcat", DependencyScope.PROVIDED_RUNTIME); + build.dependencies().add("tomcat", "org.springframework.boot", "spring-boot-starter-tomcat", + DependencyScope.PROVIDED_RUNTIME); generatePom(build, (pom) -> { NodeAssert dependency = pom.nodeAtPath("/project/dependencies/dependency"); - assertThat(dependency).textAtPath("groupId") - .isEqualTo("org.springframework.boot"); - assertThat(dependency).textAtPath("artifactId") - .isEqualTo("spring-boot-starter-tomcat"); + assertThat(dependency).textAtPath("groupId").isEqualTo("org.springframework.boot"); + assertThat(dependency).textAtPath("artifactId").isEqualTo("spring-boot-starter-tomcat"); assertThat(dependency).textAtPath("version").isNullOrEmpty(); assertThat(dependency).textAtPath("scope").isEqualTo("provided"); assertThat(dependency).textAtPath("optional").isNullOrEmpty(); @@ -226,14 +205,12 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.dependencies().add("test", "org.springframework.boot", - "spring-boot-starter-test", DependencyScope.TEST_COMPILE); + build.dependencies().add("test", "org.springframework.boot", "spring-boot-starter-test", + DependencyScope.TEST_COMPILE); generatePom(build, (pom) -> { NodeAssert dependency = pom.nodeAtPath("/project/dependencies/dependency"); - assertThat(dependency).textAtPath("groupId") - .isEqualTo("org.springframework.boot"); - assertThat(dependency).textAtPath("artifactId") - .isEqualTo("spring-boot-starter-test"); + assertThat(dependency).textAtPath("groupId").isEqualTo("org.springframework.boot"); + assertThat(dependency).textAtPath("artifactId").isEqualTo("spring-boot-starter-test"); assertThat(dependency).textAtPath("version").isNullOrEmpty(); assertThat(dependency).textAtPath("scope").isEqualTo("test"); assertThat(dependency).textAtPath("optional").isNullOrEmpty(); @@ -245,13 +222,12 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.dependencies().add("embed-mongo", "de.flapdoodle.embed", - "de.flapdoodle.embed.mongo", DependencyScope.TEST_RUNTIME); + build.dependencies().add("embed-mongo", "de.flapdoodle.embed", "de.flapdoodle.embed.mongo", + DependencyScope.TEST_RUNTIME); generatePom(build, (pom) -> { NodeAssert dependency = pom.nodeAtPath("/project/dependencies/dependency"); assertThat(dependency).textAtPath("groupId").isEqualTo("de.flapdoodle.embed"); - assertThat(dependency).textAtPath("artifactId") - .isEqualTo("de.flapdoodle.embed.mongo"); + assertThat(dependency).textAtPath("artifactId").isEqualTo("de.flapdoodle.embed.mongo"); assertThat(dependency).textAtPath("version").isNullOrEmpty(); assertThat(dependency).textAtPath("scope").isEqualTo("test"); assertThat(dependency).textAtPath("optional").isNullOrEmpty(); @@ -264,10 +240,9 @@ class MavenBuildWriterTests { build.setGroup("com.example.demo"); build.setArtifact("demo"); build.dependencies().add("test", - Dependency.withCoordinates("com.example", "test") - .scope(DependencyScope.COMPILE) - .exclusions(new Exclusion("com.example.legacy", "legacy-one"), - new Exclusion("com.example.another", "legacy-two"))); + Dependency.withCoordinates("com.example", "test").scope(DependencyScope.COMPILE).exclusions( + new Exclusion("com.example.legacy", "legacy-one"), + new Exclusion("com.example.another", "legacy-two"))); generatePom(build, (pom) -> { NodeAssert dependency = pom.nodeAtPath("/project/dependencies/dependency"); assertThat(dependency).textAtPath("groupId").isEqualTo("com.example"); @@ -277,13 +252,10 @@ class MavenBuildWriterTests { assertThat(dependency).textAtPath("optional").isNullOrEmpty(); NodeAssert exclusions = assertThat(dependency).nodeAtPath("exclusions"); NodeAssert firstExclusion = assertThat(exclusions).nodeAtPath("exclusion[1]"); - assertThat(firstExclusion).textAtPath("groupId") - .isEqualTo("com.example.legacy"); + assertThat(firstExclusion).textAtPath("groupId").isEqualTo("com.example.legacy"); assertThat(firstExclusion).textAtPath("artifactId").isEqualTo("legacy-one"); - NodeAssert secondExclusion = assertThat(exclusions) - .nodeAtPath("exclusion[2]"); - assertThat(secondExclusion).textAtPath("groupId") - .isEqualTo("com.example.another"); + NodeAssert secondExclusion = assertThat(exclusions).nodeAtPath("exclusion[2]"); + assertThat(secondExclusion).textAtPath("groupId").isEqualTo("com.example.another"); assertThat(secondExclusion).textAtPath("artifactId").isEqualTo("legacy-two"); }); } @@ -294,16 +266,12 @@ class MavenBuildWriterTests { build.setGroup("com.example.demo"); build.setArtifact("demo"); build.dependencies().add("annotation-processor", - MavenDependency - .withCoordinates("org.springframework.boot", - "spring-boot-configuration-processor") + MavenDependency.withCoordinates("org.springframework.boot", "spring-boot-configuration-processor") .scope(DependencyScope.COMPILE).optional(true)); generatePom(build, (pom) -> { NodeAssert dependency = pom.nodeAtPath("/project/dependencies/dependency"); - assertThat(dependency).textAtPath("groupId") - .isEqualTo("org.springframework.boot"); - assertThat(dependency).textAtPath("artifactId") - .isEqualTo("spring-boot-configuration-processor"); + assertThat(dependency).textAtPath("groupId").isEqualTo("org.springframework.boot"); + assertThat(dependency).textAtPath("artifactId").isEqualTo("spring-boot-configuration-processor"); assertThat(dependency).textAtPath("version").isNullOrEmpty(); assertThat(dependency).textAtPath("scope").isNullOrEmpty(); assertThat(dependency).textAtPath("optional").isEqualTo("true"); @@ -315,8 +283,7 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.dependencies().add("root", Dependency - .withCoordinates("org.springframework.boot", "spring-boot-starter") + build.dependencies().add("root", Dependency.withCoordinates("org.springframework.boot", "spring-boot-starter") .scope(DependencyScope.COMPILE).type("tar.gz")); generatePom(build, (pom) -> { NodeAssert dependency = pom.nodeAtPath("/project/dependencies/dependency"); @@ -329,13 +296,10 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.boms().add("test", "com.example", "my-project-dependencies", - VersionReference.ofValue("1.0.0.RELEASE")); + build.boms().add("test", "com.example", "my-project-dependencies", VersionReference.ofValue("1.0.0.RELEASE")); generatePom(build, (pom) -> { - NodeAssert dependency = pom - .nodeAtPath("/project/dependencyManagement/dependencies/dependency"); - assertBom(dependency, "com.example", "my-project-dependencies", - "1.0.0.RELEASE"); + NodeAssert dependency = pom.nodeAtPath("/project/dependencyManagement/dependencies/dependency"); + assertBom(dependency, "com.example", "my-project-dependencies", "1.0.0.RELEASE"); }); } @@ -344,23 +308,19 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.boms().add("bom1", "com.example", "my-project-dependencies", - VersionReference.ofValue("1.0.0.RELEASE"), 5); - build.boms().add("bom2", "com.example", "root-dependencies", - VersionReference.ofProperty("root.version"), 2); + build.boms().add("bom1", "com.example", "my-project-dependencies", VersionReference.ofValue("1.0.0.RELEASE"), + 5); + build.boms().add("bom2", "com.example", "root-dependencies", VersionReference.ofProperty("root.version"), 2); generatePom(build, (pom) -> { - NodeAssert dependencies = pom - .nodeAtPath("/project/dependencyManagement/dependencies"); + NodeAssert dependencies = pom.nodeAtPath("/project/dependencyManagement/dependencies"); NodeAssert firstBom = assertThat(dependencies).nodeAtPath("dependency[1]"); assertBom(firstBom, "com.example", "root-dependencies", "${root.version}"); NodeAssert secondBom = assertThat(dependencies).nodeAtPath("dependency[2]"); - assertBom(secondBom, "com.example", "my-project-dependencies", - "1.0.0.RELEASE"); + assertBom(secondBom, "com.example", "my-project-dependencies", "1.0.0.RELEASE"); }); } - private void assertBom(NodeAssert firstBom, String groupId, String artifactId, - String version) { + private void assertBom(NodeAssert firstBom, String groupId, String artifactId, String version) { assertThat(firstBom).textAtPath("groupId").isEqualTo(groupId); assertThat(firstBom).textAtPath("artifactId").isEqualTo(artifactId); @@ -377,10 +337,8 @@ class MavenBuildWriterTests { build.plugin("org.springframework.boot", "spring-boot-maven-plugin"); generatePom(build, (pom) -> { NodeAssert plugin = pom.nodeAtPath("/project/build/plugins/plugin"); - assertThat(plugin).textAtPath("groupId") - .isEqualTo("org.springframework.boot"); - assertThat(plugin).textAtPath("artifactId") - .isEqualTo("spring-boot-maven-plugin"); + assertThat(plugin).textAtPath("groupId").isEqualTo("org.springframework.boot"); + assertThat(plugin).textAtPath("artifactId").isEqualTo("spring-boot-maven-plugin"); assertThat(plugin).textAtPath("version").isNullOrEmpty(); assertThat(plugin).textAtPath("extensions").isNullOrEmpty(); }); @@ -394,8 +352,7 @@ class MavenBuildWriterTests { MavenPlugin kotlin = build.plugin("org.jetbrains.kotlin", "kotlin-maven-plugin"); kotlin.configuration((configuration) -> { configuration.configure("args", (args) -> args.add("arg", "-Xjsr305=strict")); - configuration.configure("compilerPlugins", - (compilerPlugins) -> compilerPlugins.add("plugin", "spring")); + configuration.configure("compilerPlugins", (compilerPlugins) -> compilerPlugins.add("plugin", "spring")); }); generatePom(build, (pom) -> { NodeAssert plugin = pom.nodeAtPath("/project/build/plugins/plugin"); @@ -404,8 +361,7 @@ class MavenBuildWriterTests { assertThat(plugin).textAtPath("version").isNullOrEmpty(); NodeAssert configuration = plugin.nodeAtPath("configuration"); assertThat(configuration).textAtPath("args/arg").isEqualTo("-Xjsr305=strict"); - assertThat(configuration).textAtPath("compilerPlugins/plugin") - .isEqualTo("spring"); + assertThat(configuration).textAtPath("compilerPlugins/plugin").isEqualTo("spring"); }); } @@ -414,8 +370,7 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - MavenPlugin asciidoctor = build.plugin("org.asciidoctor", - "asciidoctor-maven-plugin", "1.5.3"); + MavenPlugin asciidoctor = build.plugin("org.asciidoctor", "asciidoctor-maven-plugin", "1.5.3"); asciidoctor.execution("generateProject-docs", (execution) -> { execution.goal("process-asciidoc"); execution.phase("generateProject-resources"); @@ -427,14 +382,12 @@ class MavenBuildWriterTests { generatePom(build, (pom) -> { NodeAssert plugin = pom.nodeAtPath("/project/build/plugins/plugin"); assertThat(plugin).textAtPath("groupId").isEqualTo("org.asciidoctor"); - assertThat(plugin).textAtPath("artifactId") - .isEqualTo("asciidoctor-maven-plugin"); + assertThat(plugin).textAtPath("artifactId").isEqualTo("asciidoctor-maven-plugin"); assertThat(plugin).textAtPath("version").isEqualTo("1.5.3"); NodeAssert execution = plugin.nodeAtPath("executions/execution"); assertThat(execution).textAtPath("id").isEqualTo("generateProject-docs"); assertThat(execution).textAtPath("goals/goal").isEqualTo("process-asciidoc"); - assertThat(execution).textAtPath("phase") - .isEqualTo("generateProject-resources"); + assertThat(execution).textAtPath("phase").isEqualTo("generateProject-resources"); NodeAssert configuration = execution.nodeAtPath("configuration"); assertThat(configuration).textAtPath("doctype").isEqualTo("book"); assertThat(configuration).textAtPath("backend").isEqualTo("html"); @@ -447,17 +400,14 @@ class MavenBuildWriterTests { build.setGroup("com.example.demo"); build.setArtifact("demo"); MavenPlugin kotlin = build.plugin("org.jetbrains.kotlin", "kotlin-maven-plugin"); - kotlin.dependency("org.jetbrains.kotlin", "kotlin-maven-allopen", - "${kotlin.version}"); + kotlin.dependency("org.jetbrains.kotlin", "kotlin-maven-allopen", "${kotlin.version}"); generatePom(build, (pom) -> { NodeAssert plugin = pom.nodeAtPath("/project/build/plugins/plugin"); assertThat(plugin).textAtPath("groupId").isEqualTo("org.jetbrains.kotlin"); assertThat(plugin).textAtPath("artifactId").isEqualTo("kotlin-maven-plugin"); NodeAssert dependency = plugin.nodeAtPath("dependencies/dependency"); - assertThat(dependency).textAtPath("groupId") - .isEqualTo("org.jetbrains.kotlin"); - assertThat(dependency).textAtPath("artifactId") - .isEqualTo("kotlin-maven-allopen"); + assertThat(dependency).textAtPath("groupId").isEqualTo("org.jetbrains.kotlin"); + assertThat(dependency).textAtPath("artifactId").isEqualTo("kotlin-maven-allopen"); assertThat(dependency).textAtPath("version").isEqualTo("${kotlin.version}"); }); } @@ -494,17 +444,13 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.repositories().add("spring-milestones", "Spring Milestones", - "https://repo.spring.io/milestone"); + build.repositories().add("spring-milestones", "Spring Milestones", "https://repo.spring.io/milestone"); generatePom(build, (pom) -> { - assertThat(pom).textAtPath("/project/repositories/repository/id") - .isEqualTo("spring-milestones"); - assertThat(pom).textAtPath("/project/repositories/repository/name") - .isEqualTo("Spring Milestones"); + assertThat(pom).textAtPath("/project/repositories/repository/id").isEqualTo("spring-milestones"); + assertThat(pom).textAtPath("/project/repositories/repository/name").isEqualTo("Spring Milestones"); assertThat(pom).textAtPath("/project/repositories/repository/url") .isEqualTo("https://repo.spring.io/milestone"); - assertThat(pom).nodeAtPath("/project/repositories/repository/snapshots") - .isNull(); + assertThat(pom).nodeAtPath("/project/repositories/repository/snapshots").isNull(); assertThat(pom).nodeAtPath("/project/pluginRepositories").isNull(); }); } @@ -514,18 +460,15 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.pluginRepositories().add("spring-milestones", "Spring Milestones", - "https://repo.spring.io/milestone"); + build.pluginRepositories().add("spring-milestones", "Spring Milestones", "https://repo.spring.io/milestone"); generatePom(build, (pom) -> { assertThat(pom).textAtPath("/project/pluginRepositories/pluginRepository/id") .isEqualTo("spring-milestones"); - assertThat(pom) - .textAtPath("/project/pluginRepositories/pluginRepository/name") + assertThat(pom).textAtPath("/project/pluginRepositories/pluginRepository/name") .isEqualTo("Spring Milestones"); assertThat(pom).textAtPath("/project/pluginRepositories/pluginRepository/url") .isEqualTo("https://repo.spring.io/milestone"); - assertThat(pom).nodeAtPath("/project/repositories/repository/snapshots") - .isNull(); + assertThat(pom).nodeAtPath("/project/repositories/repository/snapshots").isNull(); assertThat(pom).nodeAtPath("/project/repositories").isNull(); }); } @@ -535,18 +478,13 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.repositories().add("spring-snapshots", "Spring Snapshots", - "https://repo.spring.io/snapshot", true); + build.repositories().add("spring-snapshots", "Spring Snapshots", "https://repo.spring.io/snapshot", true); generatePom(build, (pom) -> { - assertThat(pom).textAtPath("/project/repositories/repository/id") - .isEqualTo("spring-snapshots"); - assertThat(pom).textAtPath("/project/repositories/repository/name") - .isEqualTo("Spring Snapshots"); + assertThat(pom).textAtPath("/project/repositories/repository/id").isEqualTo("spring-snapshots"); + assertThat(pom).textAtPath("/project/repositories/repository/name").isEqualTo("Spring Snapshots"); assertThat(pom).textAtPath("/project/repositories/repository/url") .isEqualTo("https://repo.spring.io/snapshot"); - assertThat(pom) - .textAtPath("/project/repositories/repository/snapshots/enabled") - .isEqualTo("true"); + assertThat(pom).textAtPath("/project/repositories/repository/snapshots/enabled").isEqualTo("true"); assertThat(pom).nodeAtPath("/project/pluginRepositories").isNull(); }); } @@ -556,18 +494,14 @@ class MavenBuildWriterTests { MavenBuild build = new MavenBuild(); build.setGroup("com.example.demo"); build.setArtifact("demo"); - build.pluginRepositories().add("spring-snapshots", "Spring Snapshots", - "https://repo.spring.io/snapshot", true); + build.pluginRepositories().add("spring-snapshots", "Spring Snapshots", "https://repo.spring.io/snapshot", true); generatePom(build, (pom) -> { - assertThat(pom).textAtPath("/project/pluginRepositories/pluginRepository/id") - .isEqualTo("spring-snapshots"); - assertThat(pom) - .textAtPath("/project/pluginRepositories/pluginRepository/name") + assertThat(pom).textAtPath("/project/pluginRepositories/pluginRepository/id").isEqualTo("spring-snapshots"); + assertThat(pom).textAtPath("/project/pluginRepositories/pluginRepository/name") .isEqualTo("Spring Snapshots"); assertThat(pom).textAtPath("/project/pluginRepositories/pluginRepository/url") .isEqualTo("https://repo.spring.io/snapshot"); - assertThat(pom).textAtPath( - "/project/pluginRepositories/pluginRepository/snapshots/enabled") + assertThat(pom).textAtPath("/project/pluginRepositories/pluginRepository/snapshots/enabled") .isEqualTo("true"); assertThat(pom).nodeAtPath("/project/repositories").isNull(); }); @@ -592,12 +526,10 @@ class MavenBuildWriterTests { void pomWithCustomVersion() throws Exception { MavenBuild build = new MavenBuild(); build.setVersion("1.2.4.RELEASE"); - generatePom(build, (pom) -> assertThat(pom).textAtPath("/project/version") - .isEqualTo("1.2.4.RELEASE")); + generatePom(build, (pom) -> assertThat(pom).textAtPath("/project/version").isEqualTo("1.2.4.RELEASE")); } - private void generatePom(MavenBuild mavenBuild, Consumer consumer) - throws Exception { + private void generatePom(MavenBuild mavenBuild, Consumer consumer) throws Exception { MavenBuildWriter writer = new MavenBuildWriter(); StringWriter out = new StringWriter(); writer.writeTo(new IndentingWriter(out), mavenBuild); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenDependencyTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenDependencyTests.java index 8b02582f..12585a7b 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenDependencyTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenDependencyTests.java @@ -33,8 +33,7 @@ class MavenDependencyTests { @Test void initializeFromStandardDependency() { Dependency original = Dependency.withCoordinates("com.example", "test") - .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.RUNTIME) - .type("zip").build(); + .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.RUNTIME).type("zip").build(); MavenDependency dependency = MavenDependency.from(original).build(); assertThat(original).isNotSameAs(dependency); assertThat(dependency.getGroupId()).isEqualTo("com.example"); @@ -48,8 +47,8 @@ class MavenDependencyTests { @Test void initializeFromMavenDependency() { Dependency original = MavenDependency.withCoordinates("com.example", "test") - .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.RUNTIME) - .type("zip").optional(true).build(); + .version(VersionReference.ofValue("1.0.0")).scope(DependencyScope.RUNTIME).type("zip").optional(true) + .build(); MavenDependency dependency = MavenDependency.from(original).build(); assertThat(original).isNotSameAs(dependency); assertThat(dependency.getGroupId()).isEqualTo("com.example"); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenPluginTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenPluginTests.java index a34e6b37..b751daac 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenPluginTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/buildsystem/maven/MavenPluginTests.java @@ -34,14 +34,12 @@ class MavenPluginTests { @Test void configurationParameterCanBeCustomized() { MavenPlugin plugin = new MavenPlugin("com.example", "test-plugin"); - plugin.configuration((configuration) -> configuration.add("enabled", "false") - .add("skip", "true")); + plugin.configuration((configuration) -> configuration.add("enabled", "false").add("skip", "true")); plugin.configuration((configuration) -> configuration.add("another", "test")); - assertThat(plugin.getConfiguration().getSettings().stream().map(Setting::getName)) - .containsExactly("enabled", "skip", "another"); - assertThat( - plugin.getConfiguration().getSettings().stream().map(Setting::getValue)) - .containsExactly("false", "true", "test"); + assertThat(plugin.getConfiguration().getSettings().stream().map(Setting::getName)).containsExactly("enabled", + "skip", "another"); + assertThat(plugin.getConfiguration().getSettings().stream().map(Setting::getValue)).containsExactly("false", + "true", "test"); } @Test @@ -49,21 +47,18 @@ class MavenPluginTests { MavenPlugin plugin = new MavenPlugin("com.example", "test-plugin"); plugin.configuration((configuration) -> configuration.add("enabled", "true")); plugin.configuration((configuration) -> configuration.add("skip", "false")); - assertThat(plugin.getConfiguration().getSettings().stream().map(Setting::getName)) - .containsExactly("enabled", "skip"); - assertThat( - plugin.getConfiguration().getSettings().stream().map(Setting::getValue)) - .containsExactly("true", "false"); + assertThat(plugin.getConfiguration().getSettings().stream().map(Setting::getName)).containsExactly("enabled", + "skip"); + assertThat(plugin.getConfiguration().getSettings().stream().map(Setting::getValue)).containsExactly("true", + "false"); } @Test @SuppressWarnings("unchecked") void configurationParameterWithNestedValuesCanBeCustomized() { MavenPlugin plugin = new MavenPlugin("com.example", "test-plugin"); - plugin.configuration((configuration) -> configuration.configure("items", - (items) -> items.add("item", "one"))); - plugin.configuration((configuration) -> configuration.configure("items", - (items) -> items.add("item", "two"))); + plugin.configuration((configuration) -> configuration.configure("items", (items) -> items.add("item", "one"))); + plugin.configuration((configuration) -> configuration.configure("items", (items) -> items.add("item", "two"))); assertThat(plugin.getConfiguration().getSettings()).hasSize(1); Setting setting = plugin.getConfiguration().getSettings().get(0); assertThat(setting.getName()).isEqualTo("items"); @@ -78,11 +73,9 @@ class MavenPluginTests { void configurationParameterWithSeveralLevelOfNestedValuesCanBeCustomized() { MavenPlugin plugin = new MavenPlugin("com.example", "test-plugin"); plugin.configuration((configuration) -> configuration.configure("items", - (items) -> items.configure("item", - (subItems) -> subItems.add("subItem", "one")))); - plugin.configuration((configuration) -> configuration.configure("items", - (items) -> items.configure("item", (subItems) -> subItems - .add("subItem", "two").add("subItem", "three")))); + (items) -> items.configure("item", (subItems) -> subItems.add("subItem", "one")))); + plugin.configuration((configuration) -> configuration.configure("items", (items) -> items.configure("item", + (subItems) -> subItems.add("subItem", "two").add("subItem", "three")))); assertThat(plugin.getConfiguration().getSettings()).hasSize(1); Setting setting = plugin.getConfiguration().getSettings().get(0); assertThat(setting.getName()).isEqualTo("items"); @@ -93,10 +86,8 @@ class MavenPluginTests { assertThat(item.getName()).isEqualTo("item"); assertThat(item.getValue()).isInstanceOf(List.class); List subItems = (List) item.getValue(); - assertThat(subItems.stream().map(Setting::getName)).containsExactly("subItem", - "subItem", "subItem"); - assertThat(subItems.stream().map(Setting::getValue)).containsExactly("one", "two", - "three"); + assertThat(subItems.stream().map(Setting::getName)).containsExactly("subItem", "subItem", "subItem"); + assertThat(subItems.stream().map(Setting::getValue)).containsExactly("one", "two", "three"); } @Test @@ -104,8 +95,8 @@ class MavenPluginTests { MavenPlugin plugin = new MavenPlugin("com.example", "test-plugin"); plugin.configuration((configuration) -> configuration.add("test", "value")); assertThatIllegalArgumentException() - .isThrownBy(() -> plugin.configuration((customizer) -> customizer - .configure("test", (test) -> test.add("one", "true")))) + .isThrownBy(() -> plugin + .configuration((customizer) -> customizer.configure("test", (test) -> test.add("one", "true")))) .withMessageContaining("test").withMessageContaining("value"); } @@ -115,8 +106,7 @@ class MavenPluginTests { plugin.execution("test", (test) -> test.phase("compile")); plugin.execution("test", (test) -> test.phase("process-resources")); assertThat(plugin.getExecutions()).hasSize(1); - assertThat(plugin.getExecutions().get(0).getPhase()) - .isEqualTo("process-resources"); + assertThat(plugin.getExecutions().get(0).getPhase()).isEqualTo("process-resources"); } @Test @@ -125,24 +115,20 @@ class MavenPluginTests { plugin.execution("test", (test) -> test.goal("first")); plugin.execution("test", (test) -> test.goal("second")); assertThat(plugin.getExecutions()).hasSize(1); - assertThat(plugin.getExecutions().get(0).getGoals()).containsExactly("first", - "second"); + assertThat(plugin.getExecutions().get(0).getGoals()).containsExactly("first", "second"); } @Test void executionConfigurationCanBeOverridden() { MavenPlugin plugin = new MavenPlugin("com.example", "test-plugin"); - plugin.execution("test", (test) -> test.configuration( - (testConfiguration) -> testConfiguration.add("enabled", "true"))); - plugin.execution("test", (test) -> test.configuration( - (testConfiguration) -> testConfiguration.add("another", "test"))); + plugin.execution("test", + (test) -> test.configuration((testConfiguration) -> testConfiguration.add("enabled", "true"))); + plugin.execution("test", + (test) -> test.configuration((testConfiguration) -> testConfiguration.add("another", "test"))); assertThat(plugin.getExecutions()).hasSize(1); - List settings = plugin.getExecutions().get(0).getConfiguration() - .getSettings(); - assertThat(settings.stream().map(Setting::getName)).containsExactly("enabled", - "another"); - assertThat(settings.stream().map(Setting::getValue)).containsExactly("true", - "test"); + List settings = plugin.getExecutions().get(0).getConfiguration().getSettings(); + assertThat(settings.stream().map(Setting::getName)).containsExactly("enabled", "another"); + assertThat(settings.stream().map(Setting::getValue)).containsExactly("true", "test"); } } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnBuildSystemTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnBuildSystemTests.java index ce023513..f1dcc69c 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnBuildSystemTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnBuildSystemTests.java @@ -42,31 +42,27 @@ class ConditionalOnBuildSystemTests { void outcomeWithMavenBuildSystem() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setBuildSystem(new MavenBuildSystem()); - assertThat(candidatesFor(projectDescription, BuildSystemTestConfiguration.class)) - .containsOnlyKeys("maven"); + assertThat(candidatesFor(projectDescription, BuildSystemTestConfiguration.class)).containsOnlyKeys("maven"); } @Test void outcomeWithGradleBuildSystem() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setBuildSystem(new GradleBuildSystem()); - assertThat(candidatesFor(projectDescription, BuildSystemTestConfiguration.class)) - .containsOnlyKeys("gradle"); + assertThat(candidatesFor(projectDescription, BuildSystemTestConfiguration.class)).containsOnlyKeys("gradle"); } @Test void conditionalOnGradleWithKotlinDialectMatchesWhenGradleBuildSystemUsesKotlinDialect() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setBuildSystem(new GradleBuildSystem("kotlin")); - assertThat(candidatesFor(projectDescription, BuildSystemTestConfiguration.class)) - .containsOnlyKeys("gradle", "gradleKotlin"); + assertThat(candidatesFor(projectDescription, BuildSystemTestConfiguration.class)).containsOnlyKeys("gradle", + "gradleKotlin"); } - private Map candidatesFor(ProjectDescription projectDescription, - Class... extraConfigurations) { - return this.projectTester.withConfiguration(extraConfigurations).generate( - projectDescription, (projectGenerationContext) -> projectGenerationContext - .getBeansOfType(String.class)); + private Map candidatesFor(ProjectDescription projectDescription, Class... extraConfigurations) { + return this.projectTester.withConfiguration(extraConfigurations).generate(projectDescription, + (projectGenerationContext) -> projectGenerationContext.getBeansOfType(String.class)); } @Configuration diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnLanguageTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnLanguageTests.java index 781df881..344a69fb 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnLanguageTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnLanguageTests.java @@ -74,12 +74,10 @@ class ConditionalOnLanguageTests { } private String outcomeFor(ProjectDescription projectDescription) { - return this.projectTester.generate(projectDescription, - (projectGenerationContext) -> { - assertThat(projectGenerationContext.getBeansOfType(String.class)) - .hasSize(1); - return projectGenerationContext.getBean(String.class); - }); + return this.projectTester.generate(projectDescription, (projectGenerationContext) -> { + assertThat(projectGenerationContext.getBeansOfType(String.class)).hasSize(1); + return projectGenerationContext.getBean(String.class); + }); } @Configuration diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnPackagingTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnPackagingTests.java index 86885b7c..e76d6c17 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnPackagingTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnPackagingTests.java @@ -63,12 +63,10 @@ class ConditionalOnPackagingTests { } private String outcomeFor(ProjectDescription projectDescription) { - return this.projectTester.generate(projectDescription, - (projectGenerationContext) -> { - assertThat(projectGenerationContext.getBeansOfType(String.class)) - .hasSize(1); - return projectGenerationContext.getBean(String.class); - }); + return this.projectTester.generate(projectDescription, (projectGenerationContext) -> { + assertThat(projectGenerationContext.getBeansOfType(String.class)).hasSize(1); + return projectGenerationContext.getBean(String.class); + }); } @Configuration diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnPlatformVersionTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnPlatformVersionTests.java index b0b4cf62..22141459 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnPlatformVersionTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnPlatformVersionTests.java @@ -42,71 +42,57 @@ class ConditionalOnPlatformVersionTests { void outcomeWithMatchingRange() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setPlatformVersion(Version.parse("1.2.0.RELEASE")); - assertThat( - candidatesFor(projectDescription, PlatformVersionTestConfiguration.class)) - .containsOnlyKeys("first"); + assertThat(candidatesFor(projectDescription, PlatformVersionTestConfiguration.class)).containsOnlyKeys("first"); } @Test void outcomeWithMatchingOpenRange() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setPlatformVersion(Version.parse("2.0.1.RELEASE")); - assertThat( - candidatesFor(projectDescription, PlatformVersionTestConfiguration.class)) - .containsOnlyKeys("second"); + assertThat(candidatesFor(projectDescription, PlatformVersionTestConfiguration.class)) + .containsOnlyKeys("second"); } @Test void outcomeWithMatchingStartOfOpenRange() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setPlatformVersion(Version.parse("2.0.0.M1")); - assertThat( - candidatesFor(projectDescription, PlatformVersionTestConfiguration.class)) - .containsOnlyKeys("second"); + assertThat(candidatesFor(projectDescription, PlatformVersionTestConfiguration.class)) + .containsOnlyKeys("second"); } @Test void outcomeWithNoMatch() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setPlatformVersion(Version.parse("0.1.0")); - assertThat( - candidatesFor(projectDescription, PlatformVersionTestConfiguration.class)) - .isEmpty(); + assertThat(candidatesFor(projectDescription, PlatformVersionTestConfiguration.class)).isEmpty(); } @Test void outcomeWithNoAvailablePlatformVersion() { ProjectDescription projectDescription = new ProjectDescription(); - assertThat( - candidatesFor(projectDescription, PlatformVersionTestConfiguration.class)) - .isEmpty(); + assertThat(candidatesFor(projectDescription, PlatformVersionTestConfiguration.class)).isEmpty(); } @Test void outcomeWithSeveralRangesAndMatchingVersion() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setPlatformVersion(Version.parse("2.1.0.RELEASE")); - assertThat( - candidatesFor(projectDescription, PlatformVersionTestConfiguration.class, - OneOrTwoPlatformVersionTestConfiguration.class)) - .containsOnlyKeys("second", "firstOrSecond"); + assertThat(candidatesFor(projectDescription, PlatformVersionTestConfiguration.class, + OneOrTwoPlatformVersionTestConfiguration.class)).containsOnlyKeys("second", "firstOrSecond"); } @Test void outcomeWithSeveralRangesAndNonMatchingVersion() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.setPlatformVersion(Version.parse("2.0.0.M2")); - assertThat( - candidatesFor(projectDescription, PlatformVersionTestConfiguration.class, - OneOrTwoPlatformVersionTestConfiguration.class)) - .containsOnlyKeys("second"); + assertThat(candidatesFor(projectDescription, PlatformVersionTestConfiguration.class, + OneOrTwoPlatformVersionTestConfiguration.class)).containsOnlyKeys("second"); } - private Map candidatesFor(ProjectDescription projectDescription, - Class... extraConfigurations) { - return this.projectTester.withConfiguration(extraConfigurations).generate( - projectDescription, (projectGenerationContext) -> projectGenerationContext - .getBeansOfType(String.class)); + private Map candidatesFor(ProjectDescription projectDescription, Class... extraConfigurations) { + return this.projectTester.withConfiguration(extraConfigurations).generate(projectDescription, + (projectGenerationContext) -> projectGenerationContext.getBeansOfType(String.class)); } @Configuration diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnRequestedDependencyTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnRequestedDependencyTests.java index 978ab0ba..01d96347 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnRequestedDependencyTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/condition/ConditionalOnRequestedDependencyTests.java @@ -41,12 +41,10 @@ class ConditionalOnRequestedDependencyTests { void outcomeWithMatchingDependency() { ProjectDescription projectDescription = new ProjectDescription(); projectDescription.addDependency("web", mock(Dependency.class)); - String bean = this.projectTester.generate(projectDescription, - (projectGenerationContext) -> { - assertThat(projectGenerationContext.getBeansOfType(String.class)) - .hasSize(1); - return projectGenerationContext.getBean(String.class); - }); + String bean = this.projectTester.generate(projectDescription, (projectGenerationContext) -> { + assertThat(projectGenerationContext.getBeansOfType(String.class)).hasSize(1); + return projectGenerationContext.getBean(String.class); + }); assertThat(bean).isEqualTo("webDependency"); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/io/IndentingWriterFactoryTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/io/IndentingWriterFactoryTests.java index cc8f6bef..09151eb9 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/io/IndentingWriterFactoryTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/io/IndentingWriterFactoryTests.java @@ -29,29 +29,26 @@ import static org.assertj.core.api.Assertions.assertThat; */ class IndentingWriterFactoryTests { - private static final SimpleIndentStrategy SPACE_STRATEGY = new SimpleIndentStrategy( - " "); + private static final SimpleIndentStrategy SPACE_STRATEGY = new SimpleIndentStrategy(" "); - private static final SimpleIndentStrategy TAB_STRATEGY = new SimpleIndentStrategy( - "\t"); + private static final SimpleIndentStrategy TAB_STRATEGY = new SimpleIndentStrategy("\t"); private final StringWriter out = new StringWriter(); @Test void createWithSingleIndentStrategy() { - IndentingWriter writer = IndentingWriterFactory.create((SPACE_STRATEGY)) - .createIndentingWriter("test", this.out); + IndentingWriter writer = IndentingWriterFactory.create((SPACE_STRATEGY)).createIndentingWriter("test", + this.out); assertThat(writer).hasFieldOrPropertyWithValue("indentStrategy", SPACE_STRATEGY); } @Test void createWithSpecializedIndentStrategy() { SimpleIndentStrategy twoSpacesStrategy = new SimpleIndentStrategy(" "); - IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory - .create(SPACE_STRATEGY, (factory) -> { - factory.indentingStrategy("java", TAB_STRATEGY); - factory.indentingStrategy("pom", twoSpacesStrategy); - }); + IndentingWriterFactory indentingWriterFactory = IndentingWriterFactory.create(SPACE_STRATEGY, (factory) -> { + factory.indentingStrategy("java", TAB_STRATEGY); + factory.indentingStrategy("pom", twoSpacesStrategy); + }); assertThat(indentingWriterFactory.createIndentingWriter("java", this.out)) .hasFieldOrPropertyWithValue("indentStrategy", TAB_STRATEGY); assertThat(indentingWriterFactory.createIndentingWriter("pom", this.out)) diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/io/IndentingWriterTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/io/IndentingWriterTests.java index 3f6ab51c..869b3150 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/io/IndentingWriterTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/io/IndentingWriterTests.java @@ -34,8 +34,7 @@ class IndentingWriterTests { private final StringWriter stringWriter = new StringWriter(); - private final IndentingWriter indentingWriter = new IndentingWriter( - this.stringWriter); + private final IndentingWriter indentingWriter = new IndentingWriter(this.stringWriter); @Test void linesAreNotIndentedByDefault() { @@ -78,8 +77,8 @@ class IndentingWriterTests { @Test void customIndentStrategyIsUsed() throws IOException { - try (IndentingWriter customIndentingWriter = new IndentingWriter( - this.stringWriter, new SimpleIndentStrategy("\t"))) { + try (IndentingWriter customIndentingWriter = new IndentingWriter(this.stringWriter, + new SimpleIndentStrategy("\t"))) { customIndentingWriter.println("a"); customIndentingWriter.indented(() -> { customIndentingWriter.println("b"); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/io/SimpleIndentStrategyTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/io/SimpleIndentStrategyTests.java index 712a5a53..88d4def9 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/io/SimpleIndentStrategyTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/io/SimpleIndentStrategyTests.java @@ -55,16 +55,14 @@ class SimpleIndentStrategyTests { @Test void mustHaveIndent() { - assertThatExceptionOfType(IllegalArgumentException.class) - .isThrownBy(() -> new SimpleIndentStrategy(null)); + assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> new SimpleIndentStrategy(null)); } @Test void indentLevelMustNotBeNegative() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> new SimpleIndentStrategy(" ").apply(-1)) - .withMessageContaining("Indent level must not be negative") - .withMessageContaining("-1"); + .withMessageContaining("Indent level must not be negative").withMessageContaining("-1"); } } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/io/template/MustacheTemplateRendererTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/io/template/MustacheTemplateRendererTests.java index 38612513..d7918c0a 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/io/template/MustacheTemplateRendererTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/io/template/MustacheTemplateRendererTests.java @@ -38,43 +38,35 @@ class MustacheTemplateRendererTests { @Test void renderTemplate() throws IOException { - MustacheTemplateRenderer render = new MustacheTemplateRenderer( - "classpath:/templates/mustache", this.templatesCache); - assertThat(this.templatesCache.get("classpath:/templates/mustache/test")) - .isNull(); - assertThat(render.render("test", Collections.singletonMap("key", "value"))) - .isEqualTo("value"); - assertThat(this.templatesCache.get("classpath:/templates/mustache/test")) - .isNotNull(); + MustacheTemplateRenderer render = new MustacheTemplateRenderer("classpath:/templates/mustache", + this.templatesCache); + assertThat(this.templatesCache.get("classpath:/templates/mustache/test")).isNull(); + assertThat(render.render("test", Collections.singletonMap("key", "value"))).isEqualTo("value"); + assertThat(this.templatesCache.get("classpath:/templates/mustache/test")).isNotNull(); } @Test void renderTemplateWithoutCache() throws IOException { - MustacheTemplateRenderer render = new MustacheTemplateRenderer( - "classpath:/templates/mustache"); - assertThat(render.render("test", Collections.singletonMap("key", "value"))) - .isEqualTo("value"); + MustacheTemplateRenderer render = new MustacheTemplateRenderer("classpath:/templates/mustache"); + assertThat(render.render("test", Collections.singletonMap("key", "value"))).isEqualTo("value"); } @Test void renderUnknownTemplate() { - MustacheTemplateRenderer render = new MustacheTemplateRenderer( - "classpath:/templates/mustache", this.templatesCache); + MustacheTemplateRenderer render = new MustacheTemplateRenderer("classpath:/templates/mustache", + this.templatesCache); assertThatExceptionOfType(IllegalStateException.class) .isThrownBy(() -> render.render("does-not-exist", Collections.emptyMap())) - .withMessageContaining("Cannot load template") - .withMessageContaining("does-not-exist"); + .withMessageContaining("Cannot load template").withMessageContaining("does-not-exist"); } @Test void htmlEscapingIsDisabled() throws IOException { - MustacheTemplateRenderer render = new MustacheTemplateRenderer( - "classpath:/templates/mustache", this.templatesCache); - assertThat(this.templatesCache.get("classpath:/templates/mustache/test")) - .isNull(); - assertThat( - render.render("test", Collections.singletonMap("key", "it's a `
`"))) - .isEqualTo("it's a `
`"); + MustacheTemplateRenderer render = new MustacheTemplateRenderer("classpath:/templates/mustache", + this.templatesCache); + assertThat(this.templatesCache.get("classpath:/templates/mustache/test")).isNull(); + assertThat(render.render("test", Collections.singletonMap("key", "it's a `
`"))) + .isEqualTo("it's a `
`"); } } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/io/text/BulletedSectionTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/io/text/BulletedSectionTests.java index ded831b8..81607708 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/io/text/BulletedSectionTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/io/text/BulletedSectionTests.java @@ -76,8 +76,7 @@ class BulletedSectionTests { @Test void bulletedSectionWithDefaultItemName() throws IOException { given(this.renderer.render(eq("template"), any())).willReturn("output"); - BulletedSection section = new BulletedSection<>(this.renderer, - "template"); + BulletedSection section = new BulletedSection<>(this.renderer, "template"); section.addItem("test"); section.write(new PrintWriter(new StringWriter())); verify(this.renderer).render(eq("template"), this.modelCaptor.capture()); @@ -88,14 +87,12 @@ class BulletedSectionTests { @Test void bulletedSectionWithCustomItemName() throws IOException { given(this.renderer.render(eq("template"), any())).willReturn("output"); - BulletedSection section = new BulletedSection<>(this.renderer, "template", - "elements"); + BulletedSection section = new BulletedSection<>(this.renderer, "template", "elements"); section.addItem("test"); section.write(new PrintWriter(new StringWriter())); verify(this.renderer).render(eq("template"), this.modelCaptor.capture()); Map model = this.modelCaptor.getValue(); - assertThat(model) - .containsOnly(entry("elements", Collections.singletonList("test"))); + assertThat(model).containsOnly(entry("elements", Collections.singletonList("test"))); } } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/io/text/MustacheSectionTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/io/text/MustacheSectionTests.java index 7f1fea6d..962bfcb4 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/io/text/MustacheSectionTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/io/text/MustacheSectionTests.java @@ -36,13 +36,11 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; */ class MustacheSectionTests { - private final MustacheTemplateRenderer renderer = new MustacheTemplateRenderer( - "classpath:/templates/mustache"); + private final MustacheTemplateRenderer renderer = new MustacheTemplateRenderer("classpath:/templates/mustache"); @Test void renderSection() throws IOException { - MustacheSection section = new MustacheSection(this.renderer, "test", - Collections.singletonMap("key", "hello")); + MustacheSection section = new MustacheSection(this.renderer, "test", Collections.singletonMap("key", "hello")); StringWriter writer = new StringWriter(); section.write(new PrintWriter(writer)); assertThat(writer.toString()).isEqualTo(String.format("hello%n")); @@ -58,8 +56,7 @@ class MustacheSectionTests { @Test void renderSectionWithCustomModelResolution() throws IOException { - MustacheSection section = new MustacheSection(this.renderer, "test", - Collections.emptyMap()) { + MustacheSection section = new MustacheSection(this.renderer, "test", Collections.emptyMap()) { @Override protected Map resolveModel(Map model) { return Collections.singletonMap("key", "custom"); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/language/AnnotationTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/language/AnnotationTests.java index f8ee0c75..cb82b811 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/language/AnnotationTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/language/AnnotationTests.java @@ -36,16 +36,14 @@ class AnnotationTests { @Test void annotationWithSingleAttribute() { - Annotation annotation = Annotation.name("com.example.Test", - (builder) -> builder.attribute("test", Enum.class, - "com.example.Unit.CENTURIES, com.example.Unit.NANOS")); + Annotation annotation = Annotation.name("com.example.Test", (builder) -> builder.attribute("test", Enum.class, + "com.example.Unit.CENTURIES, com.example.Unit.NANOS")); assertThat(annotation.getName()).isEqualTo("com.example.Test"); assertThat(annotation.getAttributes()).hasSize(1); Annotation.Attribute attribute = annotation.getAttributes().get(0); assertThat(attribute.getName()).isEqualTo("test"); assertThat(attribute.getType()).isEqualTo(Enum.class); - assertThat(attribute.getValues()) - .containsExactly("com.example.Unit.CENTURIES, com.example.Unit.NANOS"); + assertThat(attribute.getValues()).containsExactly("com.example.Unit.CENTURIES, com.example.Unit.NANOS"); } } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/language/LanguageTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/language/LanguageTests.java index aced0f7a..e0a94199 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/language/LanguageTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/language/LanguageTests.java @@ -60,8 +60,7 @@ class LanguageTests { @Test void unknownLanguage() { - assertThatIllegalStateException() - .isThrownBy(() -> Language.forId("unknown", null)) + assertThatIllegalStateException().isThrownBy(() -> Language.forId("unknown", null)) .withMessageContaining("Unrecognized language id 'unknown'"); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/language/groovy/GroovySourceCodeWriterTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/language/groovy/GroovySourceCodeWriterTests.java index 5f956cc5..7f7f3d83 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/language/groovy/GroovySourceCodeWriterTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/language/groovy/GroovySourceCodeWriterTests.java @@ -56,151 +56,119 @@ class GroovySourceCodeWriterTests { @Test void emptyTypeDeclaration() throws IOException { GroovySourceCode sourceCode = new GroovySourceCode(); - GroovyCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + GroovyCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); compilationUnit.createTypeDeclaration("Test"); List lines = writeSingleType(sourceCode, "com/example/Test.groovy"); - assertThat(lines).containsExactly("package com.example", "", "class Test {", "", - "}"); + assertThat(lines).containsExactly("package com.example", "", "class Test {", "", "}"); } @Test void emptyTypeDeclarationWithModifiers() throws IOException { GroovySourceCode sourceCode = new GroovySourceCode(); - GroovyCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + GroovyCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); GroovyTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); test.modifiers(Modifier.PUBLIC | Modifier.ABSTRACT); List lines = writeSingleType(sourceCode, "com/example/Test.groovy"); - assertThat(lines).containsExactly("package com.example", "", - "abstract class Test {", "", "}"); + assertThat(lines).containsExactly("package com.example", "", "abstract class Test {", "", "}"); } @Test void emptyTypeDeclarationWithSuperClass() throws IOException { GroovySourceCode sourceCode = new GroovySourceCode(); - GroovyCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + GroovyCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); GroovyTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); test.extend("com.example.build.TestParent"); List lines = writeSingleType(sourceCode, "com/example/Test.groovy"); - assertThat(lines).containsExactly("package com.example", "", - "import com.example.build.TestParent", "", + assertThat(lines).containsExactly("package com.example", "", "import com.example.build.TestParent", "", "class Test extends TestParent {", "", "}"); } @Test void method() throws IOException { GroovySourceCode sourceCode = new GroovySourceCode(); - GroovyCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + GroovyCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); GroovyTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); - test.addMethodDeclaration( - GroovyMethodDeclaration.method("trim").returning("java.lang.String") - .parameters(new Parameter("java.lang.String", "value")) - .body(new GroovyReturnStatement( - new GroovyMethodInvocation("value", "trim")))); + test.addMethodDeclaration(GroovyMethodDeclaration.method("trim").returning("java.lang.String") + .parameters(new Parameter("java.lang.String", "value")) + .body(new GroovyReturnStatement(new GroovyMethodInvocation("value", "trim")))); List lines = writeSingleType(sourceCode, "com/example/Test.groovy"); assertThat(lines).containsExactly("package com.example", "", "class Test {", "", - " String trim(String value) {", " value.trim()", " }", "", - "}"); + " String trim(String value) {", " value.trim()", " }", "", "}"); } @Test void springBootApplication() throws IOException { GroovySourceCode sourceCode = new GroovySourceCode(); - GroovyCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + GroovyCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); GroovyTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); - test.annotate(Annotation - .name("org.springframework.boot.autoconfigure.SpringBootApplication")); - test.addMethodDeclaration(GroovyMethodDeclaration.method("main") - .modifiers(Modifier.PUBLIC | Modifier.STATIC).returning("void") - .parameters(new Parameter("java.lang.String[]", "args")) + test.annotate(Annotation.name("org.springframework.boot.autoconfigure.SpringBootApplication")); + test.addMethodDeclaration(GroovyMethodDeclaration.method("main").modifiers(Modifier.PUBLIC | Modifier.STATIC) + .returning("void").parameters(new Parameter("java.lang.String[]", "args")) .body(new GroovyExpressionStatement(new GroovyMethodInvocation( - "org.springframework.boot.SpringApplication", "run", "Test", - "args")))); + "org.springframework.boot.SpringApplication", "run", "Test", "args")))); List lines = writeSingleType(sourceCode, "com/example/Test.groovy"); assertThat(lines).containsExactly("package com.example", "", "import org.springframework.boot.SpringApplication", - "import org.springframework.boot.autoconfigure.SpringBootApplication", "", - "@SpringBootApplication", "class Test {", "", - " static void main(String[] args) {", + "import org.springframework.boot.autoconfigure.SpringBootApplication", "", "@SpringBootApplication", + "class Test {", "", " static void main(String[] args) {", " SpringApplication.run(Test, args)", " }", "", "}"); } @Test void annotationWithSimpleAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("counter", Integer.class, "42"))); - assertThat(lines).containsExactly("package com.example", "", - "import org.springframework.test.TestApplication", "", - "@TestApplication(counter = 42)", "class Test {", "", "}"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("counter", Integer.class, "42"))); + assertThat(lines).containsExactly("package com.example", "", "import org.springframework.test.TestApplication", + "", "@TestApplication(counter = 42)", "class Test {", "", "}"); } @Test void annotationWithSimpleStringAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("name", String.class, "test"))); - assertThat(lines).containsExactly("package com.example", "", - "import org.springframework.test.TestApplication", "", - "@TestApplication(name = \"test\")", "class Test {", "", "}"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("name", String.class, "test"))); + assertThat(lines).containsExactly("package com.example", "", "import org.springframework.test.TestApplication", + "", "@TestApplication(name = \"test\")", "class Test {", "", "}"); } @Test void annotationWithOnlyValueAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("value", String.class, "test"))); - assertThat(lines).containsExactly("package com.example", "", - "import org.springframework.test.TestApplication", "", - "@TestApplication(\"test\")", "class Test {", "", "}"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("value", String.class, "test"))); + assertThat(lines).containsExactly("package com.example", "", "import org.springframework.test.TestApplication", + "", "@TestApplication(\"test\")", "class Test {", "", "}"); } @Test void annotationWithSimpleEnumAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("unit", Enum.class, - "java.time.temporal.ChronoUnit.SECONDS"))); - assertThat(lines).containsExactly("package com.example", "", - "import java.time.temporal.ChronoUnit", - "import org.springframework.test.TestApplication", "", - "@TestApplication(unit = ChronoUnit.SECONDS)", "class Test {", "", "}"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("unit", Enum.class, "java.time.temporal.ChronoUnit.SECONDS"))); + assertThat(lines).containsExactly("package com.example", "", "import java.time.temporal.ChronoUnit", + "import org.springframework.test.TestApplication", "", "@TestApplication(unit = ChronoUnit.SECONDS)", + "class Test {", "", "}"); } @Test void annotationWithClassArrayAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("target", Class.class, - "com.example.One", "com.example.Two"))); - assertThat(lines).containsExactly("package com.example", "", - "import com.example.One", "import com.example.Two", - "import org.springframework.test.TestApplication", "", - "@TestApplication(target = { One, Two })", "class Test {", "", "}"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("target", Class.class, "com.example.One", "com.example.Two"))); + assertThat(lines).containsExactly("package com.example", "", "import com.example.One", "import com.example.Two", + "import org.springframework.test.TestApplication", "", "@TestApplication(target = { One, Two })", + "class Test {", "", "}"); } @Test void annotationWithSeveralAttributes() throws IOException { - List lines = writeClassAnnotation(Annotation.name( - "org.springframework.test.TestApplication", - (builder) -> builder.attribute("target", Class.class, "com.example.One") - .attribute("unit", ChronoUnit.class, - "java.time.temporal.ChronoUnit.NANOS"))); - assertThat(lines).containsExactly("package com.example", "", - "import com.example.One", "import java.time.temporal.ChronoUnit", - "import org.springframework.test.TestApplication", "", - "@TestApplication(target = One, unit = ChronoUnit.NANOS)", "class Test {", - "", "}"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("target", Class.class, "com.example.One").attribute("unit", + ChronoUnit.class, "java.time.temporal.ChronoUnit.NANOS"))); + assertThat(lines).containsExactly("package com.example", "", "import com.example.One", + "import java.time.temporal.ChronoUnit", "import org.springframework.test.TestApplication", "", + "@TestApplication(target = One, unit = ChronoUnit.NANOS)", "class Test {", "", "}"); } private List writeClassAnnotation(Annotation annotation) throws IOException { GroovySourceCode sourceCode = new GroovySourceCode(); - GroovyCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + GroovyCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); GroovyTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); test.annotate(annotation); return writeSingleType(sourceCode, "com/example/Test.groovy"); @@ -209,21 +177,18 @@ class GroovySourceCodeWriterTests { @Test void methodWithSimpleAnnotation() throws IOException { GroovySourceCode sourceCode = new GroovySourceCode(); - GroovyCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + GroovyCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); GroovyTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); - GroovyMethodDeclaration method = GroovyMethodDeclaration.method("something") - .returning("void").parameters().body(); + GroovyMethodDeclaration method = GroovyMethodDeclaration.method("something").returning("void").parameters() + .body(); method.annotate(Annotation.name("com.example.test.TestAnnotation")); test.addMethodDeclaration(method); List lines = writeSingleType(sourceCode, "com/example/Test.groovy"); - assertThat(lines).containsExactly("package com.example", "", - "import com.example.test.TestAnnotation", "", "class Test {", "", - " @TestAnnotation", " void something() {", " }", "", "}"); + assertThat(lines).containsExactly("package com.example", "", "import com.example.test.TestAnnotation", "", + "class Test {", "", " @TestAnnotation", " void something() {", " }", "", "}"); } - private List writeSingleType(GroovySourceCode sourceCode, String location) - throws IOException { + private List writeSingleType(GroovySourceCode sourceCode, String location) throws IOException { Path source = writeSourceCode(sourceCode).resolve(location); return TextTestUtils.readAllLines(source); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/language/java/JavaSourceCodeWriterTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/language/java/JavaSourceCodeWriterTests.java index 3a7e1127..84f2ec6d 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/language/java/JavaSourceCodeWriterTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/language/java/JavaSourceCodeWriterTests.java @@ -42,8 +42,7 @@ class JavaSourceCodeWriterTests { @TempDir Path directory; - private final JavaSourceCodeWriter writer = new JavaSourceCodeWriter( - IndentingWriterFactory.withDefaultSettings()); + private final JavaSourceCodeWriter writer = new JavaSourceCodeWriter(IndentingWriterFactory.withDefaultSettings()); @Test void emptyCompilationUnit() throws IOException { @@ -56,152 +55,122 @@ class JavaSourceCodeWriterTests { @Test void emptyTypeDeclaration() throws IOException { JavaSourceCode sourceCode = new JavaSourceCode(); - JavaCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + JavaCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); compilationUnit.createTypeDeclaration("Test"); List lines = writeSingleType(sourceCode, "com/example/Test.java"); - assertThat(lines).containsExactly("package com.example;", "", "class Test {", "", - "}"); + assertThat(lines).containsExactly("package com.example;", "", "class Test {", "", "}"); } @Test void emptyTypeDeclarationWithModifiers() throws IOException { JavaSourceCode sourceCode = new JavaSourceCode(); - JavaCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + JavaCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); JavaTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); test.modifiers(Modifier.PROTECTED | Modifier.ABSTRACT); List lines = writeSingleType(sourceCode, "com/example/Test.java"); - assertThat(lines).containsExactly("package com.example;", "", - "protected abstract class Test {", "", "}"); + assertThat(lines).containsExactly("package com.example;", "", "protected abstract class Test {", "", "}"); } @Test void emptyTypeDeclarationWithSuperClass() throws IOException { JavaSourceCode sourceCode = new JavaSourceCode(); - JavaCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + JavaCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); JavaTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); test.extend("com.example.build.TestParent"); List lines = writeSingleType(sourceCode, "com/example/Test.java"); - assertThat(lines).containsExactly("package com.example;", "", - "import com.example.build.TestParent;", "", + assertThat(lines).containsExactly("package com.example;", "", "import com.example.build.TestParent;", "", "class Test extends TestParent {", "", "}"); } @Test void method() throws IOException { JavaSourceCode sourceCode = new JavaSourceCode(); - JavaCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + JavaCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); JavaTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); - test.addMethodDeclaration(JavaMethodDeclaration.method("trim") - .returning("java.lang.String").modifiers(Modifier.PUBLIC) - .parameters(new Parameter("java.lang.String", "value")) - .body(new JavaReturnStatement( - new JavaMethodInvocation("value", "trim")))); + test.addMethodDeclaration(JavaMethodDeclaration.method("trim").returning("java.lang.String") + .modifiers(Modifier.PUBLIC).parameters(new Parameter("java.lang.String", "value")) + .body(new JavaReturnStatement(new JavaMethodInvocation("value", "trim")))); List lines = writeSingleType(sourceCode, "com/example/Test.java"); assertThat(lines).containsExactly("package com.example;", "", "class Test {", "", - " public String trim(String value) {", " return value.trim();", - " }", "", "}"); + " public String trim(String value) {", " return value.trim();", " }", "", "}"); } @Test void springBootApplication() throws IOException { JavaSourceCode sourceCode = new JavaSourceCode(); - JavaCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + JavaCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); JavaTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); - test.annotate(Annotation - .name("org.springframework.boot.autoconfigure.SpringBootApplication")); - test.addMethodDeclaration(JavaMethodDeclaration.method("main") - .modifiers(Modifier.PUBLIC | Modifier.STATIC).returning("void") - .parameters(new Parameter("java.lang.String[]", "args")) - .body(new JavaExpressionStatement(new JavaMethodInvocation( - "org.springframework.boot.SpringApplication", "run", "Test.class", - "args")))); + test.annotate(Annotation.name("org.springframework.boot.autoconfigure.SpringBootApplication")); + test.addMethodDeclaration(JavaMethodDeclaration.method("main").modifiers(Modifier.PUBLIC | Modifier.STATIC) + .returning("void").parameters(new Parameter("java.lang.String[]", "args")) + .body(new JavaExpressionStatement(new JavaMethodInvocation("org.springframework.boot.SpringApplication", + "run", "Test.class", "args")))); List lines = writeSingleType(sourceCode, "com/example/Test.java"); assertThat(lines).containsExactly("package com.example;", "", "import org.springframework.boot.SpringApplication;", - "import org.springframework.boot.autoconfigure.SpringBootApplication;", - "", "@SpringBootApplication", "class Test {", "", - " public static void main(String[] args) {", + "import org.springframework.boot.autoconfigure.SpringBootApplication;", "", "@SpringBootApplication", + "class Test {", "", " public static void main(String[] args) {", " SpringApplication.run(Test.class, args);", " }", "", "}"); } @Test void annotationWithSimpleAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("counter", Integer.class, "42"))); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("counter", Integer.class, "42"))); assertThat(lines).containsExactly("package com.example;", "", - "import org.springframework.test.TestApplication;", "", - "@TestApplication(counter = 42)", "class Test {", "", "}"); + "import org.springframework.test.TestApplication;", "", "@TestApplication(counter = 42)", + "class Test {", "", "}"); } @Test void annotationWithSimpleStringAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("name", String.class, "test"))); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("name", String.class, "test"))); assertThat(lines).containsExactly("package com.example;", "", - "import org.springframework.test.TestApplication;", "", - "@TestApplication(name = \"test\")", "class Test {", "", "}"); + "import org.springframework.test.TestApplication;", "", "@TestApplication(name = \"test\")", + "class Test {", "", "}"); } @Test void annotationWithOnlyValueAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("value", String.class, "test"))); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("value", String.class, "test"))); assertThat(lines).containsExactly("package com.example;", "", - "import org.springframework.test.TestApplication;", "", - "@TestApplication(\"test\")", "class Test {", "", "}"); + "import org.springframework.test.TestApplication;", "", "@TestApplication(\"test\")", "class Test {", + "", "}"); } @Test void annotationWithSimpleEnumAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("unit", Enum.class, - "java.time.temporal.ChronoUnit.SECONDS"))); - assertThat(lines).containsExactly("package com.example;", "", - "import java.time.temporal.ChronoUnit;", - "import org.springframework.test.TestApplication;", "", - "@TestApplication(unit = ChronoUnit.SECONDS)", "class Test {", "", "}"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("unit", Enum.class, "java.time.temporal.ChronoUnit.SECONDS"))); + assertThat(lines).containsExactly("package com.example;", "", "import java.time.temporal.ChronoUnit;", + "import org.springframework.test.TestApplication;", "", "@TestApplication(unit = ChronoUnit.SECONDS)", + "class Test {", "", "}"); } @Test void annotationWithClassArrayAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("target", Class.class, - "com.example.One", "com.example.Two"))); - assertThat(lines).containsExactly("package com.example;", "", - "import com.example.One;", "import com.example.Two;", - "import org.springframework.test.TestApplication;", "", - "@TestApplication(target = { One.class, Two.class })", "class Test {", "", - "}"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("target", Class.class, "com.example.One", "com.example.Two"))); + assertThat(lines).containsExactly("package com.example;", "", "import com.example.One;", + "import com.example.Two;", "import org.springframework.test.TestApplication;", "", + "@TestApplication(target = { One.class, Two.class })", "class Test {", "", "}"); } @Test void annotationWithSeveralAttributes() throws IOException { - List lines = writeClassAnnotation(Annotation.name( - "org.springframework.test.TestApplication", - (builder) -> builder.attribute("target", Class.class, "com.example.One") - .attribute("unit", ChronoUnit.class, - "java.time.temporal.ChronoUnit.NANOS"))); - assertThat(lines).containsExactly("package com.example;", "", - "import com.example.One;", "import java.time.temporal.ChronoUnit;", - "import org.springframework.test.TestApplication;", "", - "@TestApplication(target = One.class, unit = ChronoUnit.NANOS)", - "class Test {", "", "}"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("target", Class.class, "com.example.One").attribute("unit", + ChronoUnit.class, "java.time.temporal.ChronoUnit.NANOS"))); + assertThat(lines).containsExactly("package com.example;", "", "import com.example.One;", + "import java.time.temporal.ChronoUnit;", "import org.springframework.test.TestApplication;", "", + "@TestApplication(target = One.class, unit = ChronoUnit.NANOS)", "class Test {", "", "}"); } private List writeClassAnnotation(Annotation annotation) throws IOException { JavaSourceCode sourceCode = new JavaSourceCode(); - JavaCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + JavaCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); JavaTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); test.annotate(annotation); return writeSingleType(sourceCode, "com/example/Test.java"); @@ -210,21 +179,17 @@ class JavaSourceCodeWriterTests { @Test void methodWithSimpleAnnotation() throws IOException { JavaSourceCode sourceCode = new JavaSourceCode(); - JavaCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + JavaCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); JavaTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); - JavaMethodDeclaration method = JavaMethodDeclaration.method("something") - .returning("void").parameters().body(); + JavaMethodDeclaration method = JavaMethodDeclaration.method("something").returning("void").parameters().body(); method.annotate(Annotation.name("com.example.test.TestAnnotation")); test.addMethodDeclaration(method); List lines = writeSingleType(sourceCode, "com/example/Test.java"); - assertThat(lines).containsExactly("package com.example;", "", - "import com.example.test.TestAnnotation;", "", "class Test {", "", - " @TestAnnotation", " void something() {", " }", "", "}"); + assertThat(lines).containsExactly("package com.example;", "", "import com.example.test.TestAnnotation;", "", + "class Test {", "", " @TestAnnotation", " void something() {", " }", "", "}"); } - private List writeSingleType(JavaSourceCode sourceCode, String location) - throws IOException { + private List writeSingleType(JavaSourceCode sourceCode, String location) throws IOException { Path source = writeSourceCode(sourceCode).resolve(location); return TextTestUtils.readAllLines(source); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCodeWriterTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCodeWriterTests.java index b2a99379..b8fb4680 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCodeWriterTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/language/kotlin/KotlinSourceCodeWriterTests.java @@ -55,8 +55,7 @@ class KotlinSourceCodeWriterTests { @Test void emptyTypeDeclaration() throws IOException { KotlinSourceCode sourceCode = new KotlinSourceCode(); - KotlinCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + KotlinCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); compilationUnit.createTypeDeclaration("Test"); List lines = writeSingleType(sourceCode, "com/example/Test.kt"); assertThat(lines).containsExactly("package com.example", "", "class Test"); @@ -65,154 +64,123 @@ class KotlinSourceCodeWriterTests { @Test void emptyTypeDeclarationWithModifiers() throws IOException { KotlinSourceCode sourceCode = new KotlinSourceCode(); - KotlinCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + KotlinCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); KotlinTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); test.modifiers(KotlinModifier.PUBLIC, KotlinModifier.ABSTRACT); List lines = writeSingleType(sourceCode, "com/example/Test.kt"); - assertThat(lines).containsExactly("package com.example", "", - "abstract class Test"); + assertThat(lines).containsExactly("package com.example", "", "abstract class Test"); } @Test void emptyTypeDeclarationWithSuperClass() throws IOException { KotlinSourceCode sourceCode = new KotlinSourceCode(); - KotlinCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + KotlinCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); KotlinTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); test.extend("com.example.build.TestParent"); List lines = writeSingleType(sourceCode, "com/example/Test.kt"); - assertThat(lines).containsExactly("package com.example", "", - "import com.example.build.TestParent", "", "class Test : TestParent()"); + assertThat(lines).containsExactly("package com.example", "", "import com.example.build.TestParent", "", + "class Test : TestParent()"); } @Test void function() throws IOException { KotlinSourceCode sourceCode = new KotlinSourceCode(); - KotlinCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + KotlinCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); KotlinTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); - test.addFunctionDeclaration(KotlinFunctionDeclaration.function("reverse") - .returning("java.lang.String") + test.addFunctionDeclaration(KotlinFunctionDeclaration.function("reverse").returning("java.lang.String") .parameters(new Parameter("java.lang.String", "echo")) - .body(new KotlinReturnStatement( - new KotlinFunctionInvocation("echo", "reversed")))); + .body(new KotlinReturnStatement(new KotlinFunctionInvocation("echo", "reversed")))); List lines = writeSingleType(sourceCode, "com/example/Test.kt"); assertThat(lines).containsExactly("package com.example", "", "class Test {", "", - " fun reverse(echo: String): String {", - " return echo.reversed()", " }", "", "}"); + " fun reverse(echo: String): String {", " return echo.reversed()", " }", "", "}"); } @Test void functionModifiers() throws IOException { KotlinSourceCode sourceCode = new KotlinSourceCode(); - KotlinCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + KotlinCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); KotlinTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); test.addFunctionDeclaration(KotlinFunctionDeclaration.function("toString") - .modifiers(KotlinModifier.OVERRIDE, KotlinModifier.PUBLIC, - KotlinModifier.OPEN) - .returning("java.lang.String").body(new KotlinReturnStatement( - new KotlinFunctionInvocation("super", "toString")))); + .modifiers(KotlinModifier.OVERRIDE, KotlinModifier.PUBLIC, KotlinModifier.OPEN) + .returning("java.lang.String") + .body(new KotlinReturnStatement(new KotlinFunctionInvocation("super", "toString")))); List lines = writeSingleType(sourceCode, "com/example/Test.kt"); assertThat(lines).containsExactly("package com.example", "", "class Test {", "", - " open override fun toString(): String {", - " return super.toString()", " }", "", "}"); + " open override fun toString(): String {", " return super.toString()", " }", "", "}"); } @Test void springBootApplication() throws IOException { KotlinSourceCode sourceCode = new KotlinSourceCode(); - KotlinCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + KotlinCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); KotlinTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); - test.annotate(Annotation - .name("org.springframework.boot.autoconfigure.SpringBootApplication")); - compilationUnit.addTopLevelFunction(KotlinFunctionDeclaration.function("main") - .parameters(new Parameter("Array", "args")) - .body(new KotlinExpressionStatement(new KotlinReifiedFunctionInvocation( - "org.springframework.boot.runApplication", "Test", "*args")))); + test.annotate(Annotation.name("org.springframework.boot.autoconfigure.SpringBootApplication")); + compilationUnit.addTopLevelFunction( + KotlinFunctionDeclaration.function("main").parameters(new Parameter("Array", "args")) + .body(new KotlinExpressionStatement(new KotlinReifiedFunctionInvocation( + "org.springframework.boot.runApplication", "Test", "*args")))); List lines = writeSingleType(sourceCode, "com/example/Test.kt"); assertThat(lines).containsExactly("package com.example", "", "import org.springframework.boot.autoconfigure.SpringBootApplication", - "import org.springframework.boot.runApplication", "", - "@SpringBootApplication", "class Test", "", - "fun main(args: Array) {", " runApplication(*args)", - "}"); + "import org.springframework.boot.runApplication", "", "@SpringBootApplication", "class Test", "", + "fun main(args: Array) {", " runApplication(*args)", "}"); } @Test void annotationWithSimpleAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("counter", Integer.class, "42"))); - assertThat(lines).containsExactly("package com.example", "", - "import org.springframework.test.TestApplication", "", - "@TestApplication(counter = 42)", "class Test"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("counter", Integer.class, "42"))); + assertThat(lines).containsExactly("package com.example", "", "import org.springframework.test.TestApplication", + "", "@TestApplication(counter = 42)", "class Test"); } @Test void annotationWithSimpleStringAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("name", String.class, "test"))); - assertThat(lines).containsExactly("package com.example", "", - "import org.springframework.test.TestApplication", "", - "@TestApplication(name = \"test\")", "class Test"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("name", String.class, "test"))); + assertThat(lines).containsExactly("package com.example", "", "import org.springframework.test.TestApplication", + "", "@TestApplication(name = \"test\")", "class Test"); } @Test void annotationWithOnlyValueAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("value", String.class, "test"))); - assertThat(lines).containsExactly("package com.example", "", - "import org.springframework.test.TestApplication", "", - "@TestApplication(\"test\")", "class Test"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("value", String.class, "test"))); + assertThat(lines).containsExactly("package com.example", "", "import org.springframework.test.TestApplication", + "", "@TestApplication(\"test\")", "class Test"); } @Test void annotationWithSimpleEnumAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("unit", Enum.class, - "java.time.temporal.ChronoUnit.SECONDS"))); - assertThat(lines).containsExactly("package com.example", "", - "import java.time.temporal.ChronoUnit", - "import org.springframework.test.TestApplication", "", - "@TestApplication(unit = ChronoUnit.SECONDS)", "class Test"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("unit", Enum.class, "java.time.temporal.ChronoUnit.SECONDS"))); + assertThat(lines).containsExactly("package com.example", "", "import java.time.temporal.ChronoUnit", + "import org.springframework.test.TestApplication", "", "@TestApplication(unit = ChronoUnit.SECONDS)", + "class Test"); } @Test void annotationWithClassArrayAttribute() throws IOException { - List lines = writeClassAnnotation( - Annotation.name("org.springframework.test.TestApplication", - (builder) -> builder.attribute("target", Class.class, - "com.example.One", "com.example.Two"))); - assertThat(lines).containsExactly("package com.example", "", - "import com.example.One", "import com.example.Two", + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("target", Class.class, "com.example.One", "com.example.Two"))); + assertThat(lines).containsExactly("package com.example", "", "import com.example.One", "import com.example.Two", "import org.springframework.test.TestApplication", "", "@TestApplication(target = [One::class, Two::class])", "class Test"); } @Test void annotationWithSeveralAttributes() throws IOException { - List lines = writeClassAnnotation(Annotation.name( - "org.springframework.test.TestApplication", - (builder) -> builder.attribute("target", Class.class, "com.example.One") - .attribute("unit", ChronoUnit.class, - "java.time.temporal.ChronoUnit.NANOS"))); - assertThat(lines).containsExactly("package com.example", "", - "import com.example.One", "import java.time.temporal.ChronoUnit", - "import org.springframework.test.TestApplication", "", - "@TestApplication(target = One::class, unit = ChronoUnit.NANOS)", - "class Test"); + List lines = writeClassAnnotation(Annotation.name("org.springframework.test.TestApplication", + (builder) -> builder.attribute("target", Class.class, "com.example.One").attribute("unit", + ChronoUnit.class, "java.time.temporal.ChronoUnit.NANOS"))); + assertThat(lines).containsExactly("package com.example", "", "import com.example.One", + "import java.time.temporal.ChronoUnit", "import org.springframework.test.TestApplication", "", + "@TestApplication(target = One::class, unit = ChronoUnit.NANOS)", "class Test"); } private List writeClassAnnotation(Annotation annotation) throws IOException { KotlinSourceCode sourceCode = new KotlinSourceCode(); - KotlinCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + KotlinCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); KotlinTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); test.annotate(annotation); return writeSingleType(sourceCode, "com/example/Test.kt"); @@ -221,21 +189,17 @@ class KotlinSourceCodeWriterTests { @Test void functionWithSimpleAnnotation() throws IOException { KotlinSourceCode sourceCode = new KotlinSourceCode(); - KotlinCompilationUnit compilationUnit = sourceCode - .createCompilationUnit("com.example", "Test"); + KotlinCompilationUnit compilationUnit = sourceCode.createCompilationUnit("com.example", "Test"); KotlinTypeDeclaration test = compilationUnit.createTypeDeclaration("Test"); - KotlinFunctionDeclaration function = KotlinFunctionDeclaration - .function("something").body(); + KotlinFunctionDeclaration function = KotlinFunctionDeclaration.function("something").body(); function.annotate(Annotation.name("com.example.test.TestAnnotation")); test.addFunctionDeclaration(function); List lines = writeSingleType(sourceCode, "com/example/Test.kt"); - assertThat(lines).containsExactly("package com.example", "", - "import com.example.test.TestAnnotation", "", "class Test {", "", - " @TestAnnotation", " fun something() {", " }", "", "}"); + assertThat(lines).containsExactly("package com.example", "", "import com.example.test.TestAnnotation", "", + "class Test {", "", " @TestAnnotation", " fun something() {", " }", "", "}"); } - private List writeSingleType(KotlinSourceCode sourceCode, String location) - throws IOException { + private List writeSingleType(KotlinSourceCode sourceCode, String location) throws IOException { Path source = writeSourceCode(sourceCode).resolve(location); return TextTestUtils.readAllLines(source); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/project/ProjectGeneratorTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/project/ProjectGeneratorTests.java index 472ff5b9..56c593b5 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/project/ProjectGeneratorTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/project/ProjectGeneratorTests.java @@ -50,39 +50,29 @@ class ProjectGeneratorTests { description.setBuildSystem(new MavenBuildSystem()); Version platformVersion = Version.parse("2.1.0.RELEASE"); description.setPackageName("com.example.test"); - ResolvedProjectDescription resolvedProjectDescription = this.projectTester - .generate(description, - (projectGenerationContext) -> projectGenerationContext - .getBean(ResolvedProjectDescription.class)); - assertThat(resolvedProjectDescription.getPlatformVersion()) - .isEqualTo(platformVersion); - assertThat(resolvedProjectDescription.getPackageName()) - .isEqualTo("com.example.test"); + ResolvedProjectDescription resolvedProjectDescription = this.projectTester.generate(description, + (projectGenerationContext) -> projectGenerationContext.getBean(ResolvedProjectDescription.class)); + assertThat(resolvedProjectDescription.getPlatformVersion()).isEqualTo(platformVersion); + assertThat(resolvedProjectDescription.getPackageName()).isEqualTo("com.example.test"); } @Test void generateInvokesCustomizers() { - ProjectGeneratorTester tester = this.projectTester - .withContextInitializer((context) -> { - context.registerBean("customizer1", - TestProjectDescriptionCustomizer.class, - () -> new TestProjectDescriptionCustomizer(5, - (description) -> description.setName("Test"))); - context.registerBean("customizer2", - TestProjectDescriptionCustomizer.class, - () -> new TestProjectDescriptionCustomizer(3, - (description) -> { - description.setName("First"); - description.setGroupId("com.acme"); - })); - }); + ProjectGeneratorTester tester = this.projectTester.withContextInitializer((context) -> { + context.registerBean("customizer1", TestProjectDescriptionCustomizer.class, + () -> new TestProjectDescriptionCustomizer(5, (description) -> description.setName("Test"))); + context.registerBean("customizer2", TestProjectDescriptionCustomizer.class, + () -> new TestProjectDescriptionCustomizer(3, (description) -> { + description.setName("First"); + description.setGroupId("com.acme"); + })); + }); ProjectDescription description = new ProjectDescription(); description.setGroupId("com.example.demo"); description.setName("Original"); - ResolvedProjectDescription resolvedProjectDescription = tester.generate( - description, (projectGenerationContext) -> projectGenerationContext - .getBean(ResolvedProjectDescription.class)); + ResolvedProjectDescription resolvedProjectDescription = tester.generate(description, + (projectGenerationContext) -> projectGenerationContext.getBean(ResolvedProjectDescription.class)); assertThat(resolvedProjectDescription.getGroupId()).isEqualTo("com.acme"); assertThat(resolvedProjectDescription.getName()).isEqualTo("Test"); } @@ -92,29 +82,25 @@ class ProjectGeneratorTests { ProjectGeneratorTester tester = this.projectTester.withDirectory(directory) .withContextInitializer((context) -> { context.registerBean("contributor1", ProjectContributor.class, - () -> (projectDirectory) -> Files - .createFile(projectDirectory.resolve("test.text"))); - context.registerBean("contributor2", ProjectContributor.class, - () -> (projectDirectory) -> { - Path subDir = projectDirectory.resolve("src/main/test"); - Files.createDirectories(subDir); - Files.createFile(subDir.resolve("Test.src")); - }); + () -> (projectDirectory) -> Files.createFile(projectDirectory.resolve("test.text"))); + context.registerBean("contributor2", ProjectContributor.class, () -> (projectDirectory) -> { + Path subDir = projectDirectory.resolve("src/main/test"); + Files.createDirectories(subDir); + Files.createFile(subDir.resolve("Test.src")); + }); }); ProjectStructure projectStructure = tester.generate(new ProjectDescription()); - assertThat(projectStructure.getRelativePathsOfProjectFiles()) - .containsOnly("test.text", "src/main/test/Test.src"); + assertThat(projectStructure.getRelativePathsOfProjectFiles()).containsOnly("test.text", + "src/main/test/Test.src"); } - private static class TestProjectDescriptionCustomizer - implements ProjectDescriptionCustomizer { + private static class TestProjectDescriptionCustomizer implements ProjectDescriptionCustomizer { private final Integer order; private final Consumer projectDescription; - TestProjectDescriptionCustomizer(Integer order, - Consumer projectDescription) { + TestProjectDescriptionCustomizer(Integer order, Consumer projectDescription) { this.order = order; this.projectDescription = projectDescription; } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/test/assertj/NodeAssert.java b/initializr-generator/src/test/java/io/spring/initializr/generator/test/assertj/NodeAssert.java index 49c9d6f1..76b75dad 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/test/assertj/NodeAssert.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/test/assertj/NodeAssert.java @@ -41,11 +41,9 @@ import org.w3c.dom.NodeList; * * @author Andy Wilkinson */ -public class NodeAssert extends AbstractAssert - implements AssertProvider { +public class NodeAssert extends AbstractAssert implements AssertProvider { - private static final DocumentBuilderFactory FACTORY = DocumentBuilderFactory - .newInstance(); + private static final DocumentBuilderFactory FACTORY = DocumentBuilderFactory.newInstance(); private final XPathFactory xpathFactory = XPathFactory.newInstance(); @@ -74,8 +72,8 @@ public class NodeAssert extends AbstractAssert private static Document read(String xmlContent) { try { - return FACTORY.newDocumentBuilder().parse(new ByteArrayInputStream( - xmlContent.getBytes(StandardCharsets.UTF_8))); + return FACTORY.newDocumentBuilder() + .parse(new ByteArrayInputStream(xmlContent.getBytes(StandardCharsets.UTF_8))); } catch (Exception ex) { throw new RuntimeException(ex); @@ -84,8 +82,7 @@ public class NodeAssert extends AbstractAssert public NodeAssert nodeAtPath(String xpath) { try { - return new NodeAssert( - (Node) this.xpath.evaluate(xpath, this.actual, XPathConstants.NODE)); + return new NodeAssert((Node) this.xpath.evaluate(xpath, this.actual, XPathConstants.NODE)); } catch (XPathExpressionException ex) { throw new RuntimeException(ex); @@ -94,8 +91,7 @@ public class NodeAssert extends AbstractAssert public ListAssert nodesAtPath(String xpath) { try { - NodeList nodeList = (NodeList) this.xpath.evaluate(xpath, this.actual, - XPathConstants.NODESET); + NodeList nodeList = (NodeList) this.xpath.evaluate(xpath, this.actual, XPathConstants.NODESET); return new ListAssert<>(toList(nodeList)); } catch (XPathExpressionException ex) { @@ -105,8 +101,8 @@ public class NodeAssert extends AbstractAssert public StringAssert textAtPath(String xpath) { try { - return new StringAssert((String) this.xpath.evaluate(xpath + "/text()", - this.actual, XPathConstants.STRING)); + return new StringAssert( + (String) this.xpath.evaluate(xpath + "/text()", this.actual, XPathConstants.STRING)); } catch (XPathExpressionException ex) { throw new RuntimeException(ex); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/test/io/TextTestUtils.java b/initializr-generator/src/test/java/io/spring/initializr/generator/test/io/TextTestUtils.java index 421316f2..4dfa09c3 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/test/io/TextTestUtils.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/test/io/TextTestUtils.java @@ -65,8 +65,7 @@ public final class TextTestUtils { public static String readContent(Path source) { assertThat(source).isRegularFile(); try { - BufferedReader reader = Files.newBufferedReader(source, - StandardCharsets.UTF_8); + BufferedReader reader = Files.newBufferedReader(source, StandardCharsets.UTF_8); StringWriter writer = new StringWriter(); FileCopyUtils.copy(reader, writer); return writer.toString(); diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/AbstractProjectGenerationTester.java b/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/AbstractProjectGenerationTester.java index 05e536a6..eba1bf82 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/AbstractProjectGenerationTester.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/AbstractProjectGenerationTester.java @@ -45,27 +45,22 @@ public abstract class AbstractProjectGenerationTester descriptionCustomizer; - protected AbstractProjectGenerationTester( - Map, Supplier> beanDefinitions) { - this(beanDefinitions, defaultContextInitializer(), - defaultDescriptionCustomizer()); + protected AbstractProjectGenerationTester(Map, Supplier> beanDefinitions) { + this(beanDefinitions, defaultContextInitializer(), defaultDescriptionCustomizer()); } protected AbstractProjectGenerationTester(Map, Supplier> beanDefinitions, - Consumer contextInitializer, - Consumer descriptionCustomizer) { + Consumer contextInitializer, Consumer descriptionCustomizer) { this.beanDefinitions = new LinkedHashMap<>(beanDefinitions); this.descriptionCustomizer = descriptionCustomizer; this.contextInitializer = contextInitializer; } protected abstract SELF newInstance(Map, Supplier> beanDefinitions, - Consumer contextInitializer, - Consumer descriptionCustomizer); + Consumer contextInitializer, Consumer descriptionCustomizer); public SELF withBean(Class beanType, Supplier beanDefinition) { - LinkedHashMap, Supplier> beans = new LinkedHashMap<>( - this.beanDefinitions); + LinkedHashMap, Supplier> beans = new LinkedHashMap<>(this.beanDefinitions); beans.put(beanType, beanDefinition); return newInstance(beans, this.contextInitializer, this.descriptionCustomizer); } @@ -81,8 +76,7 @@ public abstract class AbstractProjectGenerationTester context) { - return newInstance(this.beanDefinitions, this.contextInitializer.andThen(context), - this.descriptionCustomizer); + return newInstance(this.beanDefinitions, this.contextInitializer.andThen(context), this.descriptionCustomizer); } public SELF withDescriptionCustomizer(Consumer description) { @@ -112,8 +106,7 @@ public abstract class AbstractProjectGenerationTester T invokeProjectGeneration(ProjectDescription description, - ProjectGenerationInvoker invoker) { + protected T invokeProjectGeneration(ProjectDescription description, ProjectGenerationInvoker invoker) { this.descriptionCustomizer.accept(description); try { return invoker.generate(beansConfigurer().andThen(this.contextInitializer)); @@ -129,16 +122,14 @@ public abstract class AbstractProjectGenerationTester void register(ProjectGenerationContext context, Class type, - Object instance) { + private void register(ProjectGenerationContext context, Class type, Object instance) { T bean = type.cast(instance); context.registerBean(type, () -> bean); } protected interface ProjectGenerationInvoker { - T generate(Consumer contextInitializer) - throws IOException; + T generate(Consumer contextInitializer) throws IOException; } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/ProjectAssetTester.java b/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/ProjectAssetTester.java index bff4aa0c..cac63128 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/ProjectAssetTester.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/ProjectAssetTester.java @@ -40,30 +40,25 @@ import io.spring.initializr.generator.project.contributor.ProjectContributor; * * @author Stephane Nicoll */ -public class ProjectAssetTester - extends AbstractProjectGenerationTester { +public class ProjectAssetTester extends AbstractProjectGenerationTester { public ProjectAssetTester() { super(Collections.emptyMap()); } private ProjectAssetTester(Map, Supplier> beanDefinitions, - Consumer contextInitializer, - Consumer descriptionCustomizer) { + Consumer contextInitializer, Consumer descriptionCustomizer) { super(beanDefinitions, contextInitializer, descriptionCustomizer); } @Override protected ProjectAssetTester newInstance(Map, Supplier> beanDefinitions, - Consumer contextInitializer, - Consumer descriptionCustomizer) { - return new ProjectAssetTester(beanDefinitions, contextInitializer, - descriptionCustomizer); + Consumer contextInitializer, Consumer descriptionCustomizer) { + return new ProjectAssetTester(beanDefinitions, contextInitializer, descriptionCustomizer); } public ProjectAssetTester withConfiguration(Class... configurationClasses) { - return withContextInitializer( - (context) -> context.register(configurationClasses)); + return withContextInitializer((context) -> context.register(configurationClasses)); } /** @@ -74,14 +69,11 @@ public class ProjectAssetTester * @return the project asset * @see #withConfiguration(Class[]) */ - public T generate(ProjectDescription description, - ProjectAssetGenerator projectAssetGenerator) { + public T generate(ProjectDescription description, ProjectAssetGenerator projectAssetGenerator) { return invokeProjectGeneration(description, (contextInitializer) -> { try (ProjectGenerationContext context = new ProjectGenerationContext()) { - ResolvedProjectDescription resolvedProjectDescription = new ResolvedProjectDescription( - description); - context.registerBean(ResolvedProjectDescription.class, - () -> resolvedProjectDescription); + ResolvedProjectDescription resolvedProjectDescription = new ResolvedProjectDescription(description); + context.registerBean(ResolvedProjectDescription.class, () -> resolvedProjectDescription); contextInitializer.accept(context); context.refresh(); return projectAssetGenerator.generate(context); @@ -103,11 +95,9 @@ public class ProjectAssetTester private ProjectAssetGenerator runAllAvailableContributors() { return (context) -> { Path projectDirectory = context.getBean(ProjectDirectoryFactory.class) - .createProjectDirectory( - context.getBean(ResolvedProjectDescription.class)); - List projectContributors = context - .getBeanProvider(ProjectContributor.class).orderedStream() - .collect(Collectors.toList()); + .createProjectDirectory(context.getBean(ResolvedProjectDescription.class)); + List projectContributors = context.getBeanProvider(ProjectContributor.class) + .orderedStream().collect(Collectors.toList()); for (ProjectContributor projectContributor : projectContributors) { projectContributor.contribute(projectDirectory); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/ProjectGeneratorTester.java b/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/ProjectGeneratorTester.java index b765c597..f67abcee 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/ProjectGeneratorTester.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/test/project/ProjectGeneratorTester.java @@ -36,12 +36,10 @@ import io.spring.initializr.generator.project.ProjectGenerator; * * @author Stephane Nicoll */ -public class ProjectGeneratorTester - extends AbstractProjectGenerationTester { +public class ProjectGeneratorTester extends AbstractProjectGenerationTester { private ProjectGeneratorTester(Map, Supplier> beanDefinitions, - Consumer contextInitializer, - Consumer descriptionCustomizer) { + Consumer contextInitializer, Consumer descriptionCustomizer) { super(beanDefinitions, contextInitializer, descriptionCustomizer); } @@ -51,35 +49,28 @@ public class ProjectGeneratorTester private static Map, Supplier> defaultBeans() { Map, Supplier> beans = new HashMap<>(); - beans.put(IndentingWriterFactory.class, - () -> IndentingWriterFactory.create(new SimpleIndentStrategy(" "))); - beans.put(MustacheTemplateRenderer.class, - () -> new MustacheTemplateRenderer("classpath:/templates")); + beans.put(IndentingWriterFactory.class, () -> IndentingWriterFactory.create(new SimpleIndentStrategy(" "))); + beans.put(MustacheTemplateRenderer.class, () -> new MustacheTemplateRenderer("classpath:/templates")); return beans; } @Override - protected ProjectGeneratorTester newInstance( - Map, Supplier> beanDefinitions, - Consumer contextInitializer, - Consumer descriptionCustomizer) { - return new ProjectGeneratorTester(beanDefinitions, contextInitializer, - descriptionCustomizer); + protected ProjectGeneratorTester newInstance(Map, Supplier> beanDefinitions, + Consumer contextInitializer, Consumer descriptionCustomizer) { + return new ProjectGeneratorTester(beanDefinitions, contextInitializer, descriptionCustomizer); } public ProjectStructure generate(ProjectDescription description) { return invokeProjectGeneration(description, (contextInitializer) -> { - Path directory = new ProjectGenerator(contextInitializer) - .generate(description, new DefaultProjectAssetGenerator()); + Path directory = new ProjectGenerator(contextInitializer).generate(description, + new DefaultProjectAssetGenerator()); return new ProjectStructure(directory); }); } - public T generate(ProjectDescription description, - ProjectAssetGenerator projectAssetGenerator) { - return invokeProjectGeneration(description, - (contextInitializer) -> new ProjectGenerator(contextInitializer) - .generate(description, projectAssetGenerator)); + public T generate(ProjectDescription description, ProjectAssetGenerator projectAssetGenerator) { + return invokeProjectGeneration(description, (contextInitializer) -> new ProjectGenerator(contextInitializer) + .generate(description, projectAssetGenerator)); } } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionParserTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionParserTests.java index e846d385..ae9344c4 100755 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionParserTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionParserTests.java @@ -54,8 +54,7 @@ class VersionParserTests { @Test void parseInvalidVersion() { - assertThatExceptionOfType(InvalidVersionException.class) - .isThrownBy(() -> this.parser.parse("foo")); + assertThatExceptionOfType(InvalidVersionException.class).isThrownBy(() -> this.parser.parse("foo")); } @Test @@ -65,8 +64,7 @@ class VersionParserTests { @Test void parseVersionWithSpaces() { - assertThat(this.parser.parse(" 1.2.0.RC3 ")) - .isLessThan(this.parser.parse("1.3.0.RELEASE")); + assertThat(this.parser.parse(" 1.2.0.RC3 ")).isLessThan(this.parser.parse("1.3.0.RELEASE")); } @Test @@ -74,8 +72,7 @@ class VersionParserTests { List currentVersions = Arrays.asList(this.parser.parse("1.3.8.RELEASE"), this.parser.parse("1.3.9.BUILD-SNAPSHOT")); this.parser = new VersionParser(currentVersions); - assertThat(this.parser.parse("1.3.x.BUILD-SNAPSHOT").toString()) - .isEqualTo("1.3.9.BUILD-SNAPSHOT"); + assertThat(this.parser.parse("1.3.x.BUILD-SNAPSHOT").toString()).isEqualTo("1.3.9.BUILD-SNAPSHOT"); } @Test @@ -83,8 +80,7 @@ class VersionParserTests { List currentVersions = Arrays.asList(this.parser.parse("1.3.8.RELEASE"), this.parser.parse("1.3.9.BUILD-SNAPSHOT")); this.parser = new VersionParser(currentVersions); - assertThat(this.parser.parse("1.x.x.RELEASE").toString()) - .isEqualTo("1.3.8.RELEASE"); + assertThat(this.parser.parse("1.x.x.RELEASE").toString()).isEqualTo("1.3.8.RELEASE"); } @Test @@ -92,8 +88,7 @@ class VersionParserTests { List currentVersions = Arrays.asList(this.parser.parse("1.3.8.RELEASE"), this.parser.parse("1.4.0.BUILD-SNAPSHOT")); this.parser = new VersionParser(currentVersions); - assertThat(this.parser.parse("1.4.x").toString()) - .isEqualTo("1.4.0.BUILD-SNAPSHOT"); + assertThat(this.parser.parse("1.4.x").toString()).isEqualTo("1.4.0.BUILD-SNAPSHOT"); } @Test @@ -101,8 +96,7 @@ class VersionParserTests { List currentVersions = Arrays.asList(this.parser.parse("1.3.8.RELEASE"), this.parser.parse("1.3.9.BUILD-SNAPSHOT")); this.parser = new VersionParser(currentVersions); - assertThat(this.parser.parse("1.4.x.BUILD-SNAPSHOT").toString()) - .isEqualTo("1.4.999.BUILD-SNAPSHOT"); + assertThat(this.parser.parse("1.4.x.BUILD-SNAPSHOT").toString()).isEqualTo("1.4.999.BUILD-SNAPSHOT"); } @Test @@ -110,8 +104,7 @@ class VersionParserTests { List currentVersions = Arrays.asList(this.parser.parse("1.3.8.RELEASE"), this.parser.parse("1.3.9.BUILD-SNAPSHOT")); this.parser = new VersionParser(currentVersions); - assertThat(this.parser.parse("2.x.x.RELEASE").toString()) - .isEqualTo("2.999.999.RELEASE"); + assertThat(this.parser.parse("2.x.x.RELEASE").toString()).isEqualTo("2.999.999.RELEASE"); } @Test @@ -124,8 +117,7 @@ class VersionParserTests { @Test void invalidRange() { - assertThatExceptionOfType(InvalidVersionException.class) - .isThrownBy(() -> this.parser.parseRange("foo-bar")); + assertThatExceptionOfType(InvalidVersionException.class).isThrownBy(() -> this.parser.parseRange("foo-bar")); } } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionPropertyTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionPropertyTests.java index d00811ee..f6a82fbb 100755 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionPropertyTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionPropertyTests.java @@ -30,38 +30,32 @@ class VersionPropertyTests { @Test void testStandardProperty() { - assertThat(VersionProperty.of("spring-boot.version").toStandardFormat()) - .isEqualTo("spring-boot.version"); + assertThat(VersionProperty.of("spring-boot.version").toStandardFormat()).isEqualTo("spring-boot.version"); } @Test void testCamelCaseProperty() { - assertThat(VersionProperty.of("spring-boot.version").toCamelCaseFormat()) - .isEqualTo("springBootVersion"); + assertThat(VersionProperty.of("spring-boot.version").toCamelCaseFormat()).isEqualTo("springBootVersion"); } @Test void testStandardPropertyWithNoSeparator() { - assertThat(VersionProperty.of("springbootversion").toStandardFormat()) - .isEqualTo("springbootversion"); + assertThat(VersionProperty.of("springbootversion").toStandardFormat()).isEqualTo("springbootversion"); } @Test void testCamelCasePropertyWithNoSeparator() { - assertThat(VersionProperty.of("springbootversion").toCamelCaseFormat()) - .isEqualTo("springbootversion"); + assertThat(VersionProperty.of("springbootversion").toCamelCaseFormat()).isEqualTo("springbootversion"); } @Test void testInvalidPropertyUpperCase() { - assertThatIllegalArgumentException() - .isThrownBy(() -> VersionProperty.of("Spring-boot.version")); + assertThatIllegalArgumentException().isThrownBy(() -> VersionProperty.of("Spring-boot.version")); } @Test void testInvalidPropertyIllegalCharacter() { - assertThatIllegalArgumentException() - .isThrownBy(() -> VersionProperty.of("spring-boot_version")) + assertThatIllegalArgumentException().isThrownBy(() -> VersionProperty.of("spring-boot_version")) .withMessageContaining("Unsupported character"); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionRangeTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionRangeTests.java index e364c4b9..1d68de48 100755 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionRangeTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionRangeTests.java @@ -31,8 +31,7 @@ class VersionRangeTests { @Test void simpleStartingRange() { - assertThat(new VersionRange(Version.parse("1.3.0.RELEASE")).toString()) - .isEqualTo(">=1.3.0.RELEASE"); + assertThat(new VersionRange(Version.parse("1.3.0.RELEASE")).toString()).isEqualTo(">=1.3.0.RELEASE"); } @Test @@ -93,68 +92,59 @@ class VersionRangeTests { @Test void matchLatestVersion() { assertThat("1.2.8.RELEASE").is(match("[1.2.0.RELEASE,1.2.x.BUILD-SNAPSHOT]", - new VersionParser(Collections - .singletonList(Version.parse("1.2.9.BUILD-SNAPSHOT"))))); + new VersionParser(Collections.singletonList(Version.parse("1.2.9.BUILD-SNAPSHOT"))))); } @Test void matchOverLatestVersion() { assertThat("1.2.10.RELEASE").isNot(match("[1.2.0.RELEASE,1.2.x.BUILD-SNAPSHOT]", - new VersionParser(Collections - .singletonList(Version.parse("1.2.9.BUILD-SNAPSHOT"))))); + new VersionParser(Collections.singletonList(Version.parse("1.2.9.BUILD-SNAPSHOT"))))); } @Test void matchAsOfCurrentVersion() { - assertThat("1.3.5.RELEASE").is(match("[1.3.x.RELEASE,1.3.x.BUILD-SNAPSHOT]", - new VersionParser(Arrays.asList(Version.parse("1.3.4.RELEASE"), - Version.parse("1.3.6.BUILD-SNAPSHOT"))))); + assertThat("1.3.5.RELEASE").is(match("[1.3.x.RELEASE,1.3.x.BUILD-SNAPSHOT]", new VersionParser( + Arrays.asList(Version.parse("1.3.4.RELEASE"), Version.parse("1.3.6.BUILD-SNAPSHOT"))))); } @Test void matchOverAsOfCurrentVersion() { - assertThat("1.3.5.RELEASE").isNot(match("[1.3.x.RELEASE,1.3.x.BUILD-SNAPSHOT]", - new VersionParser(Arrays.asList(Version.parse("1.3.7.RELEASE"), - Version.parse("1.3.6.BUILD-SNAPSHOT"))))); + assertThat("1.3.5.RELEASE").isNot(match("[1.3.x.RELEASE,1.3.x.BUILD-SNAPSHOT]", new VersionParser( + Arrays.asList(Version.parse("1.3.7.RELEASE"), Version.parse("1.3.6.BUILD-SNAPSHOT"))))); } @Test void toVersionRangeWithSimpleVersion() { - VersionRange range = new VersionParser( - Collections.singletonList(Version.parse("1.5.6.RELEASE"))) - .parseRange("1.3.5.RELEASE"); + VersionRange range = new VersionParser(Collections.singletonList(Version.parse("1.5.6.RELEASE"))) + .parseRange("1.3.5.RELEASE"); assertThat(range.toRangeString()).isEqualTo("1.3.5.RELEASE"); } @Test void toVersionRangeWithVersionsIncluded() { - VersionRange range = new VersionParser( - Collections.singletonList(Version.parse("1.5.6.RELEASE"))) - .parseRange("[1.3.5.RELEASE,1.5.5.RELEASE]"); + VersionRange range = new VersionParser(Collections.singletonList(Version.parse("1.5.6.RELEASE"))) + .parseRange("[1.3.5.RELEASE,1.5.5.RELEASE]"); assertThat(range.toRangeString()).isEqualTo("[1.3.5.RELEASE,1.5.5.RELEASE]"); } @Test void toVersionRangeWithLowerVersionExcluded() { - VersionRange range = new VersionParser( - Collections.singletonList(Version.parse("1.5.6.RELEASE"))) - .parseRange("(1.3.5.RELEASE,1.5.5.RELEASE]"); + VersionRange range = new VersionParser(Collections.singletonList(Version.parse("1.5.6.RELEASE"))) + .parseRange("(1.3.5.RELEASE,1.5.5.RELEASE]"); assertThat(range.toRangeString()).isEqualTo("(1.3.5.RELEASE,1.5.5.RELEASE]"); } @Test void toVersionRangeWithHigherVersionExcluded() { - VersionRange range = new VersionParser( - Collections.singletonList(Version.parse("1.5.6.RELEASE"))) - .parseRange("[1.3.5.RELEASE,1.5.5.RELEASE)"); + VersionRange range = new VersionParser(Collections.singletonList(Version.parse("1.5.6.RELEASE"))) + .parseRange("[1.3.5.RELEASE,1.5.5.RELEASE)"); assertThat(range.toRangeString()).isEqualTo("[1.3.5.RELEASE,1.5.5.RELEASE)"); } @Test void toVersionRangeWithVersionsExcluded() { - VersionRange range = new VersionParser( - Collections.singletonList(Version.parse("1.5.6.RELEASE"))) - .parseRange("(1.3.5.RELEASE,1.5.5.RELEASE)"); + VersionRange range = new VersionParser(Collections.singletonList(Version.parse("1.5.6.RELEASE"))) + .parseRange("(1.3.5.RELEASE,1.5.5.RELEASE)"); assertThat(range.toRangeString()).isEqualTo("(1.3.5.RELEASE,1.5.5.RELEASE)"); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionReferenceTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionReferenceTests.java index b757851d..8e3c74cb 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionReferenceTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/version/VersionReferenceTests.java @@ -57,20 +57,17 @@ class VersionReferenceTests { @Test void equalsWithSameValue() { - assertThat(VersionReference.ofValue("1")) - .isEqualTo(VersionReference.ofValue("1")); + assertThat(VersionReference.ofValue("1")).isEqualTo(VersionReference.ofValue("1")); } @Test void equalsWithDifferentValue() { - assertThat(VersionReference.ofValue("1")) - .isNotEqualTo(VersionReference.ofValue("2")); + assertThat(VersionReference.ofValue("1")).isNotEqualTo(VersionReference.ofValue("2")); } @Test void equalsWithSameProperty() { - assertThat(VersionReference.ofProperty("test.version")) - .isEqualTo(VersionReference.ofProperty("test.version")); + assertThat(VersionReference.ofProperty("test.version")).isEqualTo(VersionReference.ofProperty("test.version")); } @Test @@ -82,8 +79,7 @@ class VersionReferenceTests { @Test void equalsWithDifferentPropertyScope() { assertThat(VersionReference.ofProperty(VersionProperty.of("test.version", false))) - .isNotEqualTo(VersionReference - .ofProperty(VersionProperty.of("test.version", true))); + .isNotEqualTo(VersionReference.ofProperty(VersionProperty.of("test.version", true))); } } diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/BillOfMaterials.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/BillOfMaterials.java index f4e2f894..b7f71913 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/BillOfMaterials.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/BillOfMaterials.java @@ -158,8 +158,7 @@ public class BillOfMaterials { public void validate() { if (this.version == null && this.mappings.isEmpty()) { - throw new InvalidInitializrMetadataException( - "No version available for " + this); + throw new InvalidInitializrMetadataException("No version available for " + this); } updateVersionRange(VersionParser.DEFAULT); } @@ -192,44 +191,35 @@ public class BillOfMaterials { if (mapping.range.match(bootVersion)) { BillOfMaterials resolvedBom = new BillOfMaterials( (mapping.groupId != null) ? mapping.groupId : this.groupId, - (mapping.artifactId != null) ? mapping.artifactId - : this.artifactId, - mapping.version); + (mapping.artifactId != null) ? mapping.artifactId : this.artifactId, mapping.version); resolvedBom.setVersionProperty(this.versionProperty); resolvedBom.setOrder(this.order); - resolvedBom.repositories.addAll(!mapping.repositories.isEmpty() - ? mapping.repositories : this.repositories); - resolvedBom.additionalBoms.addAll(!mapping.additionalBoms.isEmpty() - ? mapping.additionalBoms : this.additionalBoms); + resolvedBom.repositories + .addAll(!mapping.repositories.isEmpty() ? mapping.repositories : this.repositories); + resolvedBom.additionalBoms + .addAll(!mapping.additionalBoms.isEmpty() ? mapping.additionalBoms : this.additionalBoms); return resolvedBom; } } - throw new IllegalStateException("No suitable mapping was found for " + this - + " and version " + bootVersion); + throw new IllegalStateException("No suitable mapping was found for " + this + " and version " + bootVersion); } @Override public String toString() { - return "BillOfMaterials [" - + ((this.groupId != null) ? "groupId=" + this.groupId + ", " : "") - + ((this.artifactId != null) ? "artifactId=" + this.artifactId + ", " - : "") + return "BillOfMaterials [" + ((this.groupId != null) ? "groupId=" + this.groupId + ", " : "") + + ((this.artifactId != null) ? "artifactId=" + this.artifactId + ", " : "") + ((this.version != null) ? "version=" + this.version + ", " : "") - + ((this.versionProperty != null) - ? "versionProperty=" + this.versionProperty + ", " : "") + + ((this.versionProperty != null) ? "versionProperty=" + this.versionProperty + ", " : "") + ((this.order != null) ? "order=" + this.order + ", " : "") - + ((this.additionalBoms != null) - ? "additionalBoms=" + this.additionalBoms + ", " : "") - + ((this.repositories != null) ? "repositories=" + this.repositories : "") - + "]"; + + ((this.additionalBoms != null) ? "additionalBoms=" + this.additionalBoms + ", " : "") + + ((this.repositories != null) ? "repositories=" + this.repositories : "") + "]"; } public static BillOfMaterials create(String groupId, String artifactId) { return new BillOfMaterials(groupId, artifactId); } - public static BillOfMaterials create(String groupId, String artifactId, - String version) { + public static BillOfMaterials create(String groupId, String artifactId, String version) { return new BillOfMaterials(groupId, artifactId, version); } @@ -277,8 +267,7 @@ public class BillOfMaterials { return new Mapping(range, version); } - public static Mapping create(String range, String version, - String... repositories) { + public static Mapping create(String range, String version, String... repositories) { return new Mapping(range, version, repositories); } @@ -340,17 +329,12 @@ public class BillOfMaterials { @Override public String toString() { - return "Mapping [" - + ((this.versionRange != null) - ? "versionRange=" + this.versionRange + ", " : "") + return "Mapping [" + ((this.versionRange != null) ? "versionRange=" + this.versionRange + ", " : "") + ((this.groupId != null) ? "groupId=" + this.groupId + ", " : "") - + ((this.artifactId != null) ? "artifactId=" + this.artifactId + ", " - : "") + + ((this.artifactId != null) ? "artifactId=" + this.artifactId + ", " : "") + ((this.version != null) ? "version=" + this.version + ", " : "") - + ((this.repositories != null) - ? "repositories=" + this.repositories + ", " : "") - + ((this.additionalBoms != null) - ? "additionalBoms=" + this.additionalBoms + ", " : "") + + ((this.repositories != null) ? "repositories=" + this.repositories + ", " : "") + + ((this.additionalBoms != null) ? "additionalBoms=" + this.additionalBoms + ", " : "") + ((this.range != null) ? "range=" + this.range : "") + "]"; } diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/DefaultMetadataElement.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/DefaultMetadataElement.java index c8a40307..d62b719e 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/DefaultMetadataElement.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/DefaultMetadataElement.java @@ -49,8 +49,7 @@ public class DefaultMetadataElement extends MetadataElement { return new DefaultMetadataElement(id, defaultValue); } - public static DefaultMetadataElement create(String id, String name, - boolean defaultValue) { + public static DefaultMetadataElement create(String id, String name, boolean defaultValue) { return new DefaultMetadataElement(id, name, defaultValue); } diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/DependenciesCapability.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/DependenciesCapability.java index 4d65f9db..b18edf6e 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/DependenciesCapability.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/DependenciesCapability.java @@ -41,8 +41,8 @@ public class DependenciesCapability extends ServiceCapability indexedDependencies = new LinkedHashMap<>(); public DependenciesCapability() { - super("dependencies", ServiceCapabilityType.HIERARCHICAL_MULTI_SELECT, - "Project dependencies", "dependency identifiers (comma-separated)"); + super("dependencies", ServiceCapabilityType.HIERARCHICAL_MULTI_SELECT, "Project dependencies", + "dependency identifiers (comma-separated)"); } @Override @@ -65,8 +65,8 @@ public class DependenciesCapability extends ServiceCapability getAll() { - return Collections.unmodifiableCollection(this.indexedDependencies.values() - .stream().distinct().collect(Collectors.toList())); + return Collections.unmodifiableCollection( + this.indexedDependencies.values().stream().distinct().collect(Collectors.toList())); } public void validate() { @@ -74,15 +74,14 @@ public class DependenciesCapability extends ServiceCapability it.updateVersionRanges(versionParser)); + this.indexedDependencies.values().forEach((it) -> it.updateVersionRanges(versionParser)); } @Override public void merge(List otherContent) { otherContent.forEach((group) -> { - if (this.content.stream().noneMatch((it) -> group.getName() != null - && group.getName().equals(it.getName()))) { + if (this.content.stream() + .noneMatch((it) -> group.getName() != null && group.getName().equals(it.getName()))) { this.content.add(group); } }); @@ -114,9 +113,8 @@ public class DependenciesCapability extends ServiceCapability SCOPE_ALL = Collections.unmodifiableList( - Arrays.asList(SCOPE_COMPILE, SCOPE_RUNTIME, SCOPE_COMPILE_ONLY, - SCOPE_ANNOTATION_PROCESSOR, SCOPE_PROVIDED, SCOPE_TEST)); + public static final List SCOPE_ALL = Collections.unmodifiableList(Arrays.asList(SCOPE_COMPILE, + SCOPE_RUNTIME, SCOPE_COMPILE_ONLY, SCOPE_ANNOTATION_PROCESSOR, SCOPE_PROVIDED, SCOPE_TEST)); private List aliases = new ArrayList<>(); @@ -147,15 +146,13 @@ public class Dependency extends MetadataElement implements Describable { public void setScope(String scope) { if (!SCOPE_ALL.contains(scope)) { - throw new InvalidInitializrMetadataException( - "Invalid scope " + scope + " must be one of " + SCOPE_ALL); + throw new InvalidInitializrMetadataException("Invalid scope " + scope + " must be one of " + SCOPE_ALL); } this.scope = scope; } public void setVersionRange(String versionRange) { - this.versionRange = (StringUtils.hasText(versionRange) ? versionRange.trim() - : null); + this.versionRange = (StringUtils.hasText(versionRange) ? versionRange.trim() : null); } /** @@ -175,8 +172,7 @@ public class Dependency extends MetadataElement implements Describable { */ public Dependency asSpringBootStarter(String name) { this.groupId = "org.springframework.boot"; - this.artifactId = (StringUtils.hasText(name) ? "spring-boot-starter-" + name - : "spring-boot-starter"); + this.artifactId = (StringUtils.hasText(name) ? "spring-boot-starter-" + name : "spring-boot-starter"); if (StringUtils.hasText(name)) { setId(name); } @@ -209,8 +205,7 @@ public class Dependency extends MetadataElement implements Describable { } else { throw new InvalidInitializrMetadataException( - "Invalid dependency, id should have the form groupId:artifactId[:version] but got " - + getId()); + "Invalid dependency, id should have the form groupId:artifactId[:version] but got " + getId()); } } this.links.forEach(Link::resolve); @@ -225,10 +220,8 @@ public class Dependency extends MetadataElement implements Describable { this.versionRequirement = this.range.toString(); } catch (InvalidVersionException ex) { - throw new InvalidInitializrMetadataException( - "Invalid version range '" + this.versionRange + " for " - + "dependency with id '" + getId() + "'", - ex); + throw new InvalidInitializrMetadataException("Invalid version range '" + this.versionRange + " for " + + "dependency with id '" + getId() + "'", ex); } } this.mappings.forEach((it) -> { @@ -253,12 +246,9 @@ public class Dependency extends MetadataElement implements Describable { for (Mapping mapping : this.mappings) { if (mapping.range.match(bootVersion)) { Dependency dependency = new Dependency(this); - dependency.groupId = (mapping.groupId != null) ? mapping.groupId - : this.groupId; - dependency.artifactId = (mapping.artifactId != null) ? mapping.artifactId - : this.artifactId; - dependency.version = (mapping.version != null) ? mapping.version - : this.version; + dependency.groupId = (mapping.groupId != null) ? mapping.groupId : this.groupId; + dependency.artifactId = (mapping.artifactId != null) ? mapping.artifactId : this.artifactId; + dependency.version = (mapping.version != null) ? mapping.version : this.version; dependency.versionRequirement = mapping.range.toString(); dependency.mappings = null; return dependency; @@ -285,8 +275,8 @@ public class Dependency extends MetadataElement implements Describable { */ public String generateId() { if (this.groupId == null || this.artifactId == null) { - throw new IllegalArgumentException("Could not generate id for " + this - + ": at least groupId and artifactId must be set."); + throw new IllegalArgumentException( + "Could not generate id for " + this + ": at least groupId and artifactId must be set."); } setId(this.groupId + ":" + this.artifactId); return getId(); @@ -446,20 +436,17 @@ public class Dependency extends MetadataElement implements Describable { @Override public String toString() { - return "Dependency{" + "id='" + getId() + '\'' + ", groupId='" + this.groupId - + '\'' + ", artifactId='" + this.artifactId + '\'' + ", version='" - + this.version + '\'' + '}'; + return "Dependency{" + "id='" + getId() + '\'' + ", groupId='" + this.groupId + '\'' + ", artifactId='" + + this.artifactId + '\'' + ", version='" + this.version + '\'' + '}'; } - public static Dependency create(String groupId, String artifactId, String version, - String scope) { + public static Dependency create(String groupId, String artifactId, String version, String scope) { Dependency dependency = withId(null, groupId, artifactId, version); dependency.setScope(scope); return dependency; } - public static Dependency withId(String id, String groupId, String artifactId, - String version, String scope) { + public static Dependency withId(String id, String groupId, String artifactId, String version, String scope) { Dependency dependency = new Dependency(); dependency.setId(id); dependency.groupId = groupId; @@ -469,8 +456,7 @@ public class Dependency extends MetadataElement implements Describable { return dependency; } - public static Dependency withId(String id, String groupId, String artifactId, - String version) { + public static Dependency withId(String id, String groupId, String artifactId, String version) { return withId(id, groupId, artifactId, version, null); } @@ -552,8 +538,7 @@ public class Dependency extends MetadataElement implements Describable { this.versionRange = versionRange; } - public static Mapping create(String range, String groupId, String artifactId, - String version) { + public static Mapping create(String range, String groupId, String artifactId, String version) { Mapping mapping = new Mapping(); mapping.versionRange = range; mapping.groupId = groupId; diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrConfiguration.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrConfiguration.java index e40e2c45..a6fea682 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrConfiguration.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrConfiguration.java @@ -82,8 +82,7 @@ public class InitializrConfiguration { result = result + "Application"; } String candidate = StringUtils.capitalize(result); - if (hasInvalidChar(candidate) - || this.env.invalidApplicationNames.contains(candidate)) { + if (hasInvalidChar(candidate) || this.env.invalidApplicationNames.contains(candidate)) { return this.env.fallbackApplicationName; } else { @@ -111,8 +110,7 @@ public class InitializrConfiguration { if (!StringUtils.hasText(candidate)) { return defaultPackageName; } - if (hasInvalidChar(candidate.replace(".", "")) - || this.env.invalidPackageNames.contains(candidate)) { + if (hasInvalidChar(candidate.replace(".", "")) || this.env.invalidPackageNames.contains(candidate)) { return defaultPackageName; } else { @@ -134,15 +132,13 @@ public class InitializrConfiguration { } private static String unsplitWords(String text) { - return String.join("", Arrays.stream(text.split("(_|-| |:)+")) - .map(StringUtils::capitalize).toArray(String[]::new)); + return String.join("", + Arrays.stream(text.split("(_|-| |:)+")).map(StringUtils::capitalize).toArray(String[]::new)); } private static String splitCamelCase(String text) { - return String.join("", - Arrays.stream(text.split("(? StringUtils.capitalize(it.toLowerCase())) - .toArray(String[]::new)); + return String.join("", Arrays.stream(text.split("(? StringUtils.capitalize(it.toLowerCase())).toArray(String[]::new)); } private static boolean hasInvalidChar(String text) { @@ -196,8 +192,7 @@ public class InitializrConfiguration { * The list of invalid package names. If such name is chosen or generated, the the * default package name should be used instead. */ - private List invalidPackageNames = new ArrayList<>( - Collections.singletonList("org.springframework")); + private List invalidPackageNames = new ArrayList<>(Collections.singletonList("org.springframework")); /** * Force SSL support. When enabled, any access using http generate https links and @@ -238,11 +233,9 @@ public class InitializrConfiguration { public Env() { try { this.repositories.put("spring-snapshots", - new Repository("Spring Snapshots", - new URL("https://repo.spring.io/snapshot"), true)); + new Repository("Spring Snapshots", new URL("https://repo.spring.io/snapshot"), true)); this.repositories.put("spring-milestones", - new Repository("Spring Milestones", - new URL("https://repo.spring.io/milestone"), false)); + new Repository("Spring Milestones", new URL("https://repo.spring.io/milestone"), false)); } catch (MalformedURLException ex) { throw new IllegalStateException("Cannot parse URL", ex); @@ -366,8 +359,7 @@ public class InitializrConfiguration { return this.dependencyManagementPluginVersion; } - public void setDependencyManagementPluginVersion( - String dependencyManagementPluginVersion) { + public void setDependencyManagementPluginVersion(String dependencyManagementPluginVersion) { this.dependencyManagementPluginVersion = dependencyManagementPluginVersion; } @@ -423,14 +415,12 @@ public class InitializrConfiguration { this.mappings.forEach((m) -> { if (m.versionRange == null) { throw new InvalidInitializrMetadataException( - "VersionRange is mandatory, invalid version mapping for " - + this); + "VersionRange is mandatory, invalid version mapping for " + this); } m.range = simpleParser.parseRange(m.versionRange); if (m.version == null) { throw new InvalidInitializrMetadataException( - "Version is mandatory, invalid version mapping for " - + this); + "Version is mandatory, invalid version mapping for " + this); } }); } @@ -442,9 +432,7 @@ public class InitializrConfiguration { } catch (InvalidVersionException ex) { throw new InvalidInitializrMetadataException( - "Invalid version range " + it.versionRange + " for " - + this, - ex); + "Invalid version range " + it.versionRange + " for " + this, ex); } }); } @@ -526,8 +514,7 @@ public class InitializrConfiguration { */ public ParentPom resolveParentPom(String bootVersion) { return (StringUtils.hasText(this.parent.groupId) ? this.parent - : new ParentPom(DEFAULT_PARENT_GROUP_ID, - DEFAULT_PARENT_ARTIFACT_ID, bootVersion)); + : new ParentPom(DEFAULT_PARENT_GROUP_ID, DEFAULT_PARENT_ARTIFACT_ID, bootVersion)); } /** @@ -609,14 +596,12 @@ public class InitializrConfiguration { } public void validate() { - if (!((!StringUtils.hasText(this.groupId) - && !StringUtils.hasText(this.artifactId) + if (!((!StringUtils.hasText(this.groupId) && !StringUtils.hasText(this.artifactId) && !StringUtils.hasText(this.version)) - || (StringUtils.hasText(this.groupId) - && StringUtils.hasText(this.artifactId) + || (StringUtils.hasText(this.groupId) && StringUtils.hasText(this.artifactId) && StringUtils.hasText(this.version)))) { - throw new InvalidInitializrMetadataException("Custom maven pom " - + "requires groupId, artifactId and version"); + throw new InvalidInitializrMetadataException( + "Custom maven pom " + "requires groupId, artifactId and version"); } } diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrMetadata.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrMetadata.java index 5d0422f0..345370ee 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrMetadata.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrMetadata.java @@ -39,34 +39,29 @@ public class InitializrMetadata { private final TypeCapability types = new TypeCapability(); - private final SingleSelectCapability bootVersions = new SingleSelectCapability( - "bootVersion", "Spring Boot Version", "spring boot version"); + private final SingleSelectCapability bootVersions = new SingleSelectCapability("bootVersion", "Spring Boot Version", + "spring boot version"); - private final SingleSelectCapability packagings = new SingleSelectCapability( - "packaging", "Packaging", "project packaging"); + private final SingleSelectCapability packagings = new SingleSelectCapability("packaging", "Packaging", + "project packaging"); - private final SingleSelectCapability javaVersions = new SingleSelectCapability( - "javaVersion", "Java Version", "language level"); + private final SingleSelectCapability javaVersions = new SingleSelectCapability("javaVersion", "Java Version", + "language level"); - private final SingleSelectCapability languages = new SingleSelectCapability( - "language", "Language", "programming language"); + private final SingleSelectCapability languages = new SingleSelectCapability("language", "Language", + "programming language"); - private final TextCapability name = new TextCapability("name", "Name", - "project name (infer application name)"); + private final TextCapability name = new TextCapability("name", "Name", "project name (infer application name)"); - private final TextCapability description = new TextCapability("description", - "Description", "project description"); + private final TextCapability description = new TextCapability("description", "Description", "project description"); - private final TextCapability groupId = new TextCapability("groupId", "Group", - "project coordinates"); + private final TextCapability groupId = new TextCapability("groupId", "Group", "project coordinates"); private final TextCapability artifactId = new ArtifactIdCapability(this.name); - private final TextCapability version = new TextCapability("version", "Version", - "project version"); + private final TextCapability version = new TextCapability("version", "Version", "project version"); - private final TextCapability packageName = new PackageCapability(this.groupId, - this.artifactId); + private final TextCapability packageName = new PackageCapability(this.groupId, this.artifactId); public InitializrMetadata() { this(new InitializrConfiguration()); @@ -155,52 +150,45 @@ public class InitializrMetadata { this.configuration.validate(); this.dependencies.validate(); - Map repositories = this.configuration.getEnv() - .getRepositories(); + Map repositories = this.configuration.getEnv().getRepositories(); Map boms = this.configuration.getEnv().getBoms(); for (Dependency dependency : this.dependencies.getAll()) { if (dependency.getBom() != null && !boms.containsKey(dependency.getBom())) { - throw new InvalidInitializrMetadataException( - "Dependency " + dependency + "defines an invalid BOM id " - + dependency.getBom() + ", available boms " + boms); + throw new InvalidInitializrMetadataException("Dependency " + dependency + "defines an invalid BOM id " + + dependency.getBom() + ", available boms " + boms); } - if (dependency.getRepository() != null - && !repositories.containsKey(dependency.getRepository())) { - throw new InvalidInitializrMetadataException("Dependency " + dependency - + "defines an invalid repository id " + dependency.getRepository() - + ", available repositories " + repositories); + if (dependency.getRepository() != null && !repositories.containsKey(dependency.getRepository())) { + throw new InvalidInitializrMetadataException( + "Dependency " + dependency + "defines an invalid repository id " + dependency.getRepository() + + ", available repositories " + repositories); } } for (BillOfMaterials bom : boms.values()) { for (String r : bom.getRepositories()) { if (!repositories.containsKey(r)) { throw new InvalidInitializrMetadataException( - bom + "defines an invalid repository id " + r - + ", available repositories " + repositories); + bom + "defines an invalid repository id " + r + ", available repositories " + repositories); } } for (String b : bom.getAdditionalBoms()) { if (!boms.containsKey(b)) { throw new InvalidInitializrMetadataException( - bom + " defines an invalid " + "additional bom id " + b - + ", available boms " + boms); + bom + " defines an invalid " + "additional bom id " + b + ", available boms " + boms); } } for (BillOfMaterials.Mapping m : bom.getMappings()) { for (String r : m.getRepositories()) { if (!repositories.containsKey(r)) { - throw new InvalidInitializrMetadataException( - m + " of " + bom + "defines an invalid repository id " + r - + ", available repositories " + repositories); + throw new InvalidInitializrMetadataException(m + " of " + bom + + "defines an invalid repository id " + r + ", available repositories " + repositories); } } for (String b : m.getAdditionalBoms()) { if (!boms.containsKey(b)) { - throw new InvalidInitializrMetadataException(m + " of " + bom - + " defines " + "an invalid additional bom id " + b - + ", available boms " + boms); + throw new InvalidInitializrMetadataException(m + " of " + bom + " defines " + + "an invalid additional bom id " + b + ", available boms " + boms); } } } @@ -214,12 +202,11 @@ public class InitializrMetadata { public void updateSpringBootVersions(List versionsMetadata) { this.bootVersions.getContent().clear(); this.bootVersions.getContent().addAll(versionsMetadata); - List bootVersions = this.bootVersions.getContent().stream() - .map((it) -> Version.parse(it.getId())).collect(Collectors.toList()); + List bootVersions = this.bootVersions.getContent().stream().map((it) -> Version.parse(it.getId())) + .collect(Collectors.toList()); VersionParser parser = new VersionParser(bootVersions); this.dependencies.updateVersionRange(parser); - this.configuration.getEnv().getBoms().values() - .forEach((it) -> it.updateVersionRange(parser)); + this.configuration.getEnv().getBoms().values().forEach((it) -> it.updateVersionRange(parser)); this.configuration.getEnv().getKotlin().updateVersionRange(parser); } @@ -231,9 +218,8 @@ public class InitializrMetadata { */ public String createCliDistributionURl(String extension) { String bootVersion = defaultId(this.bootVersions); - return this.configuration.getEnv().getArtifactRepository() - + "org/springframework/boot/spring-boot-cli/" + bootVersion - + "/spring-boot-cli-" + bootVersion + "-bin." + extension; + return this.configuration.getEnv().getArtifactRepository() + "org/springframework/boot/spring-boot-cli/" + + bootVersion + "/spring-boot-cli-" + bootVersion + "-bin." + extension; } /** @@ -242,10 +228,9 @@ public class InitializrMetadata { * @param versionProperty the property that contains the version * @return a new {@link BillOfMaterials} instance */ - public BillOfMaterials createSpringBootBom(String bootVersion, - String versionProperty) { - BillOfMaterials bom = BillOfMaterials.create("org.springframework.boot", - "spring-boot-dependencies", bootVersion); + public BillOfMaterials createSpringBootBom(String bootVersion, String versionProperty) { + BillOfMaterials bom = BillOfMaterials.create("org.springframework.boot", "spring-boot-dependencies", + bootVersion); bom.setVersionProperty(VersionProperty.of(versionProperty)); bom.setOrder(100); return bom; @@ -271,8 +256,7 @@ public class InitializrMetadata { return defaults; } - private static String defaultId( - Defaultable element) { + private static String defaultId(Defaultable element) { DefaultMetadataElement defaultValue = element.getDefault(); return (defaultValue != null) ? defaultValue.getId() : null; } @@ -312,10 +296,9 @@ public class InitializrMetadata { if (value != null) { return value; } - else if (this.groupId.getContent() != null - && this.artifactId.getContent() != null) { - return InitializrConfiguration.cleanPackageName( - this.groupId.getContent() + "." + this.artifactId.getContent()); + else if (this.groupId.getContent() != null && this.artifactId.getContent() != null) { + return InitializrConfiguration + .cleanPackageName(this.groupId.getContent() + "." + this.artifactId.getContent()); } return null; } diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrMetadataBuilder.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrMetadataBuilder.java index 000839a7..fbd4ac35 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrMetadataBuilder.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrMetadataBuilder.java @@ -53,8 +53,7 @@ public final class InitializrMetadataBuilder { * @return this instance * @see #withInitializrProperties(InitializrProperties, boolean) */ - public InitializrMetadataBuilder withInitializrProperties( - InitializrProperties properties) { + public InitializrMetadataBuilder withInitializrProperties(InitializrProperties properties) { return withInitializrProperties(properties, false); } @@ -64,8 +63,8 @@ public final class InitializrMetadataBuilder { * @param mergeConfiguration specify if service configuration should be merged as well * @return this instance */ - public InitializrMetadataBuilder withInitializrProperties( - InitializrProperties properties, boolean mergeConfiguration) { + public InitializrMetadataBuilder withInitializrProperties(InitializrProperties properties, + boolean mergeConfiguration) { if (mergeConfiguration) { this.configuration.merge(properties); } @@ -88,8 +87,7 @@ public final class InitializrMetadataBuilder { * @return this instance * @see InitializrMetadataCustomizer */ - public InitializrMetadataBuilder withCustomizer( - InitializrMetadataCustomizer customizer) { + public InitializrMetadataBuilder withCustomizer(InitializrMetadataCustomizer customizer) { this.customizers.add(customizer); return this; } @@ -145,10 +143,8 @@ public final class InitializrMetadataBuilder { * @return a new {@link InitializrMetadataBuilder} instance * @see #withInitializrProperties(InitializrProperties) */ - public static InitializrMetadataBuilder fromInitializrProperties( - InitializrProperties configuration) { - return new InitializrMetadataBuilder(configuration) - .withInitializrProperties(configuration); + public static InitializrMetadataBuilder fromInitializrProperties(InitializrProperties configuration) { + return new InitializrMetadataBuilder(configuration).withInitializrProperties(configuration); } /** @@ -159,8 +155,7 @@ public final class InitializrMetadataBuilder { return new InitializrMetadataBuilder(new InitializrConfiguration()); } - private static class InitializerPropertiesCustomizer - implements InitializrMetadataCustomizer { + private static class InitializerPropertiesCustomizer implements InitializrMetadataCustomizer { private final InitializrProperties properties; @@ -186,11 +181,9 @@ public final class InitializrMetadataBuilder { } - private static class ResourceInitializrMetadataCustomizer - implements InitializrMetadataCustomizer { + private static class ResourceInitializrMetadataCustomizer implements InitializrMetadataCustomizer { - private static final Log logger = LogFactory - .getLog(ResourceInitializrMetadataCustomizer.class); + private static final Log logger = LogFactory.getLog(ResourceInitializrMetadataCustomizer.class); private static final Charset UTF_8 = Charset.forName("UTF-8"); @@ -206,8 +199,7 @@ public final class InitializrMetadataBuilder { try (InputStream in = this.resource.getInputStream()) { String content = StreamUtils.copyToString(in, UTF_8); ObjectMapper objectMapper = new ObjectMapper(); - InitializrMetadata anotherMetadata = objectMapper.readValue(content, - InitializrMetadata.class); + InitializrMetadata anotherMetadata = objectMapper.readValue(content, InitializrMetadata.class); metadata.merge(anotherMetadata); } catch (Exception ex) { diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrProperties.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrProperties.java index da7e7e10..9eec7751 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrProperties.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/InitializrProperties.java @@ -96,8 +96,7 @@ public class InitializrProperties extends InitializrConfiguration { * Description metadata. */ @JsonIgnore - private final SimpleElement description = new SimpleElement( - "Demo project for Spring Boot"); + private final SimpleElement description = new SimpleElement("Demo project for Spring Boot"); /** * Package name metadata. diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/Link.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/Link.java index 33468ae7..e1cf7c9a 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/Link.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/Link.java @@ -125,12 +125,10 @@ public class Link { public void resolve() { if (this.rel == null) { - throw new InvalidInitializrMetadataException( - "Invalid link " + this + ": rel attribute is mandatory"); + throw new InvalidInitializrMetadataException("Invalid link " + this + ": rel attribute is mandatory"); } if (this.href == null) { - throw new InvalidInitializrMetadataException( - "Invalid link " + this + ": href attribute is mandatory"); + throw new InvalidInitializrMetadataException("Invalid link " + this + ": href attribute is mandatory"); } Matcher matcher = VARIABLE_REGEX.matcher(this.href); while (matcher.find()) { @@ -150,8 +148,8 @@ public class Link { this.templateVariables.forEach((var) -> { Object value = parameters.get(var); if (value == null) { - throw new IllegalArgumentException("Could not expand " + this.href - + ", missing value for '" + var + "'"); + throw new IllegalArgumentException( + "Could not expand " + this.href + ", missing value for '" + var + "'"); } result.set(result.get().replace("{" + var + "}", value.toString())); }); diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/Repository.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/Repository.java index 5bd097df..1f491764 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/Repository.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/Repository.java @@ -112,8 +112,8 @@ public class Repository { @Override public String toString() { return "Repository [" + ((this.name != null) ? "name=" + this.name + ", " : "") - + ((this.url != null) ? "url=" + this.url + ", " : "") - + "snapshotsEnabled=" + this.snapshotsEnabled + "]"; + + ((this.url != null) ? "url=" + this.url + ", " : "") + "snapshotsEnabled=" + this.snapshotsEnabled + + "]"; } } diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/ServiceCapability.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/ServiceCapability.java index 72c16fc0..2773aef1 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/ServiceCapability.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/ServiceCapability.java @@ -47,8 +47,7 @@ public abstract class ServiceCapability implements Cloneable { */ private String description; - protected ServiceCapability(String id, ServiceCapabilityType type, String title, - String description) { + protected ServiceCapability(String id, ServiceCapabilityType type, String title, String description) { this.id = id; this.type = type; this.title = title; diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/SingleSelectCapability.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/SingleSelectCapability.java index a7169840..76c6d6d0 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/SingleSelectCapability.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/SingleSelectCapability.java @@ -27,8 +27,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; * * @author Stephane Nicoll */ -public class SingleSelectCapability - extends ServiceCapability> +public class SingleSelectCapability extends ServiceCapability> implements Defaultable { private final List content = new CopyOnWriteArrayList<>(); @@ -52,8 +51,7 @@ public class SingleSelectCapability */ @Override public DefaultMetadataElement getDefault() { - return this.content.stream().filter(DefaultMetadataElement::isDefault).findFirst() - .orElse(null); + return this.content.stream().filter(DefaultMetadataElement::isDefault).findFirst().orElse(null); } /** @@ -62,8 +60,7 @@ public class SingleSelectCapability * @return the element or {@code null} */ public DefaultMetadataElement get(String id) { - return this.content.stream().filter((it) -> id.equals(it.getId())).findFirst() - .orElse(null); + return this.content.stream().filter((it) -> id.equals(it.getId())).findFirst().orElse(null); } @Override diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/TypeCapability.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/TypeCapability.java index a2446e14..cfea12aa 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/TypeCapability.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/TypeCapability.java @@ -24,8 +24,7 @@ import java.util.List; * * @author Stephane Nicoll */ -public class TypeCapability extends ServiceCapability> - implements Defaultable { +public class TypeCapability extends ServiceCapability> implements Defaultable { private final List content = new ArrayList<>(); @@ -45,8 +44,7 @@ public class TypeCapability extends ServiceCapability> * @return the Type or {@code null} */ public Type get(String id) { - return this.content.stream().filter((it) -> id.equals(it.getId())).findFirst() - .orElse(null); + return this.content.stream().filter((it) -> id.equals(it.getId())).findFirst().orElse(null); } /** @@ -54,8 +52,7 @@ public class TypeCapability extends ServiceCapability> */ @Override public Type getDefault() { - return this.content.stream().filter(DefaultMetadataElement::isDefault).findFirst() - .orElse(null); + return this.content.stream().filter(DefaultMetadataElement::isDefault).findFirst().orElse(null); } @Override diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/support/MetadataBuildItemMapper.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/support/MetadataBuildItemMapper.java index 760f58ff..0316dedd 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/support/MetadataBuildItemMapper.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/support/MetadataBuildItemMapper.java @@ -38,17 +38,15 @@ public final class MetadataBuildItemMapper { * @param dependency a dependency metadata * @return an equivalent build dependency */ - public static io.spring.initializr.generator.buildsystem.Dependency toDependency( - Dependency dependency) { + public static io.spring.initializr.generator.buildsystem.Dependency toDependency(Dependency dependency) { if (dependency == null) { return null; } VersionReference versionReference = (dependency.getVersion() != null) ? VersionReference.ofValue(dependency.getVersion()) : null; return io.spring.initializr.generator.buildsystem.Dependency - .withCoordinates(dependency.getGroupId(), dependency.getArtifactId()) - .version(versionReference).scope(toDependencyScope(dependency.getScope())) - .type(dependency.getType()).build(); + .withCoordinates(dependency.getGroupId(), dependency.getArtifactId()).version(versionReference) + .scope(toDependencyScope(dependency.getScope())).type(dependency.getType()).build(); } private static DependencyScope toDependencyScope(String scope) { @@ -74,16 +72,14 @@ public final class MetadataBuildItemMapper { * @param bom a metadata bom * @return an equivalent build bom */ - public static io.spring.initializr.generator.buildsystem.BillOfMaterials toBom( - BillOfMaterials bom) { + public static io.spring.initializr.generator.buildsystem.BillOfMaterials toBom(BillOfMaterials bom) { if (bom == null) { return null; } VersionReference version = (bom.getVersionProperty() != null) - ? VersionReference.ofProperty(bom.getVersionProperty()) - : VersionReference.ofValue(bom.getVersion()); - return new io.spring.initializr.generator.buildsystem.BillOfMaterials( - bom.getGroupId(), bom.getArtifactId(), version, bom.getOrder()); + ? VersionReference.ofProperty(bom.getVersionProperty()) : VersionReference.ofValue(bom.getVersion()); + return new io.spring.initializr.generator.buildsystem.BillOfMaterials(bom.getGroupId(), bom.getArtifactId(), + version, bom.getOrder()); } /** @@ -92,14 +88,13 @@ public final class MetadataBuildItemMapper { * @param repository a repository metadata * @return an equivalent build repository */ - public static io.spring.initializr.generator.buildsystem.MavenRepository toRepository( - String id, Repository repository) { + public static io.spring.initializr.generator.buildsystem.MavenRepository toRepository(String id, + Repository repository) { if (repository == null) { return null; } - return new io.spring.initializr.generator.buildsystem.MavenRepository(id, - repository.getName(), repository.getUrl().toExternalForm(), - repository.isSnapshotsEnabled()); + return new io.spring.initializr.generator.buildsystem.MavenRepository(id, repository.getName(), + repository.getUrl().toExternalForm(), repository.isSnapshotsEnabled()); } } diff --git a/initializr-metadata/src/main/java/io/spring/initializr/metadata/support/MetadataBuildItemResolver.java b/initializr-metadata/src/main/java/io/spring/initializr/metadata/support/MetadataBuildItemResolver.java index 28988063..cd132799 100644 --- a/initializr-metadata/src/main/java/io/spring/initializr/metadata/support/MetadataBuildItemResolver.java +++ b/initializr-metadata/src/main/java/io/spring/initializr/metadata/support/MetadataBuildItemResolver.java @@ -41,27 +41,23 @@ public final class MetadataBuildItemResolver implements BuildItemResolver { * @param metadata the metadata to use * @param platformVersion the platform version to consider */ - public MetadataBuildItemResolver(InitializrMetadata metadata, - Version platformVersion) { + public MetadataBuildItemResolver(InitializrMetadata metadata, Version platformVersion) { this.metadata = metadata; this.platformVersion = platformVersion; } @Override public Dependency resolveDependency(String id) { - io.spring.initializr.metadata.Dependency dependency = this.metadata - .getDependencies().get(id); + io.spring.initializr.metadata.Dependency dependency = this.metadata.getDependencies().get(id); if (dependency != null) { - return MetadataBuildItemMapper - .toDependency(dependency.resolve(this.platformVersion)); + return MetadataBuildItemMapper.toDependency(dependency.resolve(this.platformVersion)); } return null; } @Override public BillOfMaterials resolveBom(String id) { - io.spring.initializr.metadata.BillOfMaterials bom = this.metadata - .getConfiguration().getEnv().getBoms().get(id); + io.spring.initializr.metadata.BillOfMaterials bom = this.metadata.getConfiguration().getEnv().getBoms().get(id); if (bom != null) { return MetadataBuildItemMapper.toBom(bom.resolve(this.platformVersion)); } diff --git a/initializr-metadata/src/test/java/io/spring/initializr/metadata/BillOfMaterialsTests.java b/initializr-metadata/src/test/java/io/spring/initializr/metadata/BillOfMaterialsTests.java index 40a0b8d7..73034460 100755 --- a/initializr-metadata/src/test/java/io/spring/initializr/metadata/BillOfMaterialsTests.java +++ b/initializr-metadata/src/test/java/io/spring/initializr/metadata/BillOfMaterialsTests.java @@ -51,8 +51,7 @@ class BillOfMaterialsTests { assertThat(resolved.getGroupId()).isEqualTo("com.example"); assertThat(resolved.getArtifactId()).isEqualTo("bom"); assertThat(resolved.getVersion()).isEqualTo("1.1.0"); - assertThat(resolved.getVersionProperty().toStandardFormat()) - .isEqualTo("bom.version"); + assertThat(resolved.getVersionProperty().toStandardFormat()).isEqualTo("bom.version"); assertThat(resolved.getRepositories()).hasSize(1); assertThat(resolved.getRepositories().get(0)).isEqualTo("repo-main"); assertThat(resolved.getAdditionalBoms()).hasSize(1); @@ -74,8 +73,7 @@ class BillOfMaterialsTests { assertThat(resolved.getGroupId()).isEqualTo("com.example.override"); assertThat(resolved.getArtifactId()).isEqualTo("bom-override"); assertThat(resolved.getVersion()).isEqualTo("1.1.0"); - assertThat(resolved.getVersionProperty().toStandardFormat()) - .isEqualTo("bom.version"); + assertThat(resolved.getVersionProperty().toStandardFormat()).isEqualTo("bom.version"); assertThat(resolved.getRepositories()).hasSize(1); assertThat(resolved.getRepositories().get(0)).isEqualTo("repo-main"); assertThat(resolved.getAdditionalBoms()).hasSize(1); @@ -112,8 +110,7 @@ class BillOfMaterialsTests { assertThat(resolved.getGroupId()).isEqualTo("com.example"); assertThat(resolved.getArtifactId()).isEqualTo("bom"); assertThat(resolved.getVersion()).isEqualTo("1.1.0"); - assertThat(resolved.getVersionProperty().toStandardFormat()) - .isEqualTo("example.version"); + assertThat(resolved.getVersionProperty().toStandardFormat()).isEqualTo("example.version"); } @Test @@ -122,8 +119,7 @@ class BillOfMaterialsTests { bom.getMappings().add(Mapping.create("[1.2.0.RELEASE,1.3.0.M1)", "1.1.0")); bom.getMappings().add(Mapping.create("[1.3.0.M1, 1.4.0.M1)", "1.2.0")); bom.validate(); - assertThatIllegalStateException() - .isThrownBy(() -> bom.resolve(Version.parse("1.4.1.RELEASE"))) + assertThatIllegalStateException().isThrownBy(() -> bom.resolve(Version.parse("1.4.1.RELEASE"))) .withMessageContaining("1.4.1.RELEASE"); } @@ -131,23 +127,18 @@ class BillOfMaterialsTests { void resolveRangeWithVariablePatch() { BillOfMaterials bom = BillOfMaterials.create("com.example", "bom", "1.0.0"); bom.getMappings().add(Mapping.create("[1.3.0.RELEASE,1.3.x.RELEASE]", "1.1.0")); - bom.getMappings().add(BillOfMaterials.Mapping - .create("[1.3.x.BUILD-SNAPSHOT,1.4.0.RELEASE)", "1.1.1-SNAPSHOT")); + bom.getMappings().add(BillOfMaterials.Mapping.create("[1.3.x.BUILD-SNAPSHOT,1.4.0.RELEASE)", "1.1.1-SNAPSHOT")); bom.validate(); - bom.updateVersionRange(new VersionParser(Arrays.asList( - Version.parse("1.3.8.RELEASE"), Version.parse("1.3.9.BUILD-SNAPSHOT")))); - assertThat(bom.resolve(Version.parse("1.3.8.RELEASE")).getVersion()) - .isEqualTo("1.1.0"); - assertThat(bom.resolve(Version.parse("1.3.9.RELEASE")).getVersion()) - .isEqualTo("1.1.1-SNAPSHOT"); + bom.updateVersionRange(new VersionParser( + Arrays.asList(Version.parse("1.3.8.RELEASE"), Version.parse("1.3.9.BUILD-SNAPSHOT")))); + assertThat(bom.resolve(Version.parse("1.3.8.RELEASE")).getVersion()).isEqualTo("1.1.0"); + assertThat(bom.resolve(Version.parse("1.3.9.RELEASE")).getVersion()).isEqualTo("1.1.1-SNAPSHOT"); - bom.updateVersionRange(new VersionParser(Arrays.asList( - Version.parse("1.3.9.RELEASE"), Version.parse("1.3.10.BUILD-SNAPSHOT")))); - assertThat(bom.resolve(Version.parse("1.3.8.RELEASE")).getVersion()) - .isEqualTo("1.1.0"); - assertThat(bom.resolve(Version.parse("1.3.9.RELEASE")).getVersion()) - .isEqualTo("1.1.0"); + bom.updateVersionRange(new VersionParser( + Arrays.asList(Version.parse("1.3.9.RELEASE"), Version.parse("1.3.10.BUILD-SNAPSHOT")))); + assertThat(bom.resolve(Version.parse("1.3.8.RELEASE")).getVersion()).isEqualTo("1.1.0"); + assertThat(bom.resolve(Version.parse("1.3.9.RELEASE")).getVersion()).isEqualTo("1.1.0"); } } diff --git a/initializr-metadata/src/test/java/io/spring/initializr/metadata/DependenciesCapabilityTests.java b/initializr-metadata/src/test/java/io/spring/initializr/metadata/DependenciesCapabilityTests.java index 11685688..e3009f1c 100755 --- a/initializr-metadata/src/test/java/io/spring/initializr/metadata/DependenciesCapabilityTests.java +++ b/initializr-metadata/src/test/java/io/spring/initializr/metadata/DependenciesCapabilityTests.java @@ -32,8 +32,7 @@ class DependenciesCapabilityTests { void indexedDependencies() { Dependency dependency = Dependency.withId("first"); Dependency dependency2 = Dependency.withId("second"); - DependenciesCapability capability = createDependenciesCapability("foo", - dependency, dependency2); + DependenciesCapability capability = createDependenciesCapability("foo", dependency, dependency2); capability.validate(); assertThat(capability.get("first")).isSameAs(dependency); @@ -45,10 +44,8 @@ class DependenciesCapabilityTests { void addTwoDependenciesWithSameId() { Dependency dependency = Dependency.withId("conflict"); Dependency dependency2 = Dependency.withId("conflict"); - DependenciesCapability capability = createDependenciesCapability("foo", - dependency, dependency2); - assertThatIllegalArgumentException().isThrownBy(capability::validate) - .withMessageContaining("conflict"); + DependenciesCapability capability = createDependenciesCapability("foo", dependency, dependency2); + assertThatIllegalArgumentException().isThrownBy(capability::validate).withMessageContaining("conflict"); } @Test @@ -56,8 +53,7 @@ class DependenciesCapabilityTests { Dependency dependency = Dependency.withId("first"); dependency.getAliases().add("alias1"); dependency.getAliases().add("alias2"); - DependenciesCapability capability = createDependenciesCapability("foo", - dependency); + DependenciesCapability capability = createDependenciesCapability("foo", dependency); capability.validate(); assertThat(capability.get("first")).isSameAs(dependency); assertThat(capability.get("alias1")).isSameAs(dependency); @@ -74,19 +70,17 @@ class DependenciesCapabilityTests { DependenciesCapability capability = new DependenciesCapability(); capability.getContent().add(createDependencyGroup("foo", dependency)); capability.getContent().add(createDependencyGroup("bar", dependency2)); - assertThatIllegalArgumentException().isThrownBy(capability::validate) - .withMessageContaining("alias2"); + assertThatIllegalArgumentException().isThrownBy(capability::validate).withMessageContaining("alias2"); } @Test void mergeAddEntry() { - DependenciesCapability capability = createDependenciesCapability("foo", - Dependency.withId("first"), Dependency.withId("second")); + DependenciesCapability capability = createDependenciesCapability("foo", Dependency.withId("first"), + Dependency.withId("second")); - DependenciesCapability anotherCapability = createDependenciesCapability("foo", - Dependency.withId("bar"), Dependency.withId("biz")); - anotherCapability.getContent() - .add(createDependencyGroup("bar", Dependency.withId("third"))); + DependenciesCapability anotherCapability = createDependenciesCapability("foo", Dependency.withId("bar"), + Dependency.withId("biz")); + anotherCapability.getContent().add(createDependencyGroup("bar", Dependency.withId("third"))); capability.merge(anotherCapability); assertThat(capability.getContent()).hasSize(2); @@ -143,16 +137,14 @@ class DependenciesCapabilityTests { assertThat(capability.get("second").getRepository()).isEqualTo("da-repo"); } - private static DependenciesCapability createDependenciesCapability(String groupName, - Dependency... dependencies) { + private static DependenciesCapability createDependenciesCapability(String groupName, Dependency... dependencies) { DependenciesCapability capability = new DependenciesCapability(); DependencyGroup group = createDependencyGroup(groupName, dependencies); capability.getContent().add(group); return capability; } - private static DependencyGroup createDependencyGroup(String groupName, - Dependency... dependencies) { + private static DependencyGroup createDependencyGroup(String groupName, Dependency... dependencies) { DependencyGroup group = DependencyGroup.create(groupName); for (Dependency dependency : dependencies) { group.getContent().add(dependency); diff --git a/initializr-metadata/src/test/java/io/spring/initializr/metadata/DependencyTests.java b/initializr-metadata/src/test/java/io/spring/initializr/metadata/DependencyTests.java index feeec4f8..04ab8299 100755 --- a/initializr-metadata/src/test/java/io/spring/initializr/metadata/DependencyTests.java +++ b/initializr-metadata/src/test/java/io/spring/initializr/metadata/DependencyTests.java @@ -108,23 +108,21 @@ class DependencyTests { void invalidSpringBootRange() { Dependency dependency = Dependency.withId("web"); dependency.setVersionRange("A.B.C"); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(dependency::resolve).withMessageContaining("A.B.C"); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(dependency::resolve) + .withMessageContaining("A.B.C"); } @Test void invalidIdFormatTooManyColons() { Dependency dependency = Dependency.withId("org.foo:bar:1.0:test:external"); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(dependency::resolve); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(dependency::resolve); } @Test void invalidLink() { Dependency dependency = Dependency.withId("foo"); dependency.getLinks().add(Link.create(null, "https://example.com")); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(dependency::resolve); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(dependency::resolve); } @Test @@ -145,28 +143,25 @@ class DependencyTests { void resolveNoMapping() { Dependency dependency = Dependency.withId("web"); dependency.resolve(); - assertThat(dependency.resolve(Version.parse("1.2.0.RELEASE"))) - .isSameAs(dependency); + assertThat(dependency.resolve(Version.parse("1.2.0.RELEASE"))).isSameAs(dependency); } @Test void resolveInvalidMapping() { Dependency dependency = Dependency.withId("web"); - dependency.getMappings() - .add(Dependency.Mapping.create("foo-bar", null, null, "0.1.0.RELEASE")); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(dependency::resolve).withMessageContaining("foo-bar"); + dependency.getMappings().add(Dependency.Mapping.create("foo-bar", null, null, "0.1.0.RELEASE")); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(dependency::resolve) + .withMessageContaining("foo-bar"); } @Test void resolveVersionRequirement() { Dependency dependency = Dependency.withId("web"); - dependency.getMappings().add(Dependency.Mapping - .create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "0.1.0.RELEASE")); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "0.1.0.RELEASE")); dependency.resolve(); Dependency resolved = dependency.resolve(Version.parse("1.1.5.RELEASE")); - assertThat(resolved.getVersionRequirement()) - .isEqualTo(">=1.1.0.RELEASE and <1.2.0.RELEASE"); + assertThat(resolved.getVersionRequirement()).isEqualTo(">=1.1.0.RELEASE and <1.2.0.RELEASE"); } @Test @@ -176,18 +171,18 @@ class DependencyTests { dependency.getKeywords().addAll(Arrays.asList("foo", "bar")); dependency.getAliases().add("the-web"); dependency.getFacets().add("web"); - dependency.getMappings().add(Dependency.Mapping - .create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "0.1.0.RELEASE")); - dependency.getMappings().add(Dependency.Mapping - .create("[1.2.0.RELEASE, 1.3.0.RELEASE)", null, null, "0.2.0.RELEASE")); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "0.1.0.RELEASE")); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.2.0.RELEASE, 1.3.0.RELEASE)", null, null, "0.2.0.RELEASE")); dependency.resolve(); - validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), - "org.springframework.boot", "spring-boot-starter-web", "0.1.0.RELEASE"); - validateResolvedWebDependency(dependency.resolve(Version.parse("1.2.0.RELEASE")), - "org.springframework.boot", "spring-boot-starter-web", "0.2.0.RELEASE"); - validateResolvedWebDependency(dependency.resolve(Version.parse("2.1.3.M1")), - "org.springframework.boot", "spring-boot-starter-web", "0.3.0.RELEASE"); // default + validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), "org.springframework.boot", + "spring-boot-starter-web", "0.1.0.RELEASE"); + validateResolvedWebDependency(dependency.resolve(Version.parse("1.2.0.RELEASE")), "org.springframework.boot", + "spring-boot-starter-web", "0.2.0.RELEASE"); + validateResolvedWebDependency(dependency.resolve(Version.parse("2.1.3.M1")), "org.springframework.boot", + "spring-boot-starter-web", "0.3.0.RELEASE"); // default } @Test @@ -197,18 +192,18 @@ class DependencyTests { dependency.getKeywords().addAll(Arrays.asList("foo", "bar")); dependency.getAliases().add("the-web"); dependency.getFacets().add("web"); - dependency.getMappings().add(Dependency.Mapping - .create("[1.1.0.RELEASE, 1.2.0.RELEASE)", "org.spring.boot", null, null)); - dependency.getMappings().add(Dependency.Mapping - .create("[1.2.0.RELEASE, 1.3.0.RELEASE)", null, "starter-web", null)); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.1.0.RELEASE, 1.2.0.RELEASE)", "org.spring.boot", null, null)); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.2.0.RELEASE, 1.3.0.RELEASE)", null, "starter-web", null)); dependency.resolve(); - validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), - "org.spring.boot", "spring-boot-starter-web", "0.3.0.RELEASE"); - validateResolvedWebDependency(dependency.resolve(Version.parse("1.2.0.RELEASE")), - "org.springframework.boot", "starter-web", "0.3.0.RELEASE"); - validateResolvedWebDependency(dependency.resolve(Version.parse("2.1.3.M1")), - "org.springframework.boot", "spring-boot-starter-web", "0.3.0.RELEASE"); // default + validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), "org.spring.boot", + "spring-boot-starter-web", "0.3.0.RELEASE"); + validateResolvedWebDependency(dependency.resolve(Version.parse("1.2.0.RELEASE")), "org.springframework.boot", + "starter-web", "0.3.0.RELEASE"); + validateResolvedWebDependency(dependency.resolve(Version.parse("2.1.3.M1")), "org.springframework.boot", + "spring-boot-starter-web", "0.3.0.RELEASE"); // default } @Test @@ -218,54 +213,49 @@ class DependencyTests { dependency.getKeywords().addAll(Arrays.asList("foo", "bar")); dependency.getAliases().add("the-web"); dependency.getFacets().add("web"); - dependency.getMappings().add(Dependency.Mapping - .create("[1.1.0.RELEASE, 1.1.x.RELEASE]", null, null, "0.1.0.RELEASE")); - dependency.getMappings().add(Dependency.Mapping.create( - "[1.1.x.BUILD-SNAPSHOT, 1.2.0.RELEASE)", null, null, "0.2.0.RELEASE")); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.1.0.RELEASE, 1.1.x.RELEASE]", null, null, "0.1.0.RELEASE")); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.1.x.BUILD-SNAPSHOT, 1.2.0.RELEASE)", null, null, "0.2.0.RELEASE")); dependency.resolve(); - dependency.updateVersionRanges(new VersionParser(Arrays.asList( - Version.parse("1.1.5.RELEASE"), Version.parse("1.1.6.BUILD-SNAPSHOT")))); - validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), - "org.springframework.boot", "spring-boot-starter-web", "0.1.0.RELEASE"); - validateResolvedWebDependency( - dependency.resolve(Version.parse("1.1.6.BUILD-SNAPSHOT")), + dependency.updateVersionRanges(new VersionParser( + Arrays.asList(Version.parse("1.1.5.RELEASE"), Version.parse("1.1.6.BUILD-SNAPSHOT")))); + validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), "org.springframework.boot", + "spring-boot-starter-web", "0.1.0.RELEASE"); + validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.6.BUILD-SNAPSHOT")), "org.springframework.boot", "spring-boot-starter-web", "0.2.0.RELEASE"); - validateResolvedWebDependency(dependency.resolve(Version.parse("2.1.3.M1")), - "org.springframework.boot", "spring-boot-starter-web", "0.3.0.RELEASE"); // default + validateResolvedWebDependency(dependency.resolve(Version.parse("2.1.3.M1")), "org.springframework.boot", + "spring-boot-starter-web", "0.3.0.RELEASE"); // default - dependency.updateVersionRanges(new VersionParser(Arrays.asList( - Version.parse("1.1.6.RELEASE"), Version.parse("1.1.7.BUILD-SNAPSHOT")))); - validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), - "org.springframework.boot", "spring-boot-starter-web", "0.1.0.RELEASE"); - validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.6.RELEASE")), - "org.springframework.boot", "spring-boot-starter-web", "0.1.0.RELEASE"); - validateResolvedWebDependency( - dependency.resolve(Version.parse("1.1.7.BUILD-SNAPSHOT")), + dependency.updateVersionRanges(new VersionParser( + Arrays.asList(Version.parse("1.1.6.RELEASE"), Version.parse("1.1.7.BUILD-SNAPSHOT")))); + validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), "org.springframework.boot", + "spring-boot-starter-web", "0.1.0.RELEASE"); + validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.6.RELEASE")), "org.springframework.boot", + "spring-boot-starter-web", "0.1.0.RELEASE"); + validateResolvedWebDependency(dependency.resolve(Version.parse("1.1.7.BUILD-SNAPSHOT")), "org.springframework.boot", "spring-boot-starter-web", "0.2.0.RELEASE"); - validateResolvedWebDependency(dependency.resolve(Version.parse("2.1.3.M1")), - "org.springframework.boot", "spring-boot-starter-web", "0.3.0.RELEASE"); // default + validateResolvedWebDependency(dependency.resolve(Version.parse("2.1.3.M1")), "org.springframework.boot", + "spring-boot-starter-web", "0.3.0.RELEASE"); // default } @Test void resolveMatchingWithCustomGroupId() { - Dependency dependency = Dependency.withId("foo", "com.acme", "foo", - "0.3.0.RELEASE"); - dependency.getMappings().add(Dependency.Mapping - .create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "1.0.0.RELEASE")); - dependency.getMappings().add(Dependency.Mapping - .create("[1.2.0.RELEASE, 1.3.0.RELEASE)", null, "bar", null)); + Dependency dependency = Dependency.withId("foo", "com.acme", "foo", "0.3.0.RELEASE"); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.1.0.RELEASE, 1.2.0.RELEASE)", null, null, "1.0.0.RELEASE")); + dependency.getMappings().add(Dependency.Mapping.create("[1.2.0.RELEASE, 1.3.0.RELEASE)", null, "bar", null)); dependency.resolve(); - validateResolvedDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), - "foo", "com.acme", "foo", "1.0.0.RELEASE"); - validateResolvedDependency(dependency.resolve(Version.parse("1.2.5.RELEASE")), - "foo", "com.acme", "bar", "0.3.0.RELEASE"); + validateResolvedDependency(dependency.resolve(Version.parse("1.1.5.RELEASE")), "foo", "com.acme", "foo", + "1.0.0.RELEASE"); + validateResolvedDependency(dependency.resolve(Version.parse("1.2.5.RELEASE")), "foo", "com.acme", "bar", + "0.3.0.RELEASE"); } @Test void resolveVersionWithX() { - Dependency dependency1 = Dependency.withId("foo1", "com.acme", "foo1", - "0.3.0.RELEASE"); + Dependency dependency1 = Dependency.withId("foo1", "com.acme", "foo1", "0.3.0.RELEASE"); dependency1.setVersionRange("1.2.x.RELEASE"); dependency1.resolve(); assertThat(dependency1.getVersionRange()).isEqualTo("1.2.999.RELEASE"); @@ -273,25 +263,22 @@ class DependencyTests { @Test void resolveVersionRangeWithX() { - Dependency dependency = Dependency.withId("foo1", "com.acme", "foo1", - "0.3.0.RELEASE"); + Dependency dependency = Dependency.withId("foo1", "com.acme", "foo1", "0.3.0.RELEASE"); dependency.setVersionRange("[1.1.0.RELEASE, 1.2.x.RELEASE)"); dependency.resolve(); - assertThat(dependency.getVersionRange()) - .isEqualTo("[1.1.0.RELEASE,1.2.999.RELEASE)"); + assertThat(dependency.getVersionRange()).isEqualTo("[1.1.0.RELEASE,1.2.999.RELEASE)"); } - private static void validateResolvedWebDependency(Dependency dependency, - String expectedGroupId, String expectedArtifactId, String expectedVersion) { - validateResolvedDependency(dependency, "web", expectedGroupId, expectedArtifactId, - expectedVersion); + private static void validateResolvedWebDependency(Dependency dependency, String expectedGroupId, + String expectedArtifactId, String expectedVersion) { + validateResolvedDependency(dependency, "web", expectedGroupId, expectedArtifactId, expectedVersion); assertThat(dependency.getKeywords()).hasSize(2); assertThat(dependency.getAliases()).hasSize(1); assertThat(dependency.getFacets()).hasSize(1); } - private static void validateResolvedDependency(Dependency dependency, String id, - String expectedGroupId, String expectedArtifactId, String expectedVersion) { + private static void validateResolvedDependency(Dependency dependency, String id, String expectedGroupId, + String expectedArtifactId, String expectedVersion) { assertThat(dependency.getId()).isEqualTo(id); assertThat(dependency.getGroupId()).isEqualTo(expectedGroupId); assertThat(dependency.getArtifactId()).isEqualTo(expectedArtifactId); diff --git a/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrConfigurationTests.java b/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrConfigurationTests.java index ffc72b18..47081cc9 100755 --- a/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrConfigurationTests.java +++ b/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrConfigurationTests.java @@ -33,68 +33,57 @@ class InitializrConfigurationTests { @Test void generateApplicationNameSimple() { - assertThat(this.properties.generateApplicationName("demo")) - .isEqualTo("DemoApplication"); + assertThat(this.properties.generateApplicationName("demo")).isEqualTo("DemoApplication"); } @Test void generateApplicationNameSimpleApplication() { - assertThat(this.properties.generateApplicationName("demoApplication")) - .isEqualTo("DemoApplication"); + assertThat(this.properties.generateApplicationName("demoApplication")).isEqualTo("DemoApplication"); } @Test void generateApplicationNameSimpleCamelCase() { - assertThat(this.properties.generateApplicationName("myDemo")) - .isEqualTo("MyDemoApplication"); + assertThat(this.properties.generateApplicationName("myDemo")).isEqualTo("MyDemoApplication"); } @Test void generateApplicationNameSimpleUnderscore() { - assertThat(this.properties.generateApplicationName("my_demo")) - .isEqualTo("MyDemoApplication"); + assertThat(this.properties.generateApplicationName("my_demo")).isEqualTo("MyDemoApplication"); } @Test void generateApplicationNameSimpleColon() { - assertThat(this.properties.generateApplicationName("my:demo")) - .isEqualTo("MyDemoApplication"); + assertThat(this.properties.generateApplicationName("my:demo")).isEqualTo("MyDemoApplication"); } @Test void generateApplicationNameSimpleSpace() { - assertThat(this.properties.generateApplicationName("my demo")) - .isEqualTo("MyDemoApplication"); + assertThat(this.properties.generateApplicationName("my demo")).isEqualTo("MyDemoApplication"); } @Test void generateApplicationNameSimpleDash() { - assertThat(this.properties.generateApplicationName("my-demo")) - .isEqualTo("MyDemoApplication"); + assertThat(this.properties.generateApplicationName("my-demo")).isEqualTo("MyDemoApplication"); } @Test void generateApplicationNameUpperCaseUnderscore() { - assertThat(this.properties.generateApplicationName("MY_DEMO")) - .isEqualTo("MyDemoApplication"); + assertThat(this.properties.generateApplicationName("MY_DEMO")).isEqualTo("MyDemoApplication"); } @Test void generateApplicationNameUpperCaseDash() { - assertThat(this.properties.generateApplicationName("MY-DEMO")) - .isEqualTo("MyDemoApplication"); + assertThat(this.properties.generateApplicationName("MY-DEMO")).isEqualTo("MyDemoApplication"); } @Test void generateApplicationNameMultiSpaces() { - assertThat(this.properties.generateApplicationName(" my demo ")) - .isEqualTo("MyDemoApplication"); + assertThat(this.properties.generateApplicationName(" my demo ")).isEqualTo("MyDemoApplication"); } @Test void generateApplicationNameMultiSpacesUpperCase() { - assertThat("MyDemoApplication") - .isEqualTo(this.properties.generateApplicationName(" MY DEMO ")); + assertThat("MyDemoApplication").isEqualTo(this.properties.generateApplicationName(" MY DEMO ")); } @Test @@ -129,102 +118,85 @@ class InitializrConfigurationTests { @Test void generatePackageNameSimple() { - assertThat(this.properties.cleanPackageName("com.foo", "com.example")) - .isEqualTo("com.foo"); + assertThat(this.properties.cleanPackageName("com.foo", "com.example")).isEqualTo("com.foo"); } @Test void generatePackageNameSimpleUnderscore() { - assertThat(this.properties.cleanPackageName("com.my_foo", "com.example")) - .isEqualTo("com.my_foo"); + assertThat(this.properties.cleanPackageName("com.my_foo", "com.example")).isEqualTo("com.my_foo"); } @Test void generatePackageNameSimpleColon() { - assertThat(this.properties.cleanPackageName("com:foo", "com.example")) - .isEqualTo("com.foo"); + assertThat(this.properties.cleanPackageName("com:foo", "com.example")).isEqualTo("com.foo"); } @Test void generatePackageNameMultipleDashers() { - assertThat(this.properties.cleanPackageName("com.foo--bar", "com.example")) - .isEqualTo("com.foobar"); + assertThat(this.properties.cleanPackageName("com.foo--bar", "com.example")).isEqualTo("com.foobar"); } @Test void generatePackageNameMultipleSpaces() { - assertThat(this.properties.cleanPackageName(" com foo ", "com.example")) - .isEqualTo("com.foo"); + assertThat(this.properties.cleanPackageName(" com foo ", "com.example")).isEqualTo("com.foo"); } @Test void generatePackageNameNull() { - assertThat(this.properties.cleanPackageName(null, "com.example")) - .isEqualTo("com.example"); + assertThat(this.properties.cleanPackageName(null, "com.example")).isEqualTo("com.example"); } @Test void generatePackageNameDot() { - assertThat(this.properties.cleanPackageName(".", "com.example")) - .isEqualTo("com.example"); + assertThat(this.properties.cleanPackageName(".", "com.example")).isEqualTo("com.example"); } @Test void generatePackageNameWhitespaces() { - assertThat(this.properties.cleanPackageName(" ", "com.example")) - .isEqualTo("com.example"); + assertThat(this.properties.cleanPackageName(" ", "com.example")).isEqualTo("com.example"); } @Test void generatePackageNameInvalidStartCharacter() { - assertThat(this.properties.cleanPackageName("0com.foo", "com.example")) - .isEqualTo("com.foo"); + assertThat(this.properties.cleanPackageName("0com.foo", "com.example")).isEqualTo("com.foo"); } @Test void generatePackageNameVersion() { - assertThat(this.properties.cleanPackageName("com.foo.test-1.4.5", "com.example")) - .isEqualTo("com.foo.test145"); + assertThat(this.properties.cleanPackageName("com.foo.test-1.4.5", "com.example")).isEqualTo("com.foo.test145"); } @Test void generatePackageNameInvalidPackageName() { - assertThat(this.properties.cleanPackageName("org.springframework", "com.example")) - .isEqualTo("com.example"); + assertThat(this.properties.cleanPackageName("org.springframework", "com.example")).isEqualTo("com.example"); } @Test void validateArtifactRepository() { this.properties.getEnv().setArtifactRepository("http://foo/bar"); - assertThat(this.properties.getEnv().getArtifactRepository()) - .isEqualTo("http://foo/bar/"); + assertThat(this.properties.getEnv().getArtifactRepository()).isEqualTo("http://foo/bar/"); } @Test void resolveKotlinVersionMatchingMapping() { Kotlin kotlin = this.properties.getEnv().getKotlin(); kotlin.setDefaultVersion("1.2.3"); - kotlin.getMappings() - .add(createKotlinVersionMapping("[1.4.0.RELEASE,1.5.0.RELEASE)", "1.5")); + kotlin.getMappings().add(createKotlinVersionMapping("[1.4.0.RELEASE,1.5.0.RELEASE)", "1.5")); kotlin.getMappings().add(createKotlinVersionMapping("1.5.0.RELEASE", "1.6")); kotlin.validate(); - assertThat(kotlin.resolveKotlinVersion(Version.parse("1.5.3.RELEASE"))) - .isEqualTo("1.6"); + assertThat(kotlin.resolveKotlinVersion(Version.parse("1.5.3.RELEASE"))).isEqualTo("1.6"); } @Test void resolveKotlinVersionUsingDefault() { Kotlin kotlin = this.properties.getEnv().getKotlin(); kotlin.setDefaultVersion("1.2.3"); - kotlin.getMappings() - .add(createKotlinVersionMapping("[1.4.0.RELEASE,1.5.0.RELEASE)", "1.5")); + kotlin.getMappings().add(createKotlinVersionMapping("[1.4.0.RELEASE,1.5.0.RELEASE)", "1.5")); kotlin.validate(); - assertThat(kotlin.resolveKotlinVersion(Version.parse("1.3.2.RELEASE"))) - .isEqualTo("1.2.3"); + assertThat(kotlin.resolveKotlinVersion(Version.parse("1.3.2.RELEASE"))).isEqualTo("1.2.3"); } - private Kotlin.Mapping createKotlinVersionMapping(String versionRange, - String kotlinVersion) { + private Kotlin.Mapping createKotlinVersionMapping(String versionRange, String kotlinVersion) { Kotlin.Mapping mapping = new Kotlin.Mapping(); mapping.setVersionRange(versionRange); mapping.setVersion(kotlinVersion); diff --git a/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrMetadataBuilderTests.java b/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrMetadataBuilderTests.java index f2eb6739..3ee8edd1 100755 --- a/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrMetadataBuilderTests.java +++ b/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrMetadataBuilderTests.java @@ -40,31 +40,24 @@ class InitializrMetadataBuilderTests { @Test void loadDefaultConfig() { - InitializrProperties bean = load( - new ClassPathResource("application-test-default.yml")); - InitializrMetadata metadata = InitializrMetadataBuilder - .fromInitializrProperties(bean).build(); + InitializrProperties bean = load(new ClassPathResource("application-test-default.yml")); + InitializrMetadata metadata = InitializrMetadataBuilder.fromInitializrProperties(bean).build(); assertDefaultConfig(metadata); } @Test void mergeIdenticalConfig() { - InitializrProperties bean = load( - new ClassPathResource("application-test-default.yml")); - InitializrMetadata metadata = InitializrMetadataBuilder - .fromInitializrProperties(bean).withInitializrProperties(bean, true) - .build(); + InitializrProperties bean = load(new ClassPathResource("application-test-default.yml")); + InitializrMetadata metadata = InitializrMetadataBuilder.fromInitializrProperties(bean) + .withInitializrProperties(bean, true).build(); assertDefaultConfig(metadata); } @Test void mergeConfig() { - InitializrProperties config = load( - new ClassPathResource("application-test-default.yml")); - InitializrProperties customDefaultsConfig = load( - new ClassPathResource("application-test-custom-defaults.yml")); - InitializrMetadata metadata = InitializrMetadataBuilder - .fromInitializrProperties(config) + InitializrProperties config = load(new ClassPathResource("application-test-default.yml")); + InitializrProperties customDefaultsConfig = load(new ClassPathResource("application-test-custom-defaults.yml")); + InitializrMetadata metadata = InitializrMetadataBuilder.fromInitializrProperties(config) .withInitializrProperties(customDefaultsConfig).build(); assertDefaultConfig(metadata); assertThat(metadata.getGroupId().getContent()).isEqualTo("org.foo"); @@ -78,9 +71,7 @@ class InitializrMetadataBuilderTests { @Test void mergeMetadata() { InitializrMetadata metadata = InitializrMetadataBuilder.create() - .withInitializrMetadata( - new ClassPathResource("metadata/config/test-min.json")) - .build(); + .withInitializrMetadata(new ClassPathResource("metadata/config/test-min.json")).build(); assertThat(metadata.getConfiguration().getEnv().isForceSsl()).isEqualTo(true); assertThat(metadata.getDependencies().getContent()).hasSize(1); Dependency dependency = metadata.getDependencies().get("test"); @@ -92,8 +83,7 @@ class InitializrMetadataBuilderTests { assertThat(metadata.getJavaVersions().getContent()).hasSize(1); assertThat(metadata.getLanguages().getContent()).hasSize(3); assertThat(metadata.getName().getContent()).isEqualTo("metadata-merge"); - assertThat(metadata.getDescription().getContent()) - .isEqualTo("Demo project for metadata merge"); + assertThat(metadata.getDescription().getContent()).isEqualTo("Demo project for metadata merge"); assertThat(metadata.getGroupId().getContent()).isEqualTo("org.acme"); assertThat(metadata.getArtifactId().getContent()).isEqualTo("metadata"); assertThat(metadata.getVersion().getContent()).isEqualTo("1.0.0-SNAPSHOT"); @@ -103,12 +93,9 @@ class InitializrMetadataBuilderTests { @Test void mergeMetadataWithBom() { InitializrMetadata metadata = InitializrMetadataBuilder.create() - .withInitializrMetadata( - new ClassPathResource("metadata/config/test-bom.json")) - .build(); + .withInitializrMetadata(new ClassPathResource("metadata/config/test-bom.json")).build(); - Map boms = metadata.getConfiguration().getEnv() - .getBoms(); + Map boms = metadata.getConfiguration().getEnv().getBoms(); assertThat(boms).hasSize(2); BillOfMaterials myBom = boms.get("my-bom"); assertThat(myBom).isNotNull(); @@ -126,12 +113,9 @@ class InitializrMetadataBuilderTests { @Test void mergeMetadataWithRepository() throws Exception { InitializrMetadata metadata = InitializrMetadataBuilder.create() - .withInitializrMetadata( - new ClassPathResource("metadata/config/test-repository.json")) - .build(); + .withInitializrMetadata(new ClassPathResource("metadata/config/test-repository.json")).build(); - Map repositories = metadata.getConfiguration().getEnv() - .getRepositories(); + Map repositories = metadata.getConfiguration().getEnv().getRepositories(); assertThat(repositories).hasSize(4); // 2 standard repos Repository myRepo = repositories.get("my-repo"); assertThat(myRepo).isNotNull(); @@ -148,53 +132,38 @@ class InitializrMetadataBuilderTests { @Test void mergeConfigurationDisabledByDefault() { - InitializrProperties config = load( - new ClassPathResource("application-test-default.yml")); - InitializrProperties customDefaultsConfig = load( - new ClassPathResource("application-test-custom-env.yml")); - InitializrMetadata metadata = InitializrMetadataBuilder - .fromInitializrProperties(config) + InitializrProperties config = load(new ClassPathResource("application-test-default.yml")); + InitializrProperties customDefaultsConfig = load(new ClassPathResource("application-test-custom-env.yml")); + InitializrMetadata metadata = InitializrMetadataBuilder.fromInitializrProperties(config) .withInitializrProperties(customDefaultsConfig).build(); InitializrConfiguration.Env defaultEnv = new InitializrConfiguration().getEnv(); InitializrConfiguration.Env actualEnv = metadata.getConfiguration().getEnv(); - assertThat(actualEnv.getArtifactRepository()) - .isEqualTo(defaultEnv.getArtifactRepository()); - assertThat(actualEnv.getSpringBootMetadataUrl()) - .isEqualTo(defaultEnv.getSpringBootMetadataUrl()); - assertThat(actualEnv.getFallbackApplicationName()) - .isEqualTo(defaultEnv.getFallbackApplicationName()); + assertThat(actualEnv.getArtifactRepository()).isEqualTo(defaultEnv.getArtifactRepository()); + assertThat(actualEnv.getSpringBootMetadataUrl()).isEqualTo(defaultEnv.getSpringBootMetadataUrl()); + assertThat(actualEnv.getFallbackApplicationName()).isEqualTo(defaultEnv.getFallbackApplicationName()); assertThat(actualEnv.isForceSsl()).isEqualTo(defaultEnv.isForceSsl()); } @Test void mergeConfiguration() { - InitializrProperties config = load( - new ClassPathResource("application-test-default.yml")); - InitializrProperties customDefaultsConfig = load( - new ClassPathResource("application-test-custom-env.yml")); - InitializrMetadata metadata = InitializrMetadataBuilder - .fromInitializrProperties(config) + InitializrProperties config = load(new ClassPathResource("application-test-default.yml")); + InitializrProperties customDefaultsConfig = load(new ClassPathResource("application-test-custom-env.yml")); + InitializrMetadata metadata = InitializrMetadataBuilder.fromInitializrProperties(config) .withInitializrProperties(customDefaultsConfig, true).build(); InitializrConfiguration.Env defaultEnv = new InitializrConfiguration().getEnv(); InitializrConfiguration.Env actualEnv = metadata.getConfiguration().getEnv(); - assertThat(actualEnv.getArtifactRepository()) - .isEqualTo("https://repo.spring.io/lib-release/"); - assertThat(actualEnv.getSpringBootMetadataUrl()) - .isEqualTo(defaultEnv.getSpringBootMetadataUrl()); + assertThat(actualEnv.getArtifactRepository()).isEqualTo("https://repo.spring.io/lib-release/"); + assertThat(actualEnv.getSpringBootMetadataUrl()).isEqualTo(defaultEnv.getSpringBootMetadataUrl()); assertThat(actualEnv.getFallbackApplicationName()).isEqualTo("FooBarApplication"); assertThat(actualEnv.isForceSsl()).isEqualTo(false); - assertThat(actualEnv.getKotlin().getDefaultVersion()) - .isEqualTo("1.0.0-beta-2423"); + assertThat(actualEnv.getKotlin().getDefaultVersion()).isEqualTo("1.0.0-beta-2423"); } @Test void mergeSslConfiguration() { - InitializrProperties config = load( - new ClassPathResource("application-test-default.yml")); - InitializrProperties forceSslConfig = load( - new ClassPathResource("application-test-ssl.yml")); - InitializrMetadata metadata = InitializrMetadataBuilder - .fromInitializrProperties(config) + InitializrProperties config = load(new ClassPathResource("application-test-default.yml")); + InitializrProperties forceSslConfig = load(new ClassPathResource("application-test-ssl.yml")); + InitializrMetadata metadata = InitializrMetadataBuilder.fromInitializrProperties(config) .withInitializrProperties(forceSslConfig, true).build(); InitializrConfiguration.Env actualEnv = metadata.getConfiguration().getEnv(); assertThat(actualEnv.isForceSsl()).isEqualTo(true); @@ -206,8 +175,7 @@ class InitializrMetadataBuilderTests { Dependency dependency = Dependency.withId("com.foo:foo:1.0.0"); group.getContent().add(dependency); InitializrMetadata metadata = InitializrMetadataBuilder.create() - .withCustomizer((m) -> m.getDependencies().getContent().add(group)) - .build(); + .withCustomizer((m) -> m.getDependencies().getContent().add(group)).build(); assertThat(metadata.getDependencies().getContent()).hasSize(1); assertThat(metadata.getDependencies().getContent().get(0)).isEqualTo(group); } @@ -220,8 +188,7 @@ class InitializrMetadataBuilderTests { } private static InitializrProperties load(Resource resource) { - ConfigurationPropertySource source = new MapConfigurationPropertySource( - loadProperties(resource)); + ConfigurationPropertySource source = new MapConfigurationPropertySource(loadProperties(resource)); Binder binder = new Binder(source); return binder.bind("initializr", InitializrProperties.class).get(); } diff --git a/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrMetadataTests.java b/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrMetadataTests.java index 3acbf95b..089b464d 100755 --- a/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrMetadataTests.java +++ b/initializr-metadata/src/test/java/io/spring/initializr/metadata/InitializrMetadataTests.java @@ -45,9 +45,8 @@ class InitializrMetadataTests { addTestDependencyGroup(metadata, foo); metadata.getConfiguration().getEnv().getBoms().put("my-bom", BillOfMaterials.create("org.acme", "foo", "1.2.3")); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(metadata::validate).withMessageContaining("foo-bom") - .withMessageContaining("my-bom"); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(metadata::validate) + .withMessageContaining("foo-bom").withMessageContaining("my-bom"); } @Test @@ -58,48 +57,38 @@ class InitializrMetadataTests { addTestDependencyGroup(metadata, foo); metadata.getConfiguration().getEnv().getRepositories().put("my-repo", new Repository("repo", new URL("http://example.com/repo"), true)); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(metadata::validate).withMessageContaining("foo-repo") - .withMessageContaining("my-repo"); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(metadata::validate) + .withMessageContaining("foo-repo").withMessageContaining("my-repo"); } @Test void invalidBomNoVersion() { InitializrMetadata metadata = initializeMetadata(); - metadata.getConfiguration().getEnv().getBoms().put("foo-bom", - BillOfMaterials.create("org.acme", "foo-bom")); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(metadata::validate).withMessageContaining("No version") - .withMessageContaining("foo-bom"); + metadata.getConfiguration().getEnv().getBoms().put("foo-bom", BillOfMaterials.create("org.acme", "foo-bom")); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(metadata::validate) + .withMessageContaining("No version").withMessageContaining("foo-bom"); } @Test void invalidBomUnknownRepository() { InitializrMetadata metadata = initializeMetadata(); - BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom", - "1.0.0.RELEASE"); + BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom", "1.0.0.RELEASE"); bom.getRepositories().add("foo-repo"); metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(metadata::validate) - .withMessageContaining("invalid repository id foo-repo") - .withMessageContaining("foo-bom"); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(metadata::validate) + .withMessageContaining("invalid repository id foo-repo").withMessageContaining("foo-bom"); } @Test void invalidBomUnknownAdditionalBom() { InitializrMetadata metadata = initializeMetadata(); - BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom", - "1.0.0.RELEASE"); + BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom", "1.0.0.RELEASE"); bom.getAdditionalBoms().addAll(Arrays.asList("bar-bom", "biz-bom")); - BillOfMaterials barBom = BillOfMaterials.create("org.acme", "bar-bom", - "1.0.0.RELEASE"); + BillOfMaterials barBom = BillOfMaterials.create("org.acme", "bar-bom", "1.0.0.RELEASE"); metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom); metadata.getConfiguration().getEnv().getBoms().put("bar-bom", barBom); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(metadata::validate) - .withMessageContaining("invalid additional bom") - .withMessageContaining("biz-bom"); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(metadata::validate) + .withMessageContaining("invalid additional bom").withMessageContaining("biz-bom"); } @Test @@ -109,9 +98,8 @@ class InitializrMetadataTests { bom.getMappings().add(Mapping.create("[1.2.0.RELEASE,1.3.0.M1)", "1.0.0")); bom.getMappings().add(Mapping.create("FOO_BAR", "1.2.0")); metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(metadata::validate).withMessageContaining("FOO_BAR") - .withMessageContaining("foo-bom"); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(metadata::validate) + .withMessageContaining("FOO_BAR").withMessageContaining("foo-bom"); } @Test @@ -123,10 +111,9 @@ class InitializrMetadataTests { mapping.getRepositories().add("foo-repo"); bom.getMappings().add(mapping); metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(metadata::validate) - .withMessageContaining("invalid repository id foo-repo") - .withMessageContaining("1.3.0.M2").withMessageContaining("foo-bom"); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(metadata::validate) + .withMessageContaining("invalid repository id foo-repo").withMessageContaining("1.3.0.M2") + .withMessageContaining("foo-bom"); } @Test @@ -138,10 +125,9 @@ class InitializrMetadataTests { mapping.getAdditionalBoms().add("bar-bom"); bom.getMappings().add(mapping); metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(metadata::validate) - .withMessageContaining("invalid additional bom") - .withMessageContaining("1.3.0.M2").withMessageContaining("bar-bom"); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(metadata::validate) + .withMessageContaining("invalid additional bom").withMessageContaining("1.3.0.M2") + .withMessageContaining("bar-bom"); } @Test @@ -149,42 +135,34 @@ class InitializrMetadataTests { InitializrMetadata metadata = initializeMetadata(); BillOfMaterials bom = BillOfMaterials.create("org.acme", "foo-bom"); bom.getMappings().add(Mapping.create("[1.2.0.RELEASE,1.3.x.RELEASE]", "1.0.0")); - bom.getMappings() - .add(Mapping.create("1.3.x.BUILD-SNAPSHOT", "1.1.0-BUILD-SNAPSHOT")); + bom.getMappings().add(Mapping.create("1.3.x.BUILD-SNAPSHOT", "1.1.0-BUILD-SNAPSHOT")); Dependency dependency = Dependency.withId("bar"); - dependency.getMappings().add(Dependency.Mapping - .create("[1.3.0.RELEASE, 1.3.x.RELEASE]", null, null, "0.1.0.RELEASE")); - dependency.getMappings().add(Dependency.Mapping.create("1.3.x.BUILD-SNAPSHOT", - null, null, "0.2.0.RELEASE")); + dependency.getMappings() + .add(Dependency.Mapping.create("[1.3.0.RELEASE, 1.3.x.RELEASE]", null, null, "0.1.0.RELEASE")); + dependency.getMappings().add(Dependency.Mapping.create("1.3.x.BUILD-SNAPSHOT", null, null, "0.2.0.RELEASE")); addTestDependencyGroup(metadata, dependency); metadata.getConfiguration().getEnv().getBoms().put("foo-bom", bom); Kotlin kotlin = metadata.getConfiguration().getEnv().getKotlin(); kotlin.setDefaultVersion("1.3"); - kotlin.getMappings() - .add(createKotlinVersionMapping("[1.2.0.RELEASE,1.3.x.RELEASE]", "1.1")); - kotlin.getMappings() - .add(createKotlinVersionMapping("1.3.x.BUILD-SNAPSHOT", "1.2")); + kotlin.getMappings().add(createKotlinVersionMapping("[1.2.0.RELEASE,1.3.x.RELEASE]", "1.1")); + kotlin.getMappings().add(createKotlinVersionMapping("1.3.x.BUILD-SNAPSHOT", "1.2")); metadata.validate(); List bootVersions = Arrays.asList( DefaultMetadataElement.create("1.3.6.RELEASE", "1.3.6", false), DefaultMetadataElement.create("1.3.7.BUILD-SNAPSHOT", "1.3.7", false)); metadata.updateSpringBootVersions(bootVersions); + assertThat(metadata.getConfiguration().getEnv().getBoms().get("foo-bom").resolve(Version.parse("1.3.6.RELEASE")) + .getVersion()).isEqualTo("1.0.0"); assertThat(metadata.getConfiguration().getEnv().getBoms().get("foo-bom") - .resolve(Version.parse("1.3.6.RELEASE")).getVersion()).isEqualTo("1.0.0"); - assertThat(metadata.getConfiguration().getEnv().getBoms().get("foo-bom") - .resolve(Version.parse("1.3.7.BUILD-SNAPSHOT")).getVersion()) - .isEqualTo("1.1.0-BUILD-SNAPSHOT"); - assertThat(metadata.getDependencies().get("bar") - .resolve(Version.parse("1.3.6.RELEASE")).getVersion()) - .isEqualTo("0.1.0.RELEASE"); - assertThat(metadata.getDependencies().get("bar") - .resolve(Version.parse("1.3.7.BUILD-SNAPSHOT")).getVersion()) - .isEqualTo("0.2.0.RELEASE"); + .resolve(Version.parse("1.3.7.BUILD-SNAPSHOT")).getVersion()).isEqualTo("1.1.0-BUILD-SNAPSHOT"); + assertThat(metadata.getDependencies().get("bar").resolve(Version.parse("1.3.6.RELEASE")).getVersion()) + .isEqualTo("0.1.0.RELEASE"); + assertThat(metadata.getDependencies().get("bar").resolve(Version.parse("1.3.7.BUILD-SNAPSHOT")).getVersion()) + .isEqualTo("0.2.0.RELEASE"); assertThat(metadata.getConfiguration().getEnv().getKotlin() - .resolveKotlinVersion(Version.parse("1.3.7.BUILD-SNAPSHOT"))) - .isEqualTo("1.2"); + .resolveKotlinVersion(Version.parse("1.3.7.BUILD-SNAPSHOT"))).isEqualTo("1.2"); } @Test @@ -193,9 +171,8 @@ class InitializrMetadataTests { ParentPom parent = metadata.getConfiguration().getEnv().getMaven().getParent(); parent.setGroupId("org.foo"); parent.setArtifactId("foo-parent"); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(metadata::validate).withMessageContaining( - "Custom maven pom requires groupId, artifactId and version"); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(metadata::validate) + .withMessageContaining("Custom maven pom requires groupId, artifactId and version"); } @Test @@ -215,8 +192,7 @@ class InitializrMetadataTests { return new InitializrMetadata(); } - private void addTestDependencyGroup(InitializrMetadata metadata, - Dependency... dependencies) { + private void addTestDependencyGroup(InitializrMetadata metadata, Dependency... dependencies) { DependencyGroup group = DependencyGroup.create("test"); for (Dependency dependency : dependencies) { group.getContent().add(dependency); @@ -224,8 +200,7 @@ class InitializrMetadataTests { metadata.getDependencies().getContent().add(group); } - private Kotlin.Mapping createKotlinVersionMapping(String versionRange, - String kotlinVersion) { + private Kotlin.Mapping createKotlinVersionMapping(String versionRange, String kotlinVersion) { Kotlin.Mapping mapping = new Kotlin.Mapping(); mapping.setVersionRange(versionRange); mapping.setVersion(kotlinVersion); diff --git a/initializr-metadata/src/test/java/io/spring/initializr/metadata/LinkTests.java b/initializr-metadata/src/test/java/io/spring/initializr/metadata/LinkTests.java index 251dead7..ef3707cd 100755 --- a/initializr-metadata/src/test/java/io/spring/initializr/metadata/LinkTests.java +++ b/initializr-metadata/src/test/java/io/spring/initializr/metadata/LinkTests.java @@ -38,15 +38,13 @@ class LinkTests { void resolveInvalidLinkNoRel() { Link link = new Link(); link.setHref("https://example.com"); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(link::resolve); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(link::resolve); } @Test void resolveInvalidLinkNoHref() { Link link = Link.create("reference", null, "foo doc"); - assertThatExceptionOfType(InvalidInitializrMetadataException.class) - .isThrownBy(link::resolve); + assertThatExceptionOfType(InvalidInitializrMetadataException.class).isThrownBy(link::resolve); } @Test @@ -72,8 +70,7 @@ class LinkTests { Map map = new LinkedHashMap<>(); map.put("a", "test"); map.put("b", "another"); - assertThat(link.expand(map)) - .isEqualTo(new URI("https://example.com/test/2/another")); + assertThat(link.expand(map)).isEqualTo(new URI("https://example.com/test/2/another")); } @Test @@ -83,16 +80,14 @@ class LinkTests { Map map = new LinkedHashMap<>(); map.put("a", "test"); map.put("b", "another"); - assertThat(link.expand(map)) - .isEqualTo(new URI("https://example.com/test/2/test")); + assertThat(link.expand(map)).isEqualTo(new URI("https://example.com/test/2/test")); } @Test void expandLinkMissingVariable() { Link link = Link.create("reference", "https://example.com/{a}/2/{b}"); link.resolve(); - assertThatIllegalArgumentException() - .isThrownBy(() -> link.expand(Collections.singletonMap("a", "test"))) + assertThatIllegalArgumentException().isThrownBy(() -> link.expand(Collections.singletonMap("a", "test"))) .withMessageContaining("missing value for 'b'"); } diff --git a/initializr-metadata/src/test/java/io/spring/initializr/metadata/support/MetadataBuildItemResolverTests.java b/initializr-metadata/src/test/java/io/spring/initializr/metadata/support/MetadataBuildItemResolverTests.java index 851f4710..dfdd1917 100644 --- a/initializr-metadata/src/test/java/io/spring/initializr/metadata/support/MetadataBuildItemResolverTests.java +++ b/initializr-metadata/src/test/java/io/spring/initializr/metadata/support/MetadataBuildItemResolverTests.java @@ -45,14 +45,11 @@ class MetadataBuildItemResolverTests { void resoleDependencyWithMatchingEntry() { InitializrMetadata metadata = new InitializrMetadata(); DependencyGroup group = DependencyGroup.create("test"); - group.getContent().add( - Dependency.withId("test-dep", "com.example", "test", "1.0.0", "runtime")); + group.getContent().add(Dependency.withId("test-dep", "com.example", "test", "1.0.0", "runtime")); metadata.getDependencies().getContent().add(group); metadata.validate(); - MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, - VERSION_2_0_0); - io.spring.initializr.generator.buildsystem.Dependency dependency = resolver - .resolveDependency("test-dep"); + MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, VERSION_2_0_0); + io.spring.initializr.generator.buildsystem.Dependency dependency = resolver.resolveDependency("test-dep"); assertThat(dependency.getGroupId()).isEqualTo("com.example"); assertThat(dependency.getArtifactId()).isEqualTo("test"); assertThat(dependency.getVersion()).hasToString("1.0.0"); @@ -64,15 +61,12 @@ class MetadataBuildItemResolverTests { InitializrMetadata metadata = new InitializrMetadata(); DependencyGroup group = DependencyGroup.create("test"); Dependency dependency = Dependency.withId("test-dep", "com.example", "test"); - dependency.getMappings().add(Mapping.create("[1.0.0.RELEASE, 2.0.0.RELEASE)", - null, null, "1.0.0.RELEASE")); - dependency.getMappings().add(Mapping.create("2.0.0.RELEASE", - "com.example.override", "test-override", null)); + dependency.getMappings().add(Mapping.create("[1.0.0.RELEASE, 2.0.0.RELEASE)", null, null, "1.0.0.RELEASE")); + dependency.getMappings().add(Mapping.create("2.0.0.RELEASE", "com.example.override", "test-override", null)); group.getContent().add(dependency); metadata.getDependencies().getContent().add(group); metadata.validate(); - MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, - VERSION_2_0_0); + MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, VERSION_2_0_0); io.spring.initializr.generator.buildsystem.Dependency resolveDependency = resolver .resolveDependency("test-dep"); assertThat(resolveDependency.getGroupId()).isEqualTo("com.example.override"); @@ -85,12 +79,10 @@ class MetadataBuildItemResolverTests { void resoleDependencyWithNotMatchingEntry() { InitializrMetadata metadata = new InitializrMetadata(); DependencyGroup group = DependencyGroup.create("test"); - group.getContent().add( - Dependency.withId("test-dep", "com.example", "test", "1.0.0", "runtime")); + group.getContent().add(Dependency.withId("test-dep", "com.example", "test", "1.0.0", "runtime")); metadata.getDependencies().getContent().add(group); metadata.validate(); - MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, - VERSION_2_0_0); + MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, VERSION_2_0_0); assertThat(resolver.resolveDependency("does-not-exist")).isNull(); } @@ -100,10 +92,8 @@ class MetadataBuildItemResolverTests { BillOfMaterials bom = BillOfMaterials.create("com.example", "bom", "2.0.0"); metadata.getConfiguration().getEnv().getBoms().put("test-bom", bom); metadata.validate(); - MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, - VERSION_2_0_0); - io.spring.initializr.generator.buildsystem.BillOfMaterials resolvedBom = resolver - .resolveBom("test-bom"); + MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, VERSION_2_0_0); + io.spring.initializr.generator.buildsystem.BillOfMaterials resolvedBom = resolver.resolveBom("test-bom"); assertThat(resolvedBom.getGroupId()).isEqualTo("com.example"); assertThat(resolvedBom.getArtifactId()).isEqualTo("bom"); assertThat(resolvedBom.getVersion()).hasToString("2.0.0"); @@ -113,17 +103,14 @@ class MetadataBuildItemResolverTests { void resoleBomWithMatchingEntryAndVersionRange() throws MalformedURLException { InitializrMetadata metadata = new InitializrMetadata(); BillOfMaterials bom = BillOfMaterials.create("com.example", "bom", "0.0.1"); - bom.getMappings().add(BillOfMaterials.Mapping - .create("[1.0.0.RELEASE, 2.0.0.RELEASE)", "1.0.0")); + bom.getMappings().add(BillOfMaterials.Mapping.create("[1.0.0.RELEASE, 2.0.0.RELEASE)", "1.0.0")); bom.getMappings().add(BillOfMaterials.Mapping.create("2.0.0.RELEASE", "1.1.0")); metadata.getConfiguration().getEnv().getBoms().put("test-bom", bom); metadata.getConfiguration().getEnv().getRepositories().put("test-repo", new Repository("test", new URL("https://example.com/repo"), false)); metadata.validate(); - MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, - VERSION_2_0_0); - io.spring.initializr.generator.buildsystem.BillOfMaterials resolvedBom = resolver - .resolveBom("test-bom"); + MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, VERSION_2_0_0); + io.spring.initializr.generator.buildsystem.BillOfMaterials resolvedBom = resolver.resolveBom("test-bom"); assertThat(resolvedBom.getGroupId()).isEqualTo("com.example"); assertThat(resolvedBom.getArtifactId()).isEqualTo("bom"); assertThat(resolvedBom.getVersion()).hasToString("1.1.0"); @@ -135,8 +122,7 @@ class MetadataBuildItemResolverTests { BillOfMaterials bom = BillOfMaterials.create("com.example", "bom", "2.0.0"); metadata.getConfiguration().getEnv().getBoms().put("test-bom", bom); metadata.validate(); - MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, - VERSION_2_0_0); + MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, VERSION_2_0_0); assertThat(resolver.resolveBom("does-not-exost")).isNull(); } @@ -146,8 +132,7 @@ class MetadataBuildItemResolverTests { metadata.getConfiguration().getEnv().getRepositories().put("test-repo", new Repository("test", new URL("https://example.com/repo"), false)); metadata.validate(); - MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, - VERSION_2_0_0); + MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, VERSION_2_0_0); MavenRepository repository = resolver.resolveRepository("test-repo"); assertThat(repository.getId()).isEqualTo("test-repo"); assertThat(repository.getName()).isEqualTo("test"); @@ -161,8 +146,7 @@ class MetadataBuildItemResolverTests { metadata.getConfiguration().getEnv().getRepositories().put("test-repo", new Repository("test", new URL("https://example.com/repo"), false)); metadata.validate(); - MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, - VERSION_2_0_0); + MetadataBuildItemResolver resolver = new MetadataBuildItemResolver(metadata, VERSION_2_0_0); assertThat(resolver.resolveRepository("does-not-exist")).isNull(); } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/CloudfoundryEnvironmentPostProcessor.java b/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/CloudfoundryEnvironmentPostProcessor.java index 2da5cc1e..778b1973 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/CloudfoundryEnvironmentPostProcessor.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/CloudfoundryEnvironmentPostProcessor.java @@ -35,16 +35,14 @@ import org.springframework.util.StringUtils; * * @author Stephane Nicoll */ -public class CloudfoundryEnvironmentPostProcessor - implements EnvironmentPostProcessor, Ordered { +public class CloudfoundryEnvironmentPostProcessor implements EnvironmentPostProcessor, Ordered { private static final String PROPERTY_SOURCE_NAME = "defaultProperties"; private static final int ORDER = ConfigFileApplicationListener.DEFAULT_ORDER + 1; @Override - public void postProcessEnvironment(ConfigurableEnvironment environment, - SpringApplication springApplication) { + public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication springApplication) { Map map = new LinkedHashMap<>(); String uri = environment.getProperty("vcap.services.stats-index.credentials.uri"); @@ -59,8 +57,7 @@ public class CloudfoundryEnvironmentPostProcessor return ORDER; } - private static void addOrReplace(MutablePropertySources propertySources, - Map map) { + private static void addOrReplace(MutablePropertySources propertySources, Map map) { MapPropertySource target = null; if (propertySources.contains(PROPERTY_SOURCE_NAME)) { PropertySource source = propertySources.get(PROPERTY_SOURCE_NAME); diff --git a/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfiguration.java b/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfiguration.java index 48f1a9b3..a79abbd4 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfiguration.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfiguration.java @@ -70,8 +70,7 @@ import org.springframework.core.env.Environment; */ @Configuration @EnableConfigurationProperties(InitializrProperties.class) -@AutoConfigureAfter({ JacksonAutoConfiguration.class, - RestTemplateAutoConfiguration.class }) +@AutoConfigureAfter({ JacksonAutoConfiguration.class, RestTemplateAutoConfiguration.class }) public class InitializrAutoConfiguration { @Bean @@ -97,8 +96,7 @@ public class InitializrAutoConfiguration { private Cache determineCache(Environment environment, CacheManager cacheManager) { if (cacheManager != null) { Binder binder = Binder.get(environment); - boolean cache = binder.bind("spring.mustache.cache", Boolean.class) - .orElse(true); + boolean cache = binder.bind("spring.mustache.cache", Boolean.class).orElse(true); if (cache) { return cacheManager.getCache("initializr.templates"); } @@ -108,21 +106,17 @@ public class InitializrAutoConfiguration { @Bean @ConditionalOnMissingBean - public InitializrMetadataUpdateStrategy initializrMetadataUpdateStrategy( - RestTemplateBuilder restTemplateBuilder, ObjectMapper objectMapper) { - return new DefaultInitializrMetadataUpdateStrategy(restTemplateBuilder.build(), - objectMapper); + public InitializrMetadataUpdateStrategy initializrMetadataUpdateStrategy(RestTemplateBuilder restTemplateBuilder, + ObjectMapper objectMapper) { + return new DefaultInitializrMetadataUpdateStrategy(restTemplateBuilder.build(), objectMapper); } @Bean @ConditionalOnMissingBean(InitializrMetadataProvider.class) - public InitializrMetadataProvider initializrMetadataProvider( - InitializrProperties properties, + public InitializrMetadataProvider initializrMetadataProvider(InitializrProperties properties, InitializrMetadataUpdateStrategy initializrMetadataUpdateStrategy) { - InitializrMetadata metadata = InitializrMetadataBuilder - .fromInitializrProperties(properties).build(); - return new DefaultInitializrMetadataProvider(metadata, - initializrMetadataUpdateStrategy); + InitializrMetadata metadata = InitializrMetadataBuilder.fromInitializrProperties(properties).build(); + return new DefaultInitializrMetadataProvider(metadata, initializrMetadataUpdateStrategy); } @Bean @@ -145,19 +139,16 @@ public class InitializrAutoConfiguration { @Bean @ConditionalOnMissingBean - public MainController initializrMainController( - InitializrMetadataProvider metadataProvider, - TemplateRenderer templateRenderer, - DependencyMetadataProvider dependencyMetadataProvider, + public MainController initializrMainController(InitializrMetadataProvider metadataProvider, + TemplateRenderer templateRenderer, DependencyMetadataProvider dependencyMetadataProvider, ProjectGenerationInvoker projectGenerationInvoker) { - return new MainController(metadataProvider, templateRenderer, - dependencyMetadataProvider, projectGenerationInvoker); + return new MainController(metadataProvider, templateRenderer, dependencyMetadataProvider, + projectGenerationInvoker); } @Bean @ConditionalOnMissingBean - public ProjectGenerationInvoker projectGenerationInvoker( - ApplicationContext applicationContext, + public ProjectGenerationInvoker projectGenerationInvoker(ApplicationContext applicationContext, ApplicationEventPublisher eventPublisher, ProjectRequestToDescriptionConverter projectRequestToDescriptionConverter) { return new ProjectGenerationInvoker(applicationContext, eventPublisher, @@ -187,8 +178,7 @@ public class InitializrAutoConfiguration { public JCacheManagerCustomizer initializrCacheManagerCustomizer() { return (cacheManager) -> { cacheManager.createCache("initializr.metadata", - config().setExpiryPolicyFactory( - CreatedExpiryPolicy.factoryOf(Duration.TEN_MINUTES))); + config().setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(Duration.TEN_MINUTES))); cacheManager.createCache("initializr.dependency-metadata", config()); cacheManager.createCache("initializr.project-resources", config()); cacheManager.createCache("initializr.templates", config()); @@ -196,8 +186,8 @@ public class InitializrAutoConfiguration { } private MutableConfiguration config() { - return new MutableConfiguration<>().setStoreByValue(false) - .setManagementEnabled(true).setStatisticsEnabled(true); + return new MutableConfiguration<>().setStoreByValue(false).setManagementEnabled(true) + .setStatisticsEnabled(true); } } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrModule.java b/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrModule.java index b6027148..5c27d365 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrModule.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrModule.java @@ -36,16 +36,15 @@ class InitializrModule extends SimpleModule { addSerializer(new VersionPropertySerializer()); } - private static class VersionPropertySerializer - extends StdSerializer { + private static class VersionPropertySerializer extends StdSerializer { VersionPropertySerializer() { super(VersionProperty.class); } @Override - public void serialize(VersionProperty value, JsonGenerator gen, - SerializerProvider provider) throws IOException { + public void serialize(VersionProperty value, JsonGenerator gen, SerializerProvider provider) + throws IOException { gen.writeString(value.toStandardFormat()); } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrWebConfig.java b/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrWebConfig.java index d4a126ee..5de2b88a 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrWebConfig.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrWebConfig.java @@ -49,24 +49,21 @@ public class InitializrWebConfig implements WebMvcConfigurer { @Override public void configureContentNegotiation(ContentNegotiationConfigurer configurer) { - configurer - .defaultContentTypeStrategy(new CommandLineContentNegotiationStrategy()); + configurer.defaultContentTypeStrategy(new CommandLineContentNegotiationStrategy()); } /** * A command-line aware {@link ContentNegotiationStrategy} that forces the media type * to "text/plain" for compatible agents. */ - private static class CommandLineContentNegotiationStrategy - implements ContentNegotiationStrategy { + private static class CommandLineContentNegotiationStrategy implements ContentNegotiationStrategy { private final UrlPathHelper urlPathHelper = new UrlPathHelper(); @Override - public List resolveMediaTypes(NativeWebRequest request) - throws HttpMediaTypeNotAcceptableException { - String path = this.urlPathHelper.getPathWithinApplication( - request.getNativeRequest(HttpServletRequest.class)); + public List resolveMediaTypes(NativeWebRequest request) throws HttpMediaTypeNotAcceptableException { + String path = this.urlPathHelper + .getPathWithinApplication(request.getNativeRequest(HttpServletRequest.class)); if (!StringUtils.hasText(path) || !path.equals("/")) { // Only care about "/" return MEDIA_TYPE_ALL_LIST; } @@ -74,8 +71,7 @@ public class InitializrWebConfig implements WebMvcConfigurer { if (userAgent != null) { Agent agent = Agent.fromUserAgent(userAgent); if (agent != null) { - if (AgentId.CURL.equals(agent.getId()) - || AgentId.HTTPIE.equals(agent.getId())) { + if (AgentId.CURL.equals(agent.getId()) || AgentId.HTTPIE.equals(agent.getId())) { return Collections.singletonList(MediaType.TEXT_PLAIN); } } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataV21JsonMapper.java b/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataV21JsonMapper.java index 3bfd4341..b1d125ad 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataV21JsonMapper.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataV21JsonMapper.java @@ -41,16 +41,12 @@ public class DependencyMetadataV21JsonMapper implements DependencyMetadataJsonMa public String write(DependencyMetadata metadata) { ObjectNode json = nodeFactory.objectNode(); json.put("bootVersion", metadata.getBootVersion().toString()); - json.set("dependencies", - mapNode(metadata.getDependencies().entrySet().stream() - .collect(Collectors.toMap(Map.Entry::getKey, - (entry) -> mapDependency(entry.getValue()))))); - json.set("repositories", - mapNode(metadata.getRepositories().entrySet().stream() - .collect(Collectors.toMap(Map.Entry::getKey, - (entry) -> mapRepository(entry.getValue()))))); - json.set("boms", mapNode(metadata.getBoms().entrySet().stream().collect(Collectors - .toMap(Map.Entry::getKey, (entry) -> mapBom(entry.getValue()))))); + json.set("dependencies", mapNode(metadata.getDependencies().entrySet().stream() + .collect(Collectors.toMap(Map.Entry::getKey, (entry) -> mapDependency(entry.getValue()))))); + json.set("repositories", mapNode(metadata.getRepositories().entrySet().stream() + .collect(Collectors.toMap(Map.Entry::getKey, (entry) -> mapRepository(entry.getValue()))))); + json.set("boms", mapNode(metadata.getBoms().entrySet().stream() + .collect(Collectors.toMap(Map.Entry::getKey, (entry) -> mapBom(entry.getValue()))))); return json.toString(); } @@ -73,8 +69,7 @@ public class DependencyMetadataV21JsonMapper implements DependencyMetadataJsonMa private static JsonNode mapRepository(Repository repo) { ObjectNode node = nodeFactory.objectNode(); - node.put("name", repo.getName()) - .put("url", (repo.getUrl() != null) ? repo.getUrl().toString() : null) + node.put("name", repo.getName()).put("url", (repo.getUrl() != null) ? repo.getUrl().toString() : null) .put("snapshotEnabled", repo.isSnapshotsEnabled()); return node; } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV21JsonMapper.java b/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV21JsonMapper.java index cac009ed..2cd77889 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV21JsonMapper.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV21JsonMapper.java @@ -40,8 +40,8 @@ public class InitializrMetadataV21JsonMapper extends InitializrMetadataV2JsonMap private final TemplateVariables dependenciesVariables; public InitializrMetadataV21JsonMapper() { - this.dependenciesVariables = new TemplateVariables(new TemplateVariable( - "bootVersion", TemplateVariable.VariableType.REQUEST_PARAM)); + this.dependenciesVariables = new TemplateVariables( + new TemplateVariable("bootVersion", TemplateVariable.VariableType.REQUEST_PARAM)); } @Override diff --git a/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV2JsonMapper.java b/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV2JsonMapper.java index 45f7706a..cedd44c1 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV2JsonMapper.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV2JsonMapper.java @@ -53,27 +53,17 @@ public class InitializrMetadataV2JsonMapper implements InitializrMetadataJsonMap public InitializrMetadataV2JsonMapper() { this.templateVariables = new TemplateVariables( - new TemplateVariable("dependencies", - TemplateVariable.VariableType.REQUEST_PARAM), - new TemplateVariable("packaging", - TemplateVariable.VariableType.REQUEST_PARAM), - new TemplateVariable("javaVersion", - TemplateVariable.VariableType.REQUEST_PARAM), - new TemplateVariable("language", - TemplateVariable.VariableType.REQUEST_PARAM), - new TemplateVariable("bootVersion", - TemplateVariable.VariableType.REQUEST_PARAM), - new TemplateVariable("groupId", - TemplateVariable.VariableType.REQUEST_PARAM), - new TemplateVariable("artifactId", - TemplateVariable.VariableType.REQUEST_PARAM), - new TemplateVariable("version", - TemplateVariable.VariableType.REQUEST_PARAM), + new TemplateVariable("dependencies", TemplateVariable.VariableType.REQUEST_PARAM), + new TemplateVariable("packaging", TemplateVariable.VariableType.REQUEST_PARAM), + new TemplateVariable("javaVersion", TemplateVariable.VariableType.REQUEST_PARAM), + new TemplateVariable("language", TemplateVariable.VariableType.REQUEST_PARAM), + new TemplateVariable("bootVersion", TemplateVariable.VariableType.REQUEST_PARAM), + new TemplateVariable("groupId", TemplateVariable.VariableType.REQUEST_PARAM), + new TemplateVariable("artifactId", TemplateVariable.VariableType.REQUEST_PARAM), + new TemplateVariable("version", TemplateVariable.VariableType.REQUEST_PARAM), new TemplateVariable("name", TemplateVariable.VariableType.REQUEST_PARAM), - new TemplateVariable("description", - TemplateVariable.VariableType.REQUEST_PARAM), - new TemplateVariable("packageName", - TemplateVariable.VariableType.REQUEST_PARAM)); + new TemplateVariable("description", TemplateVariable.VariableType.REQUEST_PARAM), + new TemplateVariable("packageName", TemplateVariable.VariableType.REQUEST_PARAM)); } protected JsonNodeFactory nodeFactory() { @@ -124,8 +114,7 @@ public class InitializrMetadataV2JsonMapper implements InitializrMetadataJsonMap ObjectNode dependencies = nodeFactory.objectNode(); dependencies.put("type", capability.getType().getName()); ArrayNode values = nodeFactory.arrayNode(); - values.addAll(capability.getContent().stream().map(this::mapDependencyGroup) - .collect(Collectors.toList())); + values.addAll(capability.getContent().stream().map(this::mapDependencyGroup).collect(Collectors.toList())); dependencies.set("values", values); parent.set(capability.getId(), dependencies); } @@ -138,8 +127,7 @@ public class InitializrMetadataV2JsonMapper implements InitializrMetadataJsonMap type.put("default", defaultType.getId()); } ArrayNode values = nodeFactory.arrayNode(); - values.addAll(capability.getContent().stream().map(this::mapType) - .collect(Collectors.toList())); + values.addAll(capability.getContent().stream().map(this::mapType).collect(Collectors.toList())); type.set("values", values); parent.set("type", type); } @@ -152,8 +140,7 @@ public class InitializrMetadataV2JsonMapper implements InitializrMetadataJsonMap single.put("default", defaultType.getId()); } ArrayNode values = nodeFactory.arrayNode(); - values.addAll(capability.getContent().stream().map(this::mapValue) - .collect(Collectors.toList())); + values.addAll(capability.getContent().stream().map(this::mapValue).collect(Collectors.toList())); single.set("values", values); parent.set(capability.getId(), single); } @@ -171,8 +158,7 @@ public class InitializrMetadataV2JsonMapper implements InitializrMetadataJsonMap protected ObjectNode mapDependencyGroup(DependencyGroup group) { ObjectNode result = nodeFactory.objectNode(); result.put("name", group.getName()); - if ((group instanceof Describable) - && ((Describable) group).getDescription() != null) { + if ((group instanceof Describable) && ((Describable) group).getDescription() != null) { result.put("description", ((Describable) group).getDescription()); } ArrayNode items = nodeFactory.arrayNode(); @@ -207,8 +193,7 @@ public class InitializrMetadataV2JsonMapper implements InitializrMetadataJsonMap ObjectNode result = nodeFactory.objectNode(); result.put("id", value.getId()); result.put("name", value.getName()); - if ((value instanceof Describable) - && ((Describable) value).getDescription() != null) { + if ((value instanceof Describable) && ((Describable) value).getDescription() != null) { result.put("description", ((Describable) value).getDescription()); } return result; diff --git a/initializr-web/src/main/java/io/spring/initializr/web/mapper/LinkMapper.java b/initializr-web/src/main/java/io/spring/initializr/web/mapper/LinkMapper.java index 1cc6eb28..cde90a79 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/mapper/LinkMapper.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/mapper/LinkMapper.java @@ -47,8 +47,7 @@ public final class LinkMapper { public static ObjectNode mapLinks(List links) { ObjectNode result = nodeFactory.objectNode(); Map> byRel = new LinkedHashMap<>(); - links.forEach((it) -> byRel.computeIfAbsent(it.getRel(), (k) -> new ArrayList<>()) - .add(it)); + links.forEach((it) -> byRel.computeIfAbsent(it.getRel(), (k) -> new ArrayList<>()).add(it)); byRel.forEach((rel, l) -> { if (l.size() == 1) { ObjectNode root = JsonNodeFactory.instance.objectNode(); diff --git a/initializr-web/src/main/java/io/spring/initializr/web/project/AbstractInitializrController.java b/initializr-web/src/main/java/io/spring/initializr/web/project/AbstractInitializrController.java index 2ea87fcf..04453e9e 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/project/AbstractInitializrController.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/project/AbstractInitializrController.java @@ -43,16 +43,15 @@ public abstract class AbstractInitializrController { public boolean isForceSsl() { if (this.forceSsl == null) { - this.forceSsl = this.metadataProvider.get().getConfiguration().getEnv() - .isForceSsl(); + this.forceSsl = this.metadataProvider.get().getConfiguration().getEnv().isForceSsl(); } return this.forceSsl; } @ExceptionHandler - public void invalidProjectRequest(HttpServletResponse response, - InvalidProjectRequestException ex) throws IOException { + public void invalidProjectRequest(HttpServletResponse response, InvalidProjectRequestException ex) + throws IOException { response.sendError(HttpStatus.BAD_REQUEST.value(), ex.getMessage()); } @@ -62,8 +61,7 @@ public abstract class AbstractInitializrController { * @see io.spring.initializr.metadata.InitializrConfiguration.Env#isForceSsl() */ protected String generateAppUrl() { - ServletUriComponentsBuilder builder = ServletUriComponentsBuilder - .fromCurrentServletMapping(); + ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromCurrentServletMapping(); if (isForceSsl()) { builder.scheme("https"); } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/project/MainController.java b/initializr-web/src/main/java/io/spring/initializr/web/project/MainController.java index b398f5c6..eea56500 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/project/MainController.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/project/MainController.java @@ -80,8 +80,7 @@ public class MainController extends AbstractInitializrController { /** * HAL JSON content type. */ - public static final MediaType HAL_JSON_CONTENT_TYPE = MediaType - .parseMediaType("application/hal+json"); + public static final MediaType HAL_JSON_CONTENT_TYPE = MediaType.parseMediaType("application/hal+json"); private final DependencyMetadataProvider dependencyMetadataProvider; @@ -89,10 +88,8 @@ public class MainController extends AbstractInitializrController { private final ProjectGenerationInvoker projectGenerationInvoker; - public MainController(InitializrMetadataProvider metadataProvider, - TemplateRenderer templateRenderer, - DependencyMetadataProvider dependencyMetadataProvider, - ProjectGenerationInvoker projectGenerationInvoker) { + public MainController(InitializrMetadataProvider metadataProvider, TemplateRenderer templateRenderer, + DependencyMetadataProvider dependencyMetadataProvider, ProjectGenerationInvoker projectGenerationInvoker) { super(metadataProvider); this.dependencyMetadataProvider = dependencyMetadataProvider; this.commandLineHelpGenerator = new CommandLineHelpGenerator(templateRenderer); @@ -115,9 +112,7 @@ public class MainController extends AbstractInitializrController { @RequestMapping(path = "/", produces = "text/plain") public ResponseEntity serviceCapabilitiesText( - @RequestHeader(value = HttpHeaders.USER_AGENT, - required = false) String userAgent) - throws IOException { + @RequestHeader(value = HttpHeaders.USER_AGENT, required = false) String userAgent) throws IOException { String appUrl = generateAppUrl(); InitializrMetadata metadata = this.metadataProvider.get(); @@ -126,31 +121,26 @@ public class MainController extends AbstractInitializrController { Agent agent = Agent.fromUserAgent(userAgent); if (agent != null) { if (AgentId.CURL.equals(agent.getId())) { - String content = this.commandLineHelpGenerator - .generateCurlCapabilities(metadata, appUrl); + String content = this.commandLineHelpGenerator.generateCurlCapabilities(metadata, appUrl); return builder.eTag(createUniqueId(content)).body(content); } if (AgentId.HTTPIE.equals(agent.getId())) { - String content = this.commandLineHelpGenerator - .generateHttpieCapabilities(metadata, appUrl); + String content = this.commandLineHelpGenerator.generateHttpieCapabilities(metadata, appUrl); return builder.eTag(createUniqueId(content)).body(content); } if (AgentId.SPRING_BOOT_CLI.equals(agent.getId())) { - String content = this.commandLineHelpGenerator - .generateSpringBootCliCapabilities(metadata, appUrl); + String content = this.commandLineHelpGenerator.generateSpringBootCliCapabilities(metadata, appUrl); return builder.eTag(createUniqueId(content)).body(content); } } } - String content = this.commandLineHelpGenerator - .generateGenericCapabilities(metadata, appUrl); + String content = this.commandLineHelpGenerator.generateGenericCapabilities(metadata, appUrl); return builder.eTag(createUniqueId(content)).body(content); } @RequestMapping(path = { "/", "/metadata/client" }, produces = "application/hal+json") public ResponseEntity serviceCapabilitiesHal() { - return serviceCapabilitiesFor(InitializrMetadataVersion.V2_1, - HAL_JSON_CONTENT_TYPE); + return serviceCapabilitiesFor(InitializrMetadataVersion.V2_1, HAL_JSON_CONTENT_TYPE); } @RequestMapping(path = { "/", "/metadata/client" }, @@ -159,29 +149,23 @@ public class MainController extends AbstractInitializrController { return serviceCapabilitiesFor(InitializrMetadataVersion.V2_1); } - @RequestMapping(path = { "/", "/metadata/client" }, - produces = "application/vnd.initializr.v2+json") + @RequestMapping(path = { "/", "/metadata/client" }, produces = "application/vnd.initializr.v2+json") public ResponseEntity serviceCapabilitiesV2() { return serviceCapabilitiesFor(InitializrMetadataVersion.V2); } - private ResponseEntity serviceCapabilitiesFor( - InitializrMetadataVersion version) { + private ResponseEntity serviceCapabilitiesFor(InitializrMetadataVersion version) { return serviceCapabilitiesFor(version, version.getMediaType()); } - private ResponseEntity serviceCapabilitiesFor( - InitializrMetadataVersion version, MediaType contentType) { + private ResponseEntity serviceCapabilitiesFor(InitializrMetadataVersion version, MediaType contentType) { String appUrl = generateAppUrl(); - String content = getJsonMapper(version).write(this.metadataProvider.get(), - appUrl); - return ResponseEntity.ok().contentType(contentType).eTag(createUniqueId(content)) - .varyBy("Accept").cacheControl(CacheControl.maxAge(7, TimeUnit.DAYS)) - .body(content); + String content = getJsonMapper(version).write(this.metadataProvider.get(), appUrl); + return ResponseEntity.ok().contentType(contentType).eTag(createUniqueId(content)).varyBy("Accept") + .cacheControl(CacheControl.maxAge(7, TimeUnit.DAYS)).body(content); } - private static InitializrMetadataJsonMapper getJsonMapper( - InitializrMetadataVersion version) { + private static InitializrMetadataJsonMapper getJsonMapper(InitializrMetadataVersion version) { switch (version) { case V2: return new InitializrMetadataV2JsonMapper(); @@ -190,23 +174,18 @@ public class MainController extends AbstractInitializrController { } } - @RequestMapping(path = "/dependencies", - produces = { "application/vnd.initializr.v2.1+json", "application/json" }) - public ResponseEntity dependenciesV21( - @RequestParam(required = false) String bootVersion) { + @RequestMapping(path = "/dependencies", produces = { "application/vnd.initializr.v2.1+json", "application/json" }) + public ResponseEntity dependenciesV21(@RequestParam(required = false) String bootVersion) { return dependenciesFor(InitializrMetadataVersion.V2_1, bootVersion); } - private ResponseEntity dependenciesFor(InitializrMetadataVersion version, - String bootVersion) { + private ResponseEntity dependenciesFor(InitializrMetadataVersion version, String bootVersion) { InitializrMetadata metadata = this.metadataProvider.get(); Version v = (bootVersion != null) ? Version.parse(bootVersion) : Version.parse(metadata.getBootVersions().getDefault().getId()); - DependencyMetadata dependencyMetadata = this.dependencyMetadataProvider - .get(metadata, v); + DependencyMetadata dependencyMetadata = this.dependencyMetadataProvider.get(metadata, v); String content = new DependencyMetadataV21JsonMapper().write(dependencyMetadata); - return ResponseEntity.ok().contentType(version.getMediaType()) - .eTag(createUniqueId(content)) + return ResponseEntity.ok().contentType(version.getMediaType()).eTag(createUniqueId(content)) .cacheControl(CacheControl.maxAge(7, TimeUnit.DAYS)).body(content); } @@ -235,15 +214,13 @@ public class MainController extends AbstractInitializrController { public ResponseEntity gradle(ProjectRequest request) { request.setType("gradle-build"); byte[] gradleBuild = this.projectGenerationInvoker.invokeBuildGeneration(request); - return createResponseEntity(gradleBuild, "application/octet-stream", - "build.gradle"); + return createResponseEntity(gradleBuild, "application/octet-stream", "build.gradle"); } @RequestMapping("/starter.zip") @ResponseBody public ResponseEntity springZip(ProjectRequest request) throws IOException { - ProjectGenerationResult result = this.projectGenerationInvoker - .invokeProjectStructureGeneration(request); + ProjectGenerationResult result = this.projectGenerationInvoker.invokeProjectStructureGeneration(request); File dir = result.getRootDirectory().toFile(); File download = this.projectGenerationInvoker.createDistributionFile(dir, ".zip"); String wrapperScript = getWrapperScript(result.getProjectDescription()); @@ -270,11 +247,9 @@ public class MainController extends AbstractInitializrController { @RequestMapping(path = "/starter.tgz", produces = "application/x-compress") @ResponseBody public ResponseEntity springTgz(ProjectRequest request) throws IOException { - ProjectGenerationResult result = this.projectGenerationInvoker - .invokeProjectStructureGeneration(request); + ProjectGenerationResult result = this.projectGenerationInvoker.invokeProjectStructureGeneration(request); File dir = result.getRootDirectory().toFile(); - File download = this.projectGenerationInvoker.createDistributionFile(dir, - ".tar.gz"); + File download = this.projectGenerationInvoker.createDistributionFile(dir, ".tar.gz"); String wrapperScript = getWrapperScript(result.getProjectDescription()); Tar zip = new Tar(); zip.setProject(new Project()); @@ -294,13 +269,11 @@ public class MainController extends AbstractInitializrController { method.setValue("gzip"); zip.setCompression(method); zip.execute(); - return upload(download, dir, generateFileName(request, "tar.gz"), - "application/x-compress"); + return upload(download, dir, generateFileName(request, "tar.gz"), "application/x-compress"); } private String generateFileName(ProjectRequest request, String extension) { - String candidate = (StringUtils.hasText(request.getArtifactId()) - ? request.getArtifactId() + String candidate = (StringUtils.hasText(request.getArtifactId()) ? request.getArtifactId() : this.metadataProvider.get().getArtifactId().getContent()); String tmp = candidate.replaceAll(" ", "_"); try { @@ -314,22 +287,19 @@ public class MainController extends AbstractInitializrController { private static String getWrapperScript(ResolvedProjectDescription description) { BuildSystem buildSystem = description.getBuildSystem(); String script = buildSystem.id().equals(MavenBuildSystem.ID) ? "mvnw" : "gradlew"; - return (description.getBaseDirectory() != null) - ? description.getBaseDirectory() + "/" + script : script; + return (description.getBaseDirectory() != null) ? description.getBaseDirectory() + "/" + script : script; } - private ResponseEntity upload(File download, File dir, String fileName, - String contentType) throws IOException { + private ResponseEntity upload(File download, File dir, String fileName, String contentType) + throws IOException { byte[] bytes = StreamUtils.copyToByteArray(new FileInputStream(download)); logger.info(String.format("Uploading: %s (%s bytes)", download, bytes.length)); - ResponseEntity result = createResponseEntity(bytes, contentType, - fileName); + ResponseEntity result = createResponseEntity(bytes, contentType, fileName); this.projectGenerationInvoker.cleanTempFiles(dir); return result; } - private ResponseEntity createResponseEntity(byte[] content, - String contentType, String fileName) { + private ResponseEntity createResponseEntity(byte[] content, String contentType, String fileName) { String contentDispositionValue = "attachment; filename=\"" + fileName + "\""; return ResponseEntity.ok().header("Content-Type", contentType) .header("Content-Disposition", contentDispositionValue).body(content); @@ -337,8 +307,7 @@ public class MainController extends AbstractInitializrController { private String createUniqueId(String content) { StringBuilder builder = new StringBuilder(); - DigestUtils.appendMd5DigestAsHex(content.getBytes(StandardCharsets.UTF_8), - builder); + DigestUtils.appendMd5DigestAsHex(content.getBytes(StandardCharsets.UTF_8), builder); return builder.toString(); } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectFailedEvent.java b/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectFailedEvent.java index b0c68cb5..5f5c18e7 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectFailedEvent.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectFailedEvent.java @@ -27,8 +27,7 @@ public class ProjectFailedEvent extends ProjectRequestEvent { private final Exception cause; - public ProjectFailedEvent(ProjectRequest request, InitializrMetadata metadata, - Exception cause) { + public ProjectFailedEvent(ProjectRequest request, InitializrMetadata metadata, Exception cause) { super(request, metadata); this.cause = cause; } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectGenerationInvoker.java b/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectGenerationInvoker.java index da9918e0..dac1c5dd 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectGenerationInvoker.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectGenerationInvoker.java @@ -60,8 +60,7 @@ public class ProjectGenerationInvoker { private transient Map> temporaryFiles = new LinkedHashMap<>(); public ProjectGenerationInvoker(ApplicationContext parentApplicationContext, - ApplicationEventPublisher eventPublisher, - ProjectRequestToDescriptionConverter converter) { + ApplicationEventPublisher eventPublisher, ProjectRequestToDescriptionConverter converter) { this.parentApplicationContext = parentApplicationContext; this.eventPublisher = eventPublisher; this.converter = converter; @@ -73,18 +72,13 @@ public class ProjectGenerationInvoker { * @param request the project request * @return the {@link ProjectGenerationResult} */ - public ProjectGenerationResult invokeProjectStructureGeneration( - ProjectRequest request) { - InitializrMetadata metadata = this.parentApplicationContext - .getBean(InitializrMetadataProvider.class).get(); + public ProjectGenerationResult invokeProjectStructureGeneration(ProjectRequest request) { + InitializrMetadata metadata = this.parentApplicationContext.getBean(InitializrMetadataProvider.class).get(); try { - ProjectDescription projectDescription = this.converter.convert(request, - metadata); - ProjectGenerator projectGenerator = new ProjectGenerator( - (projectGenerationContext) -> customizeProjectGenerationContext( - projectGenerationContext, metadata)); - ProjectGenerationResult result = projectGenerator.generate(projectDescription, - generateProject(request)); + ProjectDescription projectDescription = this.converter.convert(request, metadata); + ProjectGenerator projectGenerator = new ProjectGenerator(( + projectGenerationContext) -> customizeProjectGenerationContext(projectGenerationContext, metadata)); + ProjectGenerationResult result = projectGenerator.generate(projectDescription, generateProject(request)); File file = result.getRootDirectory().toFile(); String name = file.getName(); addTempFile(name, file); @@ -96,13 +90,11 @@ public class ProjectGenerationInvoker { } } - private ProjectAssetGenerator generateProject( - ProjectRequest request) { + private ProjectAssetGenerator generateProject(ProjectRequest request) { return (context) -> { Path projectDir = new DefaultProjectAssetGenerator().generate(context); publishProjectGeneratedEvent(request, context); - return new ProjectGenerationResult( - context.getBean(ResolvedProjectDescription.class), projectDir); + return new ProjectGenerationResult(context.getBean(ResolvedProjectDescription.class), projectDir); }; } @@ -114,14 +106,11 @@ public class ProjectGenerationInvoker { * @return the generated build content */ public byte[] invokeBuildGeneration(ProjectRequest request) { - InitializrMetadata metadata = this.parentApplicationContext - .getBean(InitializrMetadataProvider.class).get(); + InitializrMetadata metadata = this.parentApplicationContext.getBean(InitializrMetadataProvider.class).get(); try { - ProjectDescription projectDescription = this.converter.convert(request, - metadata); - ProjectGenerator projectGenerator = new ProjectGenerator( - (projectGenerationContext) -> customizeProjectGenerationContext( - projectGenerationContext, metadata)); + ProjectDescription projectDescription = this.converter.convert(request, metadata); + ProjectGenerator projectGenerator = new ProjectGenerator(( + projectGenerationContext) -> customizeProjectGenerationContext(projectGenerationContext, metadata)); return projectGenerator.generate(projectDescription, generateBuild(request)); } catch (ProjectGenerationException ex) { @@ -175,39 +164,34 @@ public class ProjectGenerationInvoker { } private byte[] generateBuild(ProjectGenerationContext context) throws IOException { - ResolvedProjectDescription projectDescription = context - .getBean(ResolvedProjectDescription.class); + ResolvedProjectDescription projectDescription = context.getBean(ResolvedProjectDescription.class); StringWriter out = new StringWriter(); - BuildWriter buildWriter = context.getBeanProvider(BuildWriter.class) - .getIfAvailable(); + BuildWriter buildWriter = context.getBeanProvider(BuildWriter.class).getIfAvailable(); if (buildWriter != null) { buildWriter.writeBuild(out); return out.toString().getBytes(); } else { - throw new IllegalStateException("No BuildWriter implementation found for " - + projectDescription.getLanguage()); + throw new IllegalStateException( + "No BuildWriter implementation found for " + projectDescription.getLanguage()); } } - private void customizeProjectGenerationContext( - AnnotationConfigApplicationContext context, InitializrMetadata metadata) { + private void customizeProjectGenerationContext(AnnotationConfigApplicationContext context, + InitializrMetadata metadata) { context.setParent(this.parentApplicationContext); context.registerBean(InitializrMetadata.class, () -> metadata); - context.registerBean(BuildItemResolver.class, () -> new MetadataBuildItemResolver( - metadata, + context.registerBean(BuildItemResolver.class, () -> new MetadataBuildItemResolver(metadata, context.getBean(ResolvedProjectDescription.class).getPlatformVersion())); } - private void publishProjectGeneratedEvent(ProjectRequest request, - ProjectGenerationContext context) { + private void publishProjectGeneratedEvent(ProjectRequest request, ProjectGenerationContext context) { InitializrMetadata metadata = context.getBean(InitializrMetadata.class); ProjectGeneratedEvent event = new ProjectGeneratedEvent(request, metadata); this.eventPublisher.publishEvent(event); } - private void publishProjectFailedEvent(ProjectRequest request, - InitializrMetadata metadata, Exception cause) { + private void publishProjectFailedEvent(ProjectRequest request, InitializrMetadata metadata, Exception cause) { ProjectFailedEvent event = new ProjectFailedEvent(request, metadata, cause); this.eventPublisher.publishEvent(event); } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectGenerationResult.java b/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectGenerationResult.java index 41eccb6f..8e8f3209 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectGenerationResult.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectGenerationResult.java @@ -31,8 +31,7 @@ public class ProjectGenerationResult { private final Path rootDirectory; - ProjectGenerationResult(ResolvedProjectDescription projectDescription, - Path rootDirectory) { + ProjectGenerationResult(ResolvedProjectDescription projectDescription, Path rootDirectory) { this.projectDescription = projectDescription; this.rootDirectory = rootDirectory; } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectRequestToDescriptionConverter.java b/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectRequestToDescriptionConverter.java index be8f43d5..2a044313 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectRequestToDescriptionConverter.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectRequestToDescriptionConverter.java @@ -42,35 +42,27 @@ public class ProjectRequestToDescriptionConverter { private static final Version VERSION_1_5_0 = Version.parse("1.5.0.RELEASE"); - public ProjectDescription convert(ProjectRequest request, - InitializrMetadata metadata) { + public ProjectDescription convert(ProjectRequest request, InitializrMetadata metadata) { validate(request, metadata); String springBootVersion = getSpringBootVersion(request, metadata); - List resolvedDependencies = getResolvedDependencies(request, - springBootVersion, metadata); + List resolvedDependencies = getResolvedDependencies(request, springBootVersion, metadata); validateDependencyRange(springBootVersion, resolvedDependencies); ProjectDescription description = new ProjectDescription(); description.setApplicationName(getApplicationName(request, metadata)); - description.setArtifactId(determineValue(request.getArtifactId(), - () -> metadata.getArtifactId().getContent())); + description.setArtifactId(determineValue(request.getArtifactId(), () -> metadata.getArtifactId().getContent())); description.setBaseDirectory(request.getBaseDir()); description.setBuildSystem(getBuildSystem(request, metadata)); - description.setDescription(determineValue(request.getDescription(), - () -> metadata.getDescription().getContent())); - description.setGroupId(determineValue(request.getGroupId(), - () -> metadata.getGroupId().getContent())); - description.setLanguage( - Language.forId(request.getLanguage(), request.getJavaVersion())); - description.setName( - determineValue(request.getName(), () -> metadata.getName().getContent())); + description + .setDescription(determineValue(request.getDescription(), () -> metadata.getDescription().getContent())); + description.setGroupId(determineValue(request.getGroupId(), () -> metadata.getGroupId().getContent())); + description.setLanguage(Language.forId(request.getLanguage(), request.getJavaVersion())); + description.setName(determineValue(request.getName(), () -> metadata.getName().getContent())); description.setPackageName(getPackageName(request, metadata)); description.setPackaging(Packaging.forId(request.getPackaging())); description.setPlatformVersion(Version.parse(springBootVersion)); - description.setVersion(determineValue(request.getVersion(), - () -> metadata.getVersion().getContent())); - resolvedDependencies - .forEach((dependency) -> description.addDependency(dependency.getId(), - MetadataBuildItemMapper.toDependency(dependency))); + description.setVersion(determineValue(request.getVersion(), () -> metadata.getVersion().getContent())); + resolvedDependencies.forEach((dependency) -> description.addDependency(dependency.getId(), + MetadataBuildItemMapper.toDependency(dependency))); return description; } @@ -89,8 +81,8 @@ public class ProjectRequestToDescriptionConverter { private void validateSpringBootVersion(ProjectRequest request) { Version bootVersion = Version.safeParse(request.getBootVersion()); if (bootVersion != null && bootVersion.compareTo(VERSION_1_5_0) < 0) { - throw new InvalidProjectRequestException("Invalid Spring Boot version " - + bootVersion + " must be 1.5.0 or higher"); + throw new InvalidProjectRequestException( + "Invalid Spring Boot version " + bootVersion + " must be 1.5.0 or higher"); } } @@ -98,31 +90,27 @@ public class ProjectRequestToDescriptionConverter { if (type != null) { Type typeFromMetadata = metadata.getTypes().get(type); if (typeFromMetadata == null) { - throw new InvalidProjectRequestException( - "Unknown type '" + type + "' check project metadata"); + throw new InvalidProjectRequestException("Unknown type '" + type + "' check project metadata"); } if (!typeFromMetadata.getTags().containsKey("build")) { - throw new InvalidProjectRequestException("Invalid type '" + type - + "' (missing build tag) check project metadata"); + throw new InvalidProjectRequestException( + "Invalid type '" + type + "' (missing build tag) check project metadata"); } } } private void validateLanguage(String language, InitializrMetadata metadata) { if (language != null) { - DefaultMetadataElement languageFromMetadata = metadata.getLanguages() - .get(language); + DefaultMetadataElement languageFromMetadata = metadata.getLanguages().get(language); if (languageFromMetadata == null) { - throw new InvalidProjectRequestException( - "Unknown language '" + language + "' check project metadata"); + throw new InvalidProjectRequestException("Unknown language '" + language + "' check project metadata"); } } } private void validatePackaging(String packaging, InitializrMetadata metadata) { if (packaging != null) { - DefaultMetadataElement packagingFromMetadata = metadata.getPackagings() - .get(packaging); + DefaultMetadataElement packagingFromMetadata = metadata.getPackagings().get(packaging); if (packagingFromMetadata == null) { throw new InvalidProjectRequestException( "Unknown packaging '" + packaging + "' check project metadata"); @@ -130,32 +118,26 @@ public class ProjectRequestToDescriptionConverter { } } - private void validateDependencies(ProjectRequest request, - InitializrMetadata metadata) { - List dependencies = (!request.getStyle().isEmpty() ? request.getStyle() - : request.getDependencies()); + private void validateDependencies(ProjectRequest request, InitializrMetadata metadata) { + List dependencies = (!request.getStyle().isEmpty() ? request.getStyle() : request.getDependencies()); dependencies.forEach((dep) -> { Dependency dependency = metadata.getDependencies().get(dep); if (dependency == null) { - throw new InvalidProjectRequestException( - "Unknown dependency '" + dep + "' check project metadata"); + throw new InvalidProjectRequestException("Unknown dependency '" + dep + "' check project metadata"); } }); } - private void validateDependencyRange(String springBootVersion, - List resolvedDependencies) { + private void validateDependencyRange(String springBootVersion, List resolvedDependencies) { resolvedDependencies.forEach((dep) -> { if (!dep.match(Version.parse(springBootVersion))) { - throw new InvalidProjectRequestException( - "Dependency '" + dep.getId() + "' is not compatible " - + "with Spring Boot " + springBootVersion); + throw new InvalidProjectRequestException("Dependency '" + dep.getId() + "' is not compatible " + + "with Spring Boot " + springBootVersion); } }); } - private BuildSystem getBuildSystem(ProjectRequest request, - InitializrMetadata metadata) { + private BuildSystem getBuildSystem(ProjectRequest request, InitializrMetadata metadata) { Type typeFromMetadata = metadata.getTypes().get(request.getType()); return BuildSystem.forId(typeFromMetadata.getTags().get("build")); } @@ -165,24 +147,21 @@ public class ProjectRequestToDescriptionConverter { metadata.getPackageName().getContent()); } - private String getApplicationName(ProjectRequest request, - InitializrMetadata metadata) { + private String getApplicationName(ProjectRequest request, InitializrMetadata metadata) { if (!StringUtils.hasText(request.getApplicationName())) { return metadata.getConfiguration().generateApplicationName(request.getName()); } return request.getApplicationName(); } - private String getSpringBootVersion(ProjectRequest request, - InitializrMetadata metadata) { + private String getSpringBootVersion(ProjectRequest request, InitializrMetadata metadata) { return (request.getBootVersion() != null) ? request.getBootVersion() : metadata.getBootVersions().getDefault().getId(); } - private List getResolvedDependencies(ProjectRequest request, - String springBootVersion, InitializrMetadata metadata) { - List depIds = (!request.getStyle().isEmpty() ? request.getStyle() - : request.getDependencies()); + private List getResolvedDependencies(ProjectRequest request, String springBootVersion, + InitializrMetadata metadata) { + List depIds = (!request.getStyle().isEmpty() ? request.getStyle() : request.getDependencies()); Version requestedVersion = Version.parse(springBootVersion); return depIds.stream().map((it) -> { Dependency dependency = metadata.getDependencies().get(it); diff --git a/initializr-web/src/main/java/io/spring/initializr/web/support/Agent.java b/initializr-web/src/main/java/io/spring/initializr/web/support/Agent.java index f7b86200..1daf4957 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/support/Agent.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/support/Agent.java @@ -134,13 +134,11 @@ public class Agent { private static class UserAgentHandler { - private static final Pattern TOOL_REGEX = Pattern - .compile("([^\\/]*)\\/([^ ]*).*"); + private static final Pattern TOOL_REGEX = Pattern.compile("([^\\/]*)\\/([^ ]*).*"); private static final Pattern STS_REGEX = Pattern.compile("STS (.*)"); - private static final Pattern NETBEANS_REGEX = Pattern - .compile("nb-springboot-plugin\\/(.*)"); + private static final Pattern NETBEANS_REGEX = Pattern.compile("nb-springboot-plugin\\/(.*)"); public static Agent parse(String userAgent) { Matcher matcher = TOOL_REGEX.matcher(userAgent); diff --git a/initializr-web/src/main/java/io/spring/initializr/web/support/CommandLineHelpGenerator.java b/initializr-web/src/main/java/io/spring/initializr/web/support/CommandLineHelpGenerator.java index 31800249..adfd6e42 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/support/CommandLineHelpGenerator.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/support/CommandLineHelpGenerator.java @@ -39,10 +39,8 @@ import org.springframework.beans.BeanWrapperImpl; public class CommandLineHelpGenerator { private static final String LOGO = " . ____ _ __ _ _\n" - + " /\\\\ / ___'_ __ _ _(_)_ __ __ _ \\ \\ \\ \\\n" - + "( ( )\\___ | '_ | '_| | '_ \\/ _` | \\ \\ \\ \\\n" - + " \\\\/ ___)| |_)| | | | | || (_| | ) ) ) )\n" - + " ' |____| .__|_| |_|_| |_\\__, | / / / /\n" + + " /\\\\ / ___'_ __ _ _(_)_ __ __ _ \\ \\ \\ \\\n" + "( ( )\\___ | '_ | '_| | '_ \\/ _` | \\ \\ \\ \\\n" + + " \\\\/ ___)| |_)| | | | | || (_| | ) ) ) )\n" + " ' |____| .__|_| |_|_| |_\\__, | / / / /\n" + " =========|_|==============|___/=/_/_/_/"; private final TemplateRenderer template; @@ -59,8 +57,7 @@ public class CommandLineHelpGenerator { * @return the generic capabilities text document * @throws IOException if rendering the capabilities failed */ - public String generateGenericCapabilities(InitializrMetadata metadata, - String serviceUrl) throws IOException { + public String generateGenericCapabilities(InitializrMetadata metadata, String serviceUrl) throws IOException { Map model = initializeCommandLineModel(metadata, serviceUrl); model.put("hasExamples", false); return this.template.render("cli/cli-capabilities", model); @@ -73,8 +70,7 @@ public class CommandLineHelpGenerator { * @return the generic capabilities text document * @throws IOException if rendering the capabilities failed */ - public String generateCurlCapabilities(InitializrMetadata metadata, String serviceUrl) - throws IOException { + public String generateCurlCapabilities(InitializrMetadata metadata, String serviceUrl) throws IOException { Map model = initializeCommandLineModel(metadata, serviceUrl); model.put("examples", this.template.render("cli/curl-examples", model)); model.put("hasExamples", true); @@ -88,8 +84,7 @@ public class CommandLineHelpGenerator { * @return the generic capabilities text document * @throws IOException if rendering the capabilities failed */ - public String generateHttpieCapabilities(InitializrMetadata metadata, - String serviceUrl) throws IOException { + public String generateHttpieCapabilities(InitializrMetadata metadata, String serviceUrl) throws IOException { Map model = initializeCommandLineModel(metadata, serviceUrl); model.put("examples", this.template.render("cli/httpie-examples", model)); model.put("hasExamples", true); @@ -104,15 +99,13 @@ public class CommandLineHelpGenerator { * @return the generic capabilities text document * @throws IOException if rendering the capabilities failed */ - public String generateSpringBootCliCapabilities(InitializrMetadata metadata, - String serviceUrl) throws IOException { + public String generateSpringBootCliCapabilities(InitializrMetadata metadata, String serviceUrl) throws IOException { Map model = initializeSpringBootCliModel(metadata, serviceUrl); model.put("hasExamples", false); return this.template.render("cli/boot-cli-capabilities", model); } - protected Map initializeCommandLineModel(InitializrMetadata metadata, - String serviceUrl) { + protected Map initializeCommandLineModel(InitializrMetadata metadata, String serviceUrl) { Map model = new LinkedHashMap<>(); model.put("logo", LOGO); model.put("serviceUrl", serviceUrl); @@ -120,8 +113,8 @@ public class CommandLineHelpGenerator { model.put("types", generateTypeTable(metadata, "Rel", false)); Map defaults = metadata.defaults(); - defaults.put("applicationName", metadata.getConfiguration() - .generateApplicationName(metadata.getName().getContent())); + defaults.put("applicationName", + metadata.getConfiguration().generateApplicationName(metadata.getName().getContent())); defaults.put("baseDir", "no base dir"); defaults.put("dependencies", "none"); @@ -129,8 +122,7 @@ public class CommandLineHelpGenerator { String[][] parameterTable = new String[defaults.size() + 1][]; parameterTable[0] = new String[] { "Parameter", "Description", "Default value" }; int i = 1; - for (String id : defaults.keySet().stream().sorted() - .collect(Collectors.toList())) { + for (String id : defaults.keySet().stream().sorted().collect(Collectors.toList())) { String[] data = new String[3]; data[0] = id; data[1] = (String) parametersDescription.get(id); @@ -142,8 +134,7 @@ public class CommandLineHelpGenerator { return model; } - protected Map initializeSpringBootCliModel( - InitializrMetadata metadata, String serviceUrl) { + protected Map initializeSpringBootCliModel(InitializrMetadata metadata, String serviceUrl) { Map model = new LinkedHashMap<>(); model.put("logo", LOGO); model.put("serviceUrl", serviceUrl); @@ -155,8 +146,7 @@ public class CommandLineHelpGenerator { String[][] parameterTable = new String[defaults.size() + 1][]; parameterTable[0] = new String[] { "Id", "Description", "Default value" }; int i = 1; - for (String id : defaults.keySet().stream().sorted() - .collect(Collectors.toList())) { + for (String id : defaults.keySet().stream().sorted().collect(Collectors.toList())) { String[] data = new String[3]; data[0] = id; data[1] = (String) parametersDescription.get(id); @@ -168,25 +158,21 @@ public class CommandLineHelpGenerator { } protected String generateDependencyTable(InitializrMetadata metadata) { - String[][] dependencyTable = new String[metadata.getDependencies().getAll().size() - + 1][]; + String[][] dependencyTable = new String[metadata.getDependencies().getAll().size() + 1][]; dependencyTable[0] = new String[] { "Id", "Description", "Required version" }; int i = 1; for (Dependency dep : metadata.getDependencies().getAll().stream() - .sorted(Comparator.comparing(MetadataElement::getId)) - .collect(Collectors.toList())) { + .sorted(Comparator.comparing(MetadataElement::getId)).collect(Collectors.toList())) { String[] data = new String[3]; data[0] = dep.getId(); - data[1] = (dep.getDescription() != null) ? dep.getDescription() - : dep.getName(); + data[1] = (dep.getDescription() != null) ? dep.getDescription() : dep.getName(); data[2] = dep.getVersionRequirement(); dependencyTable[i++] = data; } return TableGenerator.generate(dependencyTable); } - protected String generateTypeTable(InitializrMetadata metadata, String linkHeader, - boolean addTags) { + protected String generateTypeTable(InitializrMetadata metadata, String linkHeader, boolean addTags) { String[][] typeTable = new String[metadata.getTypes().getContent().size() + 1][]; if (addTags) { typeTable[0] = new String[] { linkHeader, "Description", "Tags" }; @@ -195,13 +181,11 @@ public class CommandLineHelpGenerator { typeTable[0] = new String[] { linkHeader, "Description" }; } int i = 1; - for (Type type : metadata.getTypes().getContent().stream() - .sorted(Comparator.comparing(MetadataElement::getId)) + for (Type type : metadata.getTypes().getContent().stream().sorted(Comparator.comparing(MetadataElement::getId)) .collect(Collectors.toList())) { String[] data = new String[typeTable[0].length]; data[0] = (type.isDefault() ? type.getId() + " *" : type.getId()); - data[1] = (type.getDescription() != null) ? type.getDescription() - : type.getName(); + data[1] = (type.getDescription() != null) ? type.getDescription() : type.getName(); if (addTags) { data[2] = buildTagRepresentation(type); } @@ -210,17 +194,14 @@ public class CommandLineHelpGenerator { return TableGenerator.generate(typeTable); } - protected Map buildParametersDescription( - InitializrMetadata metadata) { + protected Map buildParametersDescription(InitializrMetadata metadata) { Map result = new LinkedHashMap<>(); BeanWrapperImpl wrapper = new BeanWrapperImpl(metadata); for (PropertyDescriptor descriptor : wrapper.getPropertyDescriptors()) { Object value = wrapper.getPropertyValue(descriptor.getName()); BeanWrapperImpl nested = new BeanWrapperImpl(value); - if (nested.isReadableProperty("description") - && nested.isReadableProperty("id")) { - result.put((String) nested.getPropertyValue("id"), - nested.getPropertyValue("description")); + if (nested.isReadableProperty("description") && nested.isReadableProperty("id")) { + result.put((String) nested.getPropertyValue("id"), nested.getPropertyValue("description")); } } result.put("applicationName", "application name"); @@ -232,10 +213,8 @@ public class CommandLineHelpGenerator { if (type.getTags().isEmpty()) { return ""; } - return String.join(",", - type.getTags().entrySet().stream() - .map((entry) -> entry.getKey() + ":" + entry.getValue()) - .toArray(String[]::new)); + return String.join(",", type.getTags().entrySet().stream() + .map((entry) -> entry.getKey() + ":" + entry.getValue()).toArray(String[]::new)); } /** @@ -266,8 +245,7 @@ public class CommandLineHelpGenerator { return sb.toString(); } - private static void appendRow(StringBuilder sb, String[][] content, - int[] columnsLength, int rowIndex) { + private static void appendRow(StringBuilder sb, String[][] content, int[] columnsLength, int rowIndex) { String[] row = content[rowIndex]; if (row != null) { for (int i = 0; i < row.length; i++) { diff --git a/initializr-web/src/main/java/io/spring/initializr/web/support/DefaultDependencyMetadataProvider.java b/initializr-web/src/main/java/io/spring/initializr/web/support/DefaultDependencyMetadataProvider.java index 510c424c..02ae329a 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/support/DefaultDependencyMetadataProvider.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/support/DefaultDependencyMetadataProvider.java @@ -49,23 +49,22 @@ public class DefaultDependencyMetadataProvider implements DependencyMetadataProv Map repositories = new LinkedHashMap<>(); for (Dependency dependency : dependencies.values()) { if (dependency.getRepository() != null) { - repositories.put(dependency.getRepository(), metadata.getConfiguration() - .getEnv().getRepositories().get(dependency.getRepository())); + repositories.put(dependency.getRepository(), + metadata.getConfiguration().getEnv().getRepositories().get(dependency.getRepository())); } } Map boms = new LinkedHashMap<>(); for (Dependency dependency : dependencies.values()) { if (dependency.getBom() != null) { - boms.put(dependency.getBom(), metadata.getConfiguration().getEnv() - .getBoms().get(dependency.getBom()).resolve(bootVersion)); + boms.put(dependency.getBom(), + metadata.getConfiguration().getEnv().getBoms().get(dependency.getBom()).resolve(bootVersion)); } } // Each resolved bom may require additional repositories for (BillOfMaterials bom : boms.values()) { for (String id : bom.getRepositories()) { - repositories.put(id, - metadata.getConfiguration().getEnv().getRepositories().get(id)); + repositories.put(id, metadata.getConfiguration().getEnv().getRepositories().get(id)); } } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/support/DefaultInitializrMetadataUpdateStrategy.java b/initializr-web/src/main/java/io/spring/initializr/web/support/DefaultInitializrMetadataUpdateStrategy.java index 96ba69dd..baaabdda 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/support/DefaultInitializrMetadataUpdateStrategy.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/support/DefaultInitializrMetadataUpdateStrategy.java @@ -33,18 +33,15 @@ import org.springframework.web.client.RestTemplate; * * @author Stephane Nicoll */ -public class DefaultInitializrMetadataUpdateStrategy - implements InitializrMetadataUpdateStrategy { +public class DefaultInitializrMetadataUpdateStrategy implements InitializrMetadataUpdateStrategy { - private static final Log logger = LogFactory - .getLog(DefaultInitializrMetadataUpdateStrategy.class); + private static final Log logger = LogFactory.getLog(DefaultInitializrMetadataUpdateStrategy.class); private final RestTemplate restTemplate; private final ObjectMapper objectMapper; - public DefaultInitializrMetadataUpdateStrategy(RestTemplate restTemplate, - ObjectMapper objectMapper) { + public DefaultInitializrMetadataUpdateStrategy(RestTemplate restTemplate, ObjectMapper objectMapper) { this.restTemplate = restTemplate; this.objectMapper = objectMapper; } @@ -73,8 +70,7 @@ public class DefaultInitializrMetadataUpdateStrategy if (StringUtils.hasText(url)) { try { logger.info("Fetching Spring Boot metadata from " + url); - return new SpringBootMetadataReader(this.objectMapper, this.restTemplate, - url).getBootVersions(); + return new SpringBootMetadataReader(this.objectMapper, this.restTemplate, url).getBootVersions(); } catch (Exception ex) { logger.warn("Failed to fetch Spring Boot metadata", ex); diff --git a/initializr-web/src/main/java/io/spring/initializr/web/support/SpringBootMetadataReader.java b/initializr-web/src/main/java/io/spring/initializr/web/support/SpringBootMetadataReader.java index 5c6ac712..a6faa502 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/support/SpringBootMetadataReader.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/support/SpringBootMetadataReader.java @@ -44,10 +44,8 @@ class SpringBootMetadataReader { * @param url the metadata URL * @throws IOException on load error */ - SpringBootMetadataReader(ObjectMapper objectMapper, RestTemplate restTemplate, - String url) throws IOException { - this.content = objectMapper - .readTree(restTemplate.getForObject(url, String.class)); + SpringBootMetadataReader(ObjectMapper objectMapper, RestTemplate restTemplate, String url) throws IOException { + this.content = objectMapper.readTree(restTemplate.getForObject(url, String.class)); } /** @@ -61,8 +59,7 @@ class SpringBootMetadataReader { DefaultMetadataElement version = new DefaultMetadataElement(); version.setId(node.get("version").textValue()); String name = node.get("versionDisplayName").textValue(); - version.setName( - node.get("snapshot").booleanValue() ? name + " (SNAPSHOT)" : name); + version.setName(node.get("snapshot").booleanValue() ? name + " (SNAPSHOT)" : name); version.setDefault(node.get("current").booleanValue()); list.add(version); } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/AbstractFullStackInitializrIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/AbstractFullStackInitializrIntegrationTests.java index bcd6b2fa..13618c8d 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/AbstractFullStackInitializrIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/AbstractFullStackInitializrIntegrationTests.java @@ -27,8 +27,7 @@ import org.springframework.boot.web.server.LocalServerPort; * @author Dave Syer */ @SpringBootTest(classes = Config.class, webEnvironment = WebEnvironment.RANDOM_PORT) -public abstract class AbstractFullStackInitializrIntegrationTests - extends AbstractInitializrIntegrationTests { +public abstract class AbstractFullStackInitializrIntegrationTests extends AbstractInitializrIntegrationTests { @LocalServerPort protected int port; @@ -37,8 +36,7 @@ public abstract class AbstractFullStackInitializrIntegrationTests @Override protected String createUrl(String context) { - return "http://" + this.host + ":" + this.port - + (context.startsWith("/") ? context : "/" + context); + return "http://" + this.host + ":" + this.port + (context.startsWith("/") ? context : "/" + context); } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.java index 57e37bea..db56131f 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.java @@ -38,10 +38,8 @@ import org.springframework.test.context.TestExecutionListeners.MergeMode; @TestExecutionListeners(mergeMode = MergeMode.MERGE_WITH_DEFAULTS, listeners = MockMvcClientHttpRequestFactoryTestExecutionListener.class) @AutoConfigureMockMvc -@AutoConfigureRestDocs(outputDir = "target/snippets", uriPort = 80, - uriHost = "start.spring.io") -public abstract class AbstractInitializrControllerIntegrationTests - extends AbstractInitializrIntegrationTests { +@AutoConfigureRestDocs(outputDir = "target/snippets", uriPort = 80, uriHost = "start.spring.io") +public abstract class AbstractInitializrControllerIntegrationTests extends AbstractInitializrIntegrationTests { protected String host = "start.spring.io"; @@ -62,8 +60,7 @@ public abstract class AbstractInitializrControllerIntegrationTests @Bean RestTemplateCustomizer mockMvcCustomizer(BeanFactory beanFactory) { - return (template) -> template.setRequestFactory( - beanFactory.getBean(MockMvcClientHttpRequestFactory.class)); + return (template) -> template.setRequestFactory(beanFactory.getBean(MockMvcClientHttpRequestFactory.class)); } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrIntegrationTests.java index f267c4fe..5e509781 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrIntegrationTests.java @@ -63,8 +63,7 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest(classes = Config.class) public abstract class AbstractInitializrIntegrationTests { - protected static final MediaType CURRENT_METADATA_MEDIA_TYPE = InitializrMetadataVersion.V2_1 - .getMediaType(); + protected static final MediaType CURRENT_METADATA_MEDIA_TYPE = InitializrMetadataVersion.V2_1.getMediaType(); private static final ObjectMapper objectMapper = new ObjectMapper(); @@ -88,13 +87,11 @@ public abstract class AbstractInitializrIntegrationTests { * @param response the response * @param expected the expected result */ - protected void validateContentType(ResponseEntity response, - MediaType expected) { + protected void validateContentType(ResponseEntity response, MediaType expected) { MediaType actual = response.getHeaders().getContentType(); assertThat(actual).isNotNull(); assertThat(actual.isCompatibleWith(expected)) - .as("Non compatible media-type, expected " + expected + ", got " + actual) - .isTrue(); + .as("Non compatible media-type, expected " + expected + ", got " + actual).isTrue(); } protected JsonNode parseJson(String text) { @@ -106,8 +103,8 @@ public abstract class AbstractInitializrIntegrationTests { } } - protected void validateMetadata(ResponseEntity response, MediaType mediaType, - String version, JSONCompareMode compareMode) { + protected void validateMetadata(ResponseEntity response, MediaType mediaType, String version, + JSONCompareMode compareMode) { try { validateContentType(response, mediaType); JSONObject json = new JSONObject(response.getBody()); @@ -127,8 +124,7 @@ public abstract class AbstractInitializrIntegrationTests { protected void validateCurrentMetadata(String json) { try { JSONObject expected = readMetadataJson("2.1.0"); - JSONAssert.assertEquals(expected, new JSONObject(json), - JSONCompareMode.STRICT); + JSONAssert.assertEquals(expected, new JSONObject(json), JSONCompareMode.STRICT); } catch (JSONException ex) { throw new IllegalArgumentException("Invalid json", ex); @@ -171,13 +167,12 @@ public abstract class AbstractInitializrIntegrationTests { return this.restTemplate.getForEntity(createUrl(context), byte[].class); } - protected ResponseEntity invokeHome(String userAgentHeader, - String... acceptHeaders) { + protected ResponseEntity invokeHome(String userAgentHeader, String... acceptHeaders) { return execute("/", String.class, userAgentHeader, acceptHeaders); } - protected ResponseEntity execute(String contextPath, Class responseType, - String userAgentHeader, String... acceptHeaders) { + protected ResponseEntity execute(String contextPath, Class responseType, String userAgentHeader, + String... acceptHeaders) { HttpHeaders headers = new HttpHeaders(); if (userAgentHeader != null) { headers.set("User-Agent", userAgentHeader); @@ -192,8 +187,8 @@ public abstract class AbstractInitializrIntegrationTests { else { headers.setAccept(Collections.emptyList()); } - return this.restTemplate.exchange(createUrl(contextPath), HttpMethod.GET, - new HttpEntity(headers), responseType); + return this.restTemplate.exchange(createUrl(contextPath), HttpMethod.GET, new HttpEntity(headers), + responseType); } protected ProjectAssert projectAssert(byte[] content, ArchiveType archiveType) { diff --git a/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/CloudfoundryEnvironmentPostProcessorTests.java b/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/CloudfoundryEnvironmentPostProcessorTests.java index fbadb182..36599c3a 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/CloudfoundryEnvironmentPostProcessorTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/CloudfoundryEnvironmentPostProcessorTests.java @@ -42,10 +42,8 @@ class CloudfoundryEnvironmentPostProcessorTests { assertThat(this.environment.getProperty("initializr.stats.elastic.uri")) .isEqualTo("https://user:pass@example.com/bar/biz?param=one"); - assertThat(this.environment.getProperty("initializr.stats.elastic.username")) - .isNull(); - assertThat(this.environment.getProperty("initializr.stats.elastic.password")) - .isNull(); + assertThat(this.environment.getProperty("initializr.stats.elastic.username")).isNull(); + assertThat(this.environment.getProperty("initializr.stats.elastic.password")).isNull(); } @Test @@ -56,10 +54,8 @@ class CloudfoundryEnvironmentPostProcessorTests { assertThat(this.environment.getProperty("initializr.stats.elastic.uri")) .isEqualTo("http://example.com/bar/biz?param=one"); - assertThat(this.environment.getProperty("initializr.stats.elastic.username")) - .isNull(); - assertThat(this.environment.getProperty("initializr.stats.elastic.password")) - .isNull(); + assertThat(this.environment.getProperty("initializr.stats.elastic.username")).isNull(); + assertThat(this.environment.getProperty("initializr.stats.elastic.password")).isNull(); } @Test @@ -67,10 +63,8 @@ class CloudfoundryEnvironmentPostProcessorTests { this.postProcessor.postProcessEnvironment(this.environment, this.application); assertThat(this.environment.getProperty("initializr.stats.elastic.uri")).isNull(); - assertThat(this.environment.getProperty("initializr.stats.elastic.username")) - .isNull(); - assertThat(this.environment.getProperty("initializr.stats.elastic.password")) - .isNull(); + assertThat(this.environment.getProperty("initializr.stats.elastic.username")).isNull(); + assertThat(this.environment.getProperty("initializr.stats.elastic.password")).isNull(); } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfigurationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfigurationTests.java index 22aff104..ce60a10c 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfigurationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfigurationTests.java @@ -60,96 +60,73 @@ class InitializrAutoConfigurationTests { @Test void autoConfigRegistersTemplateRenderer() { - this.contextRunner.run( - (context) -> assertThat(context).hasSingleBean(TemplateRenderer.class)); + this.contextRunner.run((context) -> assertThat(context).hasSingleBean(TemplateRenderer.class)); } @Test void autoConfigWhenTemplateRendererBeanPresentDoesNotRegisterTemplateRenderer() { - this.contextRunner - .withUserConfiguration(CustomTemplateRendererConfiguration.class) - .run((context) -> { - assertThat(context).hasSingleBean(TemplateRenderer.class); - assertThat(context).hasBean("testTemplateRenderer"); - }); + this.contextRunner.withUserConfiguration(CustomTemplateRendererConfiguration.class).run((context) -> { + assertThat(context).hasSingleBean(TemplateRenderer.class); + assertThat(context).hasBean("testTemplateRenderer"); + }); } @Test void autoConfigRegistersInitializrMetadataUpdateStrategy() { - this.contextRunner.run((context) -> assertThat(context) - .hasSingleBean(InitializrMetadataUpdateStrategy.class)); + this.contextRunner.run((context) -> assertThat(context).hasSingleBean(InitializrMetadataUpdateStrategy.class)); } @Test void autoConfigWhenInitializrMetadataUpdateStrategyPresentDoesNotRegisterInitializrMetadataUpdateStrategy() { - this.contextRunner - .withUserConfiguration( - CustomInitializrMetadataUpdateStrategyConfiguration.class) + this.contextRunner.withUserConfiguration(CustomInitializrMetadataUpdateStrategyConfiguration.class) .run((context) -> { - assertThat(context) - .hasSingleBean(InitializrMetadataUpdateStrategy.class); + assertThat(context).hasSingleBean(InitializrMetadataUpdateStrategy.class); assertThat(context).hasBean("testInitializrMetadataUpdateStrategy"); }); } @Test void autoConfigRegistersInitializrMetadataProvider() { - this.contextRunner.run((context) -> assertThat(context) - .hasSingleBean(InitializrMetadataProvider.class)); + this.contextRunner.run((context) -> assertThat(context).hasSingleBean(InitializrMetadataProvider.class)); } @Test void autoConfigWhenInitializrMetadataProviderBeanPresentDoesNotRegisterInitializrMetadataProvider() { - this.contextRunner - .withUserConfiguration( - CustomInitializrMetadataProviderConfiguration.class) - .run((context) -> { - assertThat(context).hasSingleBean(InitializrMetadataProvider.class); - assertThat(context).hasBean("testInitializrMetadataProvider"); - }); + this.contextRunner.withUserConfiguration(CustomInitializrMetadataProviderConfiguration.class).run((context) -> { + assertThat(context).hasSingleBean(InitializrMetadataProvider.class); + assertThat(context).hasBean("testInitializrMetadataProvider"); + }); } @Test void autoConfigRegistersDependencyMetadataProvider() { - this.contextRunner.run((context) -> assertThat(context) - .hasSingleBean(DependencyMetadataProvider.class)); + this.contextRunner.run((context) -> assertThat(context).hasSingleBean(DependencyMetadataProvider.class)); } @Test void autoConfigWhenDependencyMetadataProviderBeanPresentDoesNotRegisterDependencyMetadataProvider() { - this.contextRunner - .withUserConfiguration( - CustomDependencyMetadataProviderConfiguration.class) - .run((context) -> { - assertThat(context).hasSingleBean(DependencyMetadataProvider.class); - assertThat(context).hasBean("testDependencyMetadataProvider"); - }); + this.contextRunner.withUserConfiguration(CustomDependencyMetadataProviderConfiguration.class).run((context) -> { + assertThat(context).hasSingleBean(DependencyMetadataProvider.class); + assertThat(context).hasBean("testDependencyMetadataProvider"); + }); } @Test void customRestTemplateBuilderIsUsed() { - this.contextRunner.withUserConfiguration(CustomRestTemplateConfiguration.class) - .run((context) -> { - assertThat(context) - .hasSingleBean(DefaultInitializrMetadataUpdateStrategy.class); - RestTemplate restTemplate = (RestTemplate) new DirectFieldAccessor( - context.getBean( - DefaultInitializrMetadataUpdateStrategy.class)) - .getPropertyValue("restTemplate"); - assertThat(restTemplate.getErrorHandler()) - .isSameAs(CustomRestTemplateConfiguration.errorHandler); - }); + this.contextRunner.withUserConfiguration(CustomRestTemplateConfiguration.class).run((context) -> { + assertThat(context).hasSingleBean(DefaultInitializrMetadataUpdateStrategy.class); + RestTemplate restTemplate = (RestTemplate) new DirectFieldAccessor( + context.getBean(DefaultInitializrMetadataUpdateStrategy.class)).getPropertyValue("restTemplate"); + assertThat(restTemplate.getErrorHandler()).isSameAs(CustomRestTemplateConfiguration.errorHandler); + }); } @Test void webConfiguration() { WebApplicationContextRunner webContextRunner = new WebApplicationContextRunner() - .withConfiguration( - AutoConfigurations.of(RestTemplateAutoConfiguration.class, - JacksonAutoConfiguration.class, - HttpMessageConvertersAutoConfiguration.class, - WebMvcAutoConfiguration.class, - InitializrAutoConfiguration.class)); + .withConfiguration(AutoConfigurations.of(RestTemplateAutoConfiguration.class, + JacksonAutoConfiguration.class, HttpMessageConvertersAutoConfiguration.class, + WebMvcAutoConfiguration.class, InitializrAutoConfiguration.class)); webContextRunner.run((context) -> { assertThat(context).hasSingleBean(InitializrWebConfig.class); assertThat(context).hasSingleBean(ProjectGenerationInvoker.class); @@ -168,23 +145,19 @@ class InitializrAutoConfigurationTests { @Test void cacheConfiguration() { - this.contextRunner.run((context) -> assertThat(context) - .hasSingleBean(JCacheManagerCustomizer.class)); + this.contextRunner.run((context) -> assertThat(context).hasSingleBean(JCacheManagerCustomizer.class)); } @Test void cacheConfigurationConditionalOnClass() { - this.contextRunner - .withClassLoader(new FilteredClassLoader("javax.cache.CacheManager")) - .run((context) -> assertThat(context) - .doesNotHaveBean(JCacheManagerCustomizer.class)); + this.contextRunner.withClassLoader(new FilteredClassLoader("javax.cache.CacheManager")) + .run((context) -> assertThat(context).doesNotHaveBean(JCacheManagerCustomizer.class)); } @Configuration static class CustomRestTemplateConfiguration { - private static final ResponseErrorHandler errorHandler = mock( - ResponseErrorHandler.class); + private static final ResponseErrorHandler errorHandler = mock(ResponseErrorHandler.class); @Bean public RestTemplateCustomizer testRestTemplateCustomizer() { diff --git a/initializr-web/src/test/java/io/spring/initializr/web/mapper/DependencyMetadataJsonMapperTests.java b/initializr-web/src/test/java/io/spring/initializr/web/mapper/DependencyMetadataJsonMapperTests.java index 343c382f..3a8a0a44 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/mapper/DependencyMetadataJsonMapperTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/mapper/DependencyMetadataJsonMapperTests.java @@ -44,23 +44,19 @@ class DependencyMetadataJsonMapperTests { Repository repository = new Repository(); repository.setName("foo-repo"); repository.setUrl(new URL("http://example.com/foo")); - BillOfMaterials bom = BillOfMaterials.create("org.foo", "foo-bom", - "1.0.0.RELEASE"); - DependencyMetadata metadata = new DependencyMetadata( - Version.parse("1.2.0.RELEASE"), Collections.singletonMap(d.getId(), d), - Collections.singletonMap("repo-id", repository), + BillOfMaterials bom = BillOfMaterials.create("org.foo", "foo-bom", "1.0.0.RELEASE"); + DependencyMetadata metadata = new DependencyMetadata(Version.parse("1.2.0.RELEASE"), + Collections.singletonMap(d.getId(), d), Collections.singletonMap("repo-id", repository), Collections.singletonMap("bom-id", bom)); JSONObject content = new JSONObject(this.mapper.write(metadata)); - assertThat(content.getJSONObject("dependencies").getJSONObject("foo") - .getString("bom")).isEqualTo("my-bom"); - assertThat(content.getJSONObject("dependencies").getJSONObject("foo") - .getString("repository")).isEqualTo("my-repo"); - assertThat(content.getJSONObject("repositories").getJSONObject("repo-id") - .getString("name")).isEqualTo("foo-repo"); - assertThat(content.getJSONObject("boms").getJSONObject("bom-id") - .getString("artifactId")).isEqualTo("foo-bom"); - assertThat(content.getJSONObject("boms").getJSONObject("bom-id") - .getString("version")).isEqualTo("1.0.0.RELEASE"); + assertThat(content.getJSONObject("dependencies").getJSONObject("foo").getString("bom")).isEqualTo("my-bom"); + assertThat(content.getJSONObject("dependencies").getJSONObject("foo").getString("repository")) + .isEqualTo("my-repo"); + assertThat(content.getJSONObject("repositories").getJSONObject("repo-id").getString("name")) + .isEqualTo("foo-repo"); + assertThat(content.getJSONObject("boms").getJSONObject("bom-id").getString("artifactId")).isEqualTo("foo-bom"); + assertThat(content.getJSONObject("boms").getJSONObject("bom-id").getString("version")) + .isEqualTo("1.0.0.RELEASE"); } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/mapper/InitializrMetadataJsonMapperTests.java b/initializr-web/src/test/java/io/spring/initializr/web/mapper/InitializrMetadataJsonMapperTests.java index 1144f803..18637a4d 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/mapper/InitializrMetadataJsonMapperTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/mapper/InitializrMetadataJsonMapperTests.java @@ -40,24 +40,22 @@ class InitializrMetadataJsonMapperTests { @Test void withNoAppUrl() throws IOException { InitializrMetadata metadata = new InitializrMetadataTestBuilder() - .addType("foo", true, "/foo.zip", "none", "test") - .addDependencyGroup("foo", "one", "two").build(); + .addType("foo", true, "/foo.zip", "none", "test").addDependencyGroup("foo", "one", "two").build(); String json = this.jsonMapper.write(metadata, null); JsonNode result = objectMapper.readTree(json); - assertThat(get(result, "_links.foo.href")).isEqualTo( - "/foo.zip?type=foo{&dependencies,packaging,javaVersion,language,bootVersion," + assertThat(get(result, "_links.foo.href")) + .isEqualTo("/foo.zip?type=foo{&dependencies,packaging,javaVersion,language,bootVersion," + "groupId,artifactId,version,name,description,packageName}"); } @Test void withAppUrl() throws IOException { InitializrMetadata metadata = new InitializrMetadataTestBuilder() - .addType("foo", true, "/foo.zip", "none", "test") - .addDependencyGroup("foo", "one", "two").build(); + .addType("foo", true, "/foo.zip", "none", "test").addDependencyGroup("foo", "one", "two").build(); String json = this.jsonMapper.write(metadata, "http://server:8080/my-app"); JsonNode result = objectMapper.readTree(json); - assertThat(get(result, "_links.foo.href")).isEqualTo( - "http://server:8080/my-app/foo.zip?type=foo{&dependencies,packaging,javaVersion," + assertThat(get(result, "_links.foo.href")) + .isEqualTo("http://server:8080/my-app/foo.zip?type=foo{&dependencies,packaging,javaVersion," + "language,bootVersion,groupId,artifactId,version,name,description,packageName}"); } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/mapper/LinkMapperTests.java b/initializr-web/src/test/java/io/spring/initializr/web/mapper/LinkMapperTests.java index 6e2c230f..3eb7674d 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/mapper/LinkMapperTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/mapper/LinkMapperTests.java @@ -55,8 +55,7 @@ class LinkMapperTests { assertThat(model.has("a")).isTrue(); ObjectNode linkModel = (ObjectNode) model.get("a"); assertThat(linkModel).hasSize(2); - assertThat(linkModel.get("href").textValue()) - .isEqualTo("https://example.com/{bootVersion}/a"); + assertThat(linkModel.get("href").textValue()).isEqualTo("https://example.com/{bootVersion}/a"); assertThat(linkModel.get("templated").booleanValue()).isEqualTo(true); } @@ -70,10 +69,8 @@ class LinkMapperTests { assertThat(model.has("a")).isTrue(); ArrayNode linksModel = (ArrayNode) model.get("a"); assertThat(linksModel).hasSize(2); - assertThat(linksModel.get(0).get("href").textValue()) - .isEqualTo("https://example.com"); - assertThat(linksModel.get(1).get("href").textValue()) - .isEqualTo("https://example.com/2"); + assertThat(linksModel.get(0).get("href").textValue()).isEqualTo("https://example.com"); + assertThat(linksModel.get(1).get("href").textValue()).isEqualTo("https://example.com/2"); } @Test diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/CommandLineExampleIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/CommandLineExampleIntegrationTests.java index d2edeeb6..49b0b1d2 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/CommandLineExampleIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/CommandLineExampleIntegrationTests.java @@ -32,39 +32,32 @@ import org.springframework.test.context.ActiveProfiles; * @author Stephane Nicoll */ @ActiveProfiles("test-default") -class CommandLineExampleIntegrationTests - extends AbstractInitializrControllerIntegrationTests { +class CommandLineExampleIntegrationTests extends AbstractInitializrControllerIntegrationTests { @Test void generateDefaultProject() { - downloadZip("/starter.zip").isJavaProject().isMavenProject() - .hasStaticAndTemplatesResources(false).pomAssert() - .hasSpringBootStarterRootDependency().hasSpringBootStarterTest() - .hasDependenciesCount(2); + downloadZip("/starter.zip").isJavaProject().isMavenProject().hasStaticAndTemplatesResources(false).pomAssert() + .hasSpringBootStarterRootDependency().hasSpringBootStarterTest().hasDependenciesCount(2); } @Test void generateWebProjectWithJava8() { - downloadZip("/starter.zip?dependencies=web&javaVersion=1.8").isJavaProject() - .isMavenProject().hasStaticAndTemplatesResources(true).pomAssert() - .hasJavaVersion("1.8").hasSpringBootStarterDependency("web") - .hasSpringBootStarterTest().hasDependenciesCount(2); + downloadZip("/starter.zip?dependencies=web&javaVersion=1.8").isJavaProject().isMavenProject() + .hasStaticAndTemplatesResources(true).pomAssert().hasJavaVersion("1.8") + .hasSpringBootStarterDependency("web").hasSpringBootStarterTest().hasDependenciesCount(2); } @Test void generateWebDataJpaGradleProject() { - downloadTgz( - "/starter.tgz?dependencies=web,data-jpa&type=gradle-project&baseDir=my-dir") - .hasBaseDir("my-dir").isJavaProject().isGradleProject() - .hasStaticAndTemplatesResources(true).gradleBuildAssert() - .contains("spring-boot-starter-web") - .contains("spring-boot-starter-data-jpa"); + downloadTgz("/starter.tgz?dependencies=web,data-jpa&type=gradle-project&baseDir=my-dir").hasBaseDir("my-dir") + .isJavaProject().isGradleProject().hasStaticAndTemplatesResources(true).gradleBuildAssert() + .contains("spring-boot-starter-web").contains("spring-boot-starter-data-jpa"); } @Test void generateMavenPomWithWarPackaging() { - ResponseEntity response = getRestTemplate() - .getForEntity(createUrl("/pom.xml?packaging=war"), String.class); + ResponseEntity response = getRestTemplate().getForEntity(createUrl("/pom.xml?packaging=war"), + String.class); PomAssert pomAssert = new PomAssert(response.getBody()); pomAssert.hasPackaging("war"); } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDefaultsIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDefaultsIntegrationTests.java index c5f9e943..9ec82a0a 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDefaultsIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDefaultsIntegrationTests.java @@ -26,19 +26,16 @@ import org.springframework.test.context.ActiveProfiles; * @author Stephane Nicoll */ @ActiveProfiles({ "test-default", "test-custom-defaults" }) -class MainControllerDefaultsIntegrationTests - extends AbstractInitializrControllerIntegrationTests { +class MainControllerDefaultsIntegrationTests extends AbstractInitializrControllerIntegrationTests { // see defaults customization @Test void generateDefaultPom() { - String content = getRestTemplate().getForObject(createUrl("/pom.xml?style=web"), - String.class); + String content = getRestTemplate().getForObject(createUrl("/pom.xml?style=web"), String.class); PomAssert pomAssert = new PomAssert(content); - pomAssert.hasGroupId("org.foo").hasArtifactId("foo-bar") - .hasVersion("1.2.4-SNAPSHOT").doesNotHaveNode("/project/packaging") - .hasName("FooBar").hasDescription("FooBar Project"); + pomAssert.hasGroupId("org.foo").hasArtifactId("foo-bar").hasVersion("1.2.4-SNAPSHOT") + .doesNotHaveNode("/project/packaging").hasName("FooBar").hasDescription("FooBar Project"); } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDependenciesTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDependenciesTests.java index 7e46d90d..5c125d44 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDependenciesTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDependenciesTests.java @@ -33,13 +33,11 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Stephane Nicoll */ @ActiveProfiles("test-default") -class MainControllerDependenciesTests - extends AbstractInitializrControllerIntegrationTests { +class MainControllerDependenciesTests extends AbstractInitializrControllerIntegrationTests { @Test void noBootVersion() throws JSONException { - ResponseEntity response = execute("/dependencies", String.class, null, - "application/json"); + ResponseEntity response = execute("/dependencies", String.class, null, "application/json"); assertThat(response.getHeaders().getFirst(HttpHeaders.ETAG)).isNotNull(); validateContentType(response, CURRENT_METADATA_MEDIA_TYPE); validateDependenciesOutput("2.1.4", response.getBody()); @@ -47,18 +45,15 @@ class MainControllerDependenciesTests @Test void filteredDependencies() throws JSONException { - ResponseEntity response = execute( - "/dependencies?bootVersion=2.2.1.RELEASE", String.class, null, + ResponseEntity response = execute("/dependencies?bootVersion=2.2.1.RELEASE", String.class, null, "application/json"); assertThat(response.getHeaders().getFirst(HttpHeaders.ETAG)).isNotNull(); validateContentType(response, CURRENT_METADATA_MEDIA_TYPE); validateDependenciesOutput("2.2.1", response.getBody()); } - protected void validateDependenciesOutput(String version, String actual) - throws JSONException { - JSONObject expected = readJsonFrom( - "metadata/dependencies/test-dependencies-" + version + ".json"); + protected void validateDependenciesOutput(String version, String actual) throws JSONException { + JSONObject expected = readJsonFrom("metadata/dependencies/test-dependencies-" + version + ".json"); JSONAssert.assertEquals(expected, new JSONObject(actual), JSONCompareMode.STRICT); } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerEnvIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerEnvIntegrationTests.java index 6a1fa26d..6fc53764 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerEnvIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerEnvIntegrationTests.java @@ -34,13 +34,11 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Stephane Nicoll */ @ActiveProfiles({ "test-default", "test-custom-env" }) -class MainControllerEnvIntegrationTests - extends AbstractInitializrControllerIntegrationTests { +class MainControllerEnvIntegrationTests extends AbstractInitializrControllerIntegrationTests { @Test void downloadCliWithCustomRepository() throws Exception { - ResponseEntity entity = getRestTemplate().getForEntity(createUrl("/spring"), - String.class); + ResponseEntity entity = getRestTemplate().getForEntity(createUrl("/spring"), String.class); assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.FOUND); String expected = "https://repo.spring.io/lib-release/org/springframework/boot/spring-boot-cli/2.1.4.RELEASE/spring-boot-cli-2.1.4.RELEASE-bin.zip"; assertThat(entity.getHeaders().getLocation()).isEqualTo(new URI(expected)); @@ -49,10 +47,9 @@ class MainControllerEnvIntegrationTests @Test void generateProjectWithInvalidName() { downloadZip("/starter.zip?style=data-jpa&name=Invalid") - .isJavaProject(ProjectAssert.DEFAULT_PACKAGE_NAME, "FooBarApplication") - .isMavenProject().hasStaticAndTemplatesResources(false).pomAssert() - .hasDependenciesCount(2).hasSpringBootStarterDependency("data-jpa") - .hasSpringBootStarterTest(); + .isJavaProject(ProjectAssert.DEFAULT_PACKAGE_NAME, "FooBarApplication").isMavenProject() + .hasStaticAndTemplatesResources(false).pomAssert().hasDependenciesCount(2) + .hasSpringBootStarterDependency("data-jpa").hasSpringBootStarterTest(); } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerIntegrationTests.java index 2aaf82e2..2f119cc7 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerIntegrationTests.java @@ -43,56 +43,47 @@ import static org.assertj.core.api.Assertions.fail; * @author Stephane Nicoll */ @ActiveProfiles("test-default") -class MainControllerIntegrationTests - extends AbstractInitializrControllerIntegrationTests { +class MainControllerIntegrationTests extends AbstractInitializrControllerIntegrationTests { @Test void simpleZipProject() { - ResponseEntity entity = downloadArchive( - "/starter.zip?style=web&style=jpa"); - assertArchiveResponseHeaders(entity, MediaType.valueOf("application/zip"), - "demo.zip"); - zipProjectAssert(entity.getBody()).isJavaProject().hasFile(".gitignore") - .hasExecutableFile("mvnw").isMavenProject() - .hasStaticAndTemplatesResources(true).pomAssert().hasDependenciesCount(3) - .hasSpringBootStarterDependency("web") - .hasSpringBootStarterDependency("data-jpa") // alias jpa -> data-jpa + ResponseEntity entity = downloadArchive("/starter.zip?style=web&style=jpa"); + assertArchiveResponseHeaders(entity, MediaType.valueOf("application/zip"), "demo.zip"); + zipProjectAssert(entity.getBody()).isJavaProject().hasFile(".gitignore").hasExecutableFile("mvnw") + .isMavenProject().hasStaticAndTemplatesResources(true).pomAssert().hasDependenciesCount(3) + .hasSpringBootStarterDependency("web").hasSpringBootStarterDependency("data-jpa") // alias + // jpa + // -> + // data-jpa .hasSpringBootStarterTest(); } @Test void simpleTgzProject() { - ResponseEntity entity = downloadArchive( - "/starter.tgz?style=org.acme:foo"); - assertArchiveResponseHeaders(entity, MediaType.valueOf("application/x-compress"), - "demo.tar.gz"); - tgzProjectAssert(entity.getBody()).isJavaProject().hasFile(".gitignore") - .hasExecutableFile("mvnw").isMavenProject() - .hasStaticAndTemplatesResources(false).pomAssert().hasDependenciesCount(2) + ResponseEntity entity = downloadArchive("/starter.tgz?style=org.acme:foo"); + assertArchiveResponseHeaders(entity, MediaType.valueOf("application/x-compress"), "demo.tar.gz"); + tgzProjectAssert(entity.getBody()).isJavaProject().hasFile(".gitignore").hasExecutableFile("mvnw") + .isMavenProject().hasStaticAndTemplatesResources(false).pomAssert().hasDependenciesCount(2) .hasDependency("org.acme", "foo", "1.3.5"); } - private void assertArchiveResponseHeaders(ResponseEntity entity, - MediaType contentType, String fileName) { + private void assertArchiveResponseHeaders(ResponseEntity entity, MediaType contentType, String fileName) { assertThat(entity.getHeaders().getContentType()).isEqualTo(contentType); assertThat(entity.getHeaders().getContentDisposition()).isNotNull(); - assertThat(entity.getHeaders().getContentDisposition().getFilename()) - .isEqualTo(fileName); + assertThat(entity.getHeaders().getContentDisposition().getFilename()).isEqualTo(fileName); } @Test void dependencyInRange() { Dependency biz = Dependency.create("org.acme", "biz", "1.3.5", "runtime"); - downloadTgz("/starter.tgz?style=org.acme:biz&bootVersion=2.2.1.RELEASE") - .isJavaProject().isMavenProject().hasStaticAndTemplatesResources(false) - .pomAssert().hasDependenciesCount(3).hasDependency(biz); + downloadTgz("/starter.tgz?style=org.acme:biz&bootVersion=2.2.1.RELEASE").isJavaProject().isMavenProject() + .hasStaticAndTemplatesResources(false).pomAssert().hasDependenciesCount(3).hasDependency(biz); } @Test void dependencyNotInRange() { try { - execute("/starter.tgz?style=org.acme:bur", byte[].class, null, - (String[]) null); + execute("/starter.tgz?style=org.acme:bur", byte[].class, null, (String[]) null); } catch (HttpClientErrorException ex) { assertThat(ex.getStatusCode()).isEqualTo(HttpStatus.NOT_ACCEPTABLE); @@ -101,18 +92,20 @@ class MainControllerIntegrationTests @Test void noDependencyProject() { - downloadZip("/starter.zip").isJavaProject().isMavenProject() - .hasStaticAndTemplatesResources(false).pomAssert().hasDependenciesCount(2) + downloadZip("/starter.zip").isJavaProject().isMavenProject().hasStaticAndTemplatesResources(false).pomAssert() + .hasDependenciesCount(2) // the root dep is added if none is specified .hasSpringBootStarterRootDependency().hasSpringBootStarterTest(); } @Test void dependenciesIsAnAliasOfStyle() { - downloadZip("/starter.zip?dependencies=web&dependencies=jpa").isJavaProject() - .isMavenProject().hasStaticAndTemplatesResources(true).pomAssert() - .hasDependenciesCount(3).hasSpringBootStarterDependency("web") - .hasSpringBootStarterDependency("data-jpa") // alias jpa -> data-jpa + downloadZip("/starter.zip?dependencies=web&dependencies=jpa").isJavaProject().isMavenProject() + .hasStaticAndTemplatesResources(true).pomAssert().hasDependenciesCount(3) + .hasSpringBootStarterDependency("web").hasSpringBootStarterDependency("data-jpa") // alias + // jpa + // -> + // data-jpa .hasSpringBootStarterTest(); } @@ -120,23 +113,23 @@ class MainControllerIntegrationTests void dependenciesIsAnAliasOfStyleCommaSeparated() { downloadZip("/starter.zip?dependencies=web,jpa").isJavaProject().isMavenProject() .hasStaticAndTemplatesResources(true).pomAssert().hasDependenciesCount(3) - .hasSpringBootStarterDependency("web") - .hasSpringBootStarterDependency("data-jpa") // alias jpa -> data-jpa + .hasSpringBootStarterDependency("web").hasSpringBootStarterDependency("data-jpa") // alias + // jpa + // -> + // data-jpa .hasSpringBootStarterTest(); } @Test void kotlinRange() { - downloadZip("/starter.zip?style=web&language=kotlin&bootVersion=2.0.1.RELEASE") - .isKotlinProject().isMavenProject().pomAssert().hasDependenciesCount(4) - .hasProperty("kotlin.version", "1.1"); + downloadZip("/starter.zip?style=web&language=kotlin&bootVersion=2.0.1.RELEASE").isKotlinProject() + .isMavenProject().pomAssert().hasDependenciesCount(4).hasProperty("kotlin.version", "1.1"); } @Test void gradleWarProject() { - downloadZip( - "/starter.zip?style=web&style=security&packaging=war&type=gradle-project") - .isJavaWarProject().isGradleProject(); + downloadZip("/starter.zip?style=web&style=security&packaging=war&type=gradle-project").isJavaWarProject() + .isGradleProject(); } @Test @@ -159,10 +152,8 @@ class MainControllerIntegrationTests assertSpringCliRedirect("/spring.tgz", "tar.gz"); } - private void assertSpringCliRedirect(String context, String extension) - throws URISyntaxException { - ResponseEntity entity = getRestTemplate().getForEntity(createUrl(context), - ResponseEntity.class); + private void assertSpringCliRedirect(String context, String extension) throws URISyntaxException { + ResponseEntity entity = getRestTemplate().getForEntity(createUrl(context), ResponseEntity.class); assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.FOUND); String expected = "https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/2.1.4.RELEASE/spring-boot-cli-2.1.4.RELEASE-bin." + extension; @@ -180,39 +171,31 @@ class MainControllerIntegrationTests @Disabled("Need a comparator that does not care about the number of elements in an array") public void currentMetadataCompatibleWithV2() { ResponseEntity response = invokeHome(null, "*/*"); - validateMetadata(response, - AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE, "2.0.0", + validateMetadata(response, AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE, "2.0.0", JSONCompareMode.LENIENT); } @Test void metadataWithV2AcceptHeader() { - ResponseEntity response = invokeHome(null, - "application/vnd.initializr.v2+json"); - validateMetadata(response, InitializrMetadataVersion.V2.getMediaType(), "2.0.0", - JSONCompareMode.STRICT); + ResponseEntity response = invokeHome(null, "application/vnd.initializr.v2+json"); + validateMetadata(response, InitializrMetadataVersion.V2.getMediaType(), "2.0.0", JSONCompareMode.STRICT); } @Test void metadataWithCurrentAcceptHeader() { - getRequests().setFields("_links.maven-project", "dependencies.values[0]", - "type.values[0]", "javaVersion.values[0]", "packaging.values[0]", - "bootVersion.values[0]", "language.values[0]"); - ResponseEntity response = invokeHome(null, - "application/vnd.initializr.v2.1+json"); + getRequests().setFields("_links.maven-project", "dependencies.values[0]", "type.values[0]", + "javaVersion.values[0]", "packaging.values[0]", "bootVersion.values[0]", "language.values[0]"); + ResponseEntity response = invokeHome(null, "application/vnd.initializr.v2.1+json"); assertThat(response.getHeaders().getFirst(HttpHeaders.ETAG)).isNotNull(); - validateContentType(response, - AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); + validateContentType(response, AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); validateCurrentMetadata(response.getBody()); } @Test void metadataWithSeveralAcceptHeader() { - ResponseEntity response = invokeHome(null, - "application/vnd.initializr.v2.1+json", + ResponseEntity response = invokeHome(null, "application/vnd.initializr.v2.1+json", "application/vnd.initializr.v2+json"); - validateContentType(response, - AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); + validateContentType(response, AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); validateCurrentMetadata(response.getBody()); } @@ -242,15 +225,13 @@ class MainControllerIntegrationTests @Test void curlCanStillDownloadZipArchive() { - ResponseEntity response = execute("/starter.zip", byte[].class, - "curl/1.2.4", "*/*"); + ResponseEntity response = execute("/starter.zip", byte[].class, "curl/1.2.4", "*/*"); zipProjectAssert(response.getBody()).isMavenProject().isJavaProject(); } @Test void curlCanStillDownloadTgzArchive() { - ResponseEntity response = execute("/starter.tgz", byte[].class, - "curl/1.2.4", "*/*"); + ResponseEntity response = execute("/starter.tgz", byte[].class, "curl/1.2.4", "*/*"); tgzProjectAssert(response.getBody()).isMavenProject().isJavaProject(); } @@ -258,8 +239,7 @@ class MainControllerIntegrationTests // make sure curl can still receive metadata with json public void curlWithAcceptHeaderJson() { ResponseEntity response = invokeHome("curl/1.2.4", "application/json"); - validateContentType(response, - AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); + validateContentType(response, AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); validateCurrentMetadata(response.getBody()); } @@ -285,8 +265,7 @@ class MainControllerIntegrationTests // make sure curl can still receive metadata with json public void httpieWithAcceptHeaderJson() { ResponseEntity response = invokeHome("HTTPie/0.8.0", "application/json"); - validateContentType(response, - AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); + validateContentType(response, AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); validateCurrentMetadata(response.getBody()); } @@ -305,8 +284,7 @@ class MainControllerIntegrationTests @Test void springBootCliReceivesJsonByDefault() { ResponseEntity response = invokeHome("SpringBootCli/1.2.0", "*/*"); - validateContentType(response, - AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); + validateContentType(response, AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); validateCurrentMetadata(response.getBody()); } @@ -339,22 +317,19 @@ class MainControllerIntegrationTests private void validateHttpIeHelpContent(ResponseEntity response) { validateContentType(response, MediaType.TEXT_PLAIN); assertThat(response.getHeaders().getFirst(HttpHeaders.ETAG)).isNotNull(); - assertThat(response.getBody()).contains("Spring Initializr", "Examples:", "http") - .doesNotContain("curl"); + assertThat(response.getBody()).contains("Spring Initializr", "Examples:", "http").doesNotContain("curl"); } private void validateGenericHelpContent(ResponseEntity response) { validateContentType(response, MediaType.TEXT_PLAIN); assertThat(response.getHeaders().getFirst(HttpHeaders.ETAG)).isNotNull(); - assertThat(response.getBody()).contains("Spring Initializr") - .doesNotContain("Examples:", "curl"); + assertThat(response.getBody()).contains("Spring Initializr").doesNotContain("Examples:", "curl"); } private void validateSpringBootHelpContent(ResponseEntity response) { validateContentType(response, MediaType.TEXT_PLAIN); assertThat(response.getHeaders().getFirst(HttpHeaders.ETAG)).isNotNull(); - assertThat(response.getBody()) - .contains("Service capabilities", "Supported dependencies") + assertThat(response.getBody()).contains("Service capabilities", "Supported dependencies") .doesNotContain("Examples:", "curl"); } @@ -379,8 +354,7 @@ class MainControllerIntegrationTests } catch (HttpClientErrorException ex) { assertThat(ex.getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST); - assertStandardErrorBody(ex.getResponseBodyAsString(), - "Unknown dependency 'foo' check project metadata"); + assertStandardErrorBody(ex.getResponseBodyAsString(), "Unknown dependency 'foo' check project metadata"); } } @@ -392,32 +366,28 @@ class MainControllerIntegrationTests @Test void webIsAddedPom() { - String body = getRestTemplate().getForObject(createUrl("/pom.xml?packaging=war"), - String.class); + String body = getRestTemplate().getForObject(createUrl("/pom.xml?packaging=war"), String.class); assertThat(body).contains("spring-boot-starter-web"); assertThat(body).contains("provided"); } @Test void webIsAddedGradle() { - String body = getRestTemplate() - .getForObject(createUrl("/build.gradle?packaging=war"), String.class); + String body = getRestTemplate().getForObject(createUrl("/build.gradle?packaging=war"), String.class); assertThat(body).contains("spring-boot-starter-web"); assertThat(body).contains("providedRuntime"); } @Test void downloadStarter() { - byte[] body = getRestTemplate().getForObject(createUrl("starter.zip"), - byte[].class); + byte[] body = getRestTemplate().getForObject(createUrl("starter.zip"), byte[].class); assertThat(body).isNotNull(); assertThat(body.length).isGreaterThan(100); } @Test void installer() { - ResponseEntity response = getRestTemplate() - .getForEntity(createUrl("install.sh"), String.class); + ResponseEntity response = getRestTemplate().getForEntity(createUrl("install.sh"), String.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); assertThat(response.getBody()).isNotNull(); } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerServiceMetadataIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerServiceMetadataIntegrationTests.java index 1bce3b1d..bb391fcf 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerServiceMetadataIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerServiceMetadataIntegrationTests.java @@ -40,8 +40,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Stephane Nicoll */ @ActiveProfiles("test-default") -class MainControllerServiceMetadataIntegrationTests - extends AbstractFullStackInitializrIntegrationTests { +class MainControllerServiceMetadataIntegrationTests extends AbstractFullStackInitializrIntegrationTests { @Autowired private InitializrMetadataProvider metadataProvider; @@ -50,21 +49,14 @@ class MainControllerServiceMetadataIntegrationTests void initializeRemoteConfig() throws Exception { InitializrMetadata localMetadata = this.metadataProvider.get(); InitializrMetadata metadata = InitializrMetadataBuilder.create() - .withInitializrMetadata(new UrlResource(createUrl("/metadata/config"))) - .build(); + .withInitializrMetadata(new UrlResource(createUrl("/metadata/config"))).build(); // Basic assertions - assertThat(metadata.getDependencies().getContent()) - .hasSameSizeAs(localMetadata.getDependencies().getContent()); - assertThat(metadata.getTypes().getContent()) - .hasSameSizeAs(localMetadata.getTypes().getContent()); - assertThat(metadata.getBootVersions().getContent()) - .hasSameSizeAs(localMetadata.getBootVersions().getContent()); - assertThat(metadata.getPackagings().getContent()) - .hasSameSizeAs(localMetadata.getPackagings().getContent()); - assertThat(metadata.getJavaVersions().getContent()) - .hasSameSizeAs(localMetadata.getJavaVersions().getContent()); - assertThat(metadata.getLanguages().getContent()) - .hasSameSizeAs(localMetadata.getLanguages().getContent()); + assertThat(metadata.getDependencies().getContent()).hasSameSizeAs(localMetadata.getDependencies().getContent()); + assertThat(metadata.getTypes().getContent()).hasSameSizeAs(localMetadata.getTypes().getContent()); + assertThat(metadata.getBootVersions().getContent()).hasSameSizeAs(localMetadata.getBootVersions().getContent()); + assertThat(metadata.getPackagings().getContent()).hasSameSizeAs(localMetadata.getPackagings().getContent()); + assertThat(metadata.getJavaVersions().getContent()).hasSameSizeAs(localMetadata.getJavaVersions().getContent()); + assertThat(metadata.getLanguages().getContent()).hasSameSizeAs(localMetadata.getLanguages().getContent()); } @Test @@ -79,8 +71,7 @@ class MainControllerServiceMetadataIntegrationTests @Test void validateJson() throws JSONException { - ResponseEntity response = execute("/metadata/config", String.class, null, - "application/json"); + ResponseEntity response = execute("/metadata/config", String.class, null, "application/json"); validateContentType(response, MediaType.APPLICATION_JSON); JSONObject json = new JSONObject(response.getBody()); JSONObject expected = readJsonFrom("metadata/config/test-default.json"); @@ -89,8 +80,7 @@ class MainControllerServiceMetadataIntegrationTests @Test void metadataClientEndpoint() { - ResponseEntity response = execute("/metadata/client", String.class, null, - "application/json"); + ResponseEntity response = execute("/metadata/client", String.class, null, "application/json"); validateCurrentMetadata(response); } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerSslIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerSslIntegrationTests.java index 34cd2bf9..ec84d618 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerSslIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerSslIntegrationTests.java @@ -32,8 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Stephane Nicoll */ @ActiveProfiles({ "test-default", "test-ssl" }) -class MainControllerSslIntegrationTests - extends AbstractInitializrControllerIntegrationTests { +class MainControllerSslIntegrationTests extends AbstractInitializrControllerIntegrationTests { @Test void forceSsl() { @@ -45,18 +44,14 @@ class MainControllerSslIntegrationTests @Test void forceSslInMetadata() { - ResponseEntity response = invokeHome(null, - "application/vnd.initializr.v2.1+json"); - validateMetadata(response, InitializrMetadataVersion.V2_1.getMediaType(), - "2.1.0-ssl", JSONCompareMode.STRICT); + ResponseEntity response = invokeHome(null, "application/vnd.initializr.v2.1+json"); + validateMetadata(response, InitializrMetadataVersion.V2_1.getMediaType(), "2.1.0-ssl", JSONCompareMode.STRICT); } @Test void forceSslInMetadataV2() { - ResponseEntity response = invokeHome(null, - "application/vnd.initializr.v2+json"); - validateMetadata(response, InitializrMetadataVersion.V2.getMediaType(), - "2.0.0-ssl", JSONCompareMode.STRICT); + ResponseEntity response = invokeHome(null, "application/vnd.initializr.v2+json"); + validateMetadata(response, InitializrMetadataVersion.V2.getMediaType(), "2.0.0-ssl", JSONCompareMode.STRICT); } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectGenerationDescriptionCustomizerTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectGenerationDescriptionCustomizerTests.java index 98a0bfb0..c247612b 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectGenerationDescriptionCustomizerTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectGenerationDescriptionCustomizerTests.java @@ -31,14 +31,12 @@ import org.springframework.test.context.ActiveProfiles; @ActiveProfiles("test-default") @Import(ProjectDescriptionCustomizerConfiguration.class) -class ProjectGenerationDescriptionCustomizerTests - extends AbstractInitializrControllerIntegrationTests { +class ProjectGenerationDescriptionCustomizerTests extends AbstractInitializrControllerIntegrationTests { @Test void projectDescriptionCustomizersAreInvoked() { - downloadZip("/starter.zip?bootVersion=2.0.4.RELEASE&javaVersion=1.8") - .isJavaProject().isMavenProject().pomAssert() - .hasSpringBootParent("2.2.3.RELEASE").hasProperty("java.version", "1.7"); + downloadZip("/starter.zip?bootVersion=2.0.4.RELEASE&javaVersion=1.8").isJavaProject().isMavenProject() + .pomAssert().hasSpringBootParent("2.2.3.RELEASE").hasProperty("java.version", "1.7"); } @Configuration diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectGenerationInvokerTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectGenerationInvokerTests.java index f56b0358..ecf484e4 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectGenerationInvokerTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectGenerationInvokerTests.java @@ -58,22 +58,19 @@ import static org.mockito.Mockito.verify; */ public class ProjectGenerationInvokerTests { - private static final InitializrMetadata metadata = InitializrMetadataTestBuilder - .withDefaults().build(); + private static final InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().build(); private ProjectGenerationInvoker invoker; private AnnotationConfigApplicationContext context; - private final ApplicationEventPublisher eventPublisher = mock( - ApplicationEventPublisher.class); + private final ApplicationEventPublisher eventPublisher = mock(ApplicationEventPublisher.class); @BeforeEach void setup() { setupContext(); ProjectRequestToDescriptionConverter converter = new ProjectRequestToDescriptionConverter(); - this.invoker = new ProjectGenerationInvoker(this.context, this.eventPublisher, - converter); + this.invoker = new ProjectGenerationInvoker(this.context, this.eventPublisher, converter); } @AfterEach @@ -89,12 +86,11 @@ public class ProjectGenerationInvokerTests { WebProjectRequest request = new WebProjectRequest(); request.setType("maven-project"); request.initialize(metadata); - ProjectGenerationResult result = this.invoker - .invokeProjectStructureGeneration(request); + ProjectGenerationResult result = this.invoker.invokeProjectStructureGeneration(request); new ProjectAssert(result.getRootDirectory()).isJavaProject(); File file = result.getRootDirectory().toFile(); - Map> tempFiles = (Map>) ReflectionTestUtils - .getField(this.invoker, "temporaryFiles"); + Map> tempFiles = (Map>) ReflectionTestUtils.getField(this.invoker, + "temporaryFiles"); assertThat(tempFiles.get(file.getName())).contains(file); verifyProjectSuccessfulEventFor(request); } @@ -119,11 +115,9 @@ public class ProjectGenerationInvokerTests { request.initialize(metadata); byte[] bytes = this.invoker.invokeBuildGeneration(request); String content = new String(bytes); - new PomAssert(content).hasGroupId(request.getGroupId()) - .hasArtifactId(request.getArtifactId()).hasVersion(request.getVersion()) - .doesNotHaveNode("/project/packaging").hasName(request.getName()) - .hasDescription(request.getDescription()) - .hasJavaVersion(request.getJavaVersion()) + new PomAssert(content).hasGroupId(request.getGroupId()).hasArtifactId(request.getArtifactId()) + .hasVersion(request.getVersion()).doesNotHaveNode("/project/packaging").hasName(request.getName()) + .hasDescription(request.getDescription()).hasJavaVersion(request.getJavaVersion()) .hasSpringBootParent(request.getBootVersion()); verifyProjectSuccessfulEventFor(request); } @@ -135,8 +129,7 @@ public class ProjectGenerationInvokerTests { request.setType("gradle-project"); byte[] bytes = this.invoker.invokeBuildGeneration(request); String content = new String(bytes); - new GradleBuildAssert(content).hasVersion(request.getVersion()) - .hasSpringBootPlugin(request.getBootVersion()) + new GradleBuildAssert(content).hasVersion(request.getVersion()).hasSpringBootPlugin(request.getBootVersion()) .hasJavaVersion(request.getJavaVersion()); verifyProjectSuccessfulEventFor(request); } @@ -162,8 +155,8 @@ public class ProjectGenerationInvokerTests { File dir = tempDir.toFile(); File distributionFile = this.invoker.createDistributionFile(dir, ".zip"); assertThat(distributionFile.toString()).isEqualTo(dir.toString() + ".zip"); - Map> tempFiles = (Map>) ReflectionTestUtils - .getField(this.invoker, "temporaryFiles"); + Map> tempFiles = (Map>) ReflectionTestUtils.getField(this.invoker, + "temporaryFiles"); assertThat(tempFiles.get(dir.getName())).contains(distributionFile); } @@ -172,31 +165,26 @@ public class ProjectGenerationInvokerTests { WebProjectRequest request = new WebProjectRequest(); request.initialize(metadata); request.setType("gradle-project"); - ProjectGenerationResult result = this.invoker - .invokeProjectStructureGeneration(request); + ProjectGenerationResult result = this.invoker.invokeProjectStructureGeneration(request); File file = result.getRootDirectory().toFile(); this.invoker.cleanTempFiles(file); assertThat(file.listFiles()).isNull(); } private void setupContext() { - InitializrMetadataProvider metadataProvider = mock( - InitializrMetadataProvider.class); - given(metadataProvider.get()) - .willReturn(InitializrMetadataTestBuilder.withDefaults().build()); + InitializrMetadataProvider metadataProvider = mock(InitializrMetadataProvider.class); + given(metadataProvider.get()).willReturn(InitializrMetadataTestBuilder.withDefaults().build()); this.context = new AnnotationConfigApplicationContext(); this.context.register(TestConfiguration.class); this.context.refresh(); } protected void verifyProjectSuccessfulEventFor(ProjectRequest request) { - verify(this.eventPublisher, times(1)) - .publishEvent(argThat(new ProjectGeneratedEventMatcher(request))); + verify(this.eventPublisher, times(1)).publishEvent(argThat(new ProjectGeneratedEventMatcher(request))); } protected void verifyProjectFailedEventFor(ProjectRequest request, Exception ex) { - verify(this.eventPublisher, times(1)) - .publishEvent(argThat(new ProjectFailedEventMatcher(request, ex))); + verify(this.eventPublisher, times(1)).publishEvent(argThat(new ProjectFailedEventMatcher(request, ex))); } @Configuration @@ -224,8 +212,7 @@ public class ProjectGenerationInvokerTests { } - private static class ProjectFailedEventMatcher - implements ArgumentMatcher { + private static class ProjectFailedEventMatcher implements ArgumentMatcher { private final ProjectRequest request; @@ -238,14 +225,12 @@ public class ProjectGenerationInvokerTests { @Override public boolean matches(ProjectFailedEvent event) { - return this.request.equals(event.getProjectRequest()) - && this.cause.equals(event.getCause()); + return this.request.equals(event.getProjectRequest()) && this.cause.equals(event.getCause()); } } - private static class ProjectGeneratedEventMatcher - implements ArgumentMatcher { + private static class ProjectGeneratedEventMatcher implements ArgumentMatcher { private final ProjectRequest request; diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectRequestToDescriptionConverterTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectRequestToDescriptionConverterTests.java index 37cb8cdc..645a28a9 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectRequestToDescriptionConverterTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/ProjectRequestToDescriptionConverterTests.java @@ -39,8 +39,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType; */ public class ProjectRequestToDescriptionConverterTests { - private InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .build(); + private InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().build(); private final ProjectRequestToDescriptionConverter converter = new ProjectRequestToDescriptionConverter(); @@ -57,14 +56,12 @@ public class ProjectRequestToDescriptionConverterTests { public void convertWhenTypeDoesNotDefineBuildTagShouldThrowException() { Type type = new Type(); type.setId("example-project"); - InitializrMetadata testMetadata = InitializrMetadataTestBuilder.withDefaults() - .addType(type).build(); + InitializrMetadata testMetadata = InitializrMetadataTestBuilder.withDefaults().addType(type).build(); ProjectRequest request = createProjectRequest(); request.setType("example-project"); assertThatExceptionOfType(InvalidProjectRequestException.class) .isThrownBy(() -> this.converter.convert(request, testMetadata)) - .withMessage( - "Invalid type 'example-project' (missing build tag) check project metadata"); + .withMessage("Invalid type 'example-project' (missing build tag) check project metadata"); } @Test @@ -73,8 +70,7 @@ public class ProjectRequestToDescriptionConverterTests { request.setBootVersion("1.2.3.M4"); assertThatExceptionOfType(InvalidProjectRequestException.class) .isThrownBy(() -> this.converter.convert(request, this.metadata)) - .withMessage( - "Invalid Spring Boot version 1.2.3.M4 must be 1.5.0 or higher"); + .withMessage("Invalid Spring Boot version 1.2.3.M4 must be 1.5.0 or higher"); } @Test @@ -108,14 +104,13 @@ public class ProjectRequestToDescriptionConverterTests { void convertWhenDependencyOutOfRangeShouldThrowException() { Dependency dependency = Dependency.withId("foo"); dependency.setRange(new VersionRange(Version.parse("2.2.0.M1"))); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("foo", dependency).build(); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("foo", dependency) + .build(); ProjectRequest request = createProjectRequest(); request.setDependencies(Collections.singletonList("foo")); assertThatExceptionOfType(InvalidProjectRequestException.class) .isThrownBy(() -> this.converter.convert(request, metadata)) - .withMessage("Dependency 'foo' is not compatible " - + "with Spring Boot 2.1.1.RELEASE"); + .withMessage("Dependency 'foo' is not compatible " + "with Spring Boot 2.1.1.RELEASE"); } @Test @@ -172,8 +167,7 @@ public class ProjectRequestToDescriptionConverterTests { Type type = new Type(); type.setId("example-type"); type.getTags().put("build", "gradle"); - InitializrMetadata testMetadata = InitializrMetadataTestBuilder.withDefaults() - .addType(type).build(); + InitializrMetadata testMetadata = InitializrMetadataTestBuilder.withDefaults().addType(type).build(); ProjectRequest request = createProjectRequest(); request.setType("example-type"); ProjectDescription description = this.converter.convert(request, testMetadata); @@ -208,8 +202,7 @@ public class ProjectRequestToDescriptionConverterTests { void convertShouldUseDefaultPlatformVersionFromMetadata() { ProjectRequest request = createProjectRequest(); ProjectDescription description = this.converter.convert(request, this.metadata); - assertThat(description.getPlatformVersion()) - .isEqualTo(Version.parse("2.1.1.RELEASE")); + assertThat(description.getPlatformVersion()).isEqualTo(Version.parse("2.1.1.RELEASE")); } @Test @@ -250,8 +243,7 @@ public class ProjectRequestToDescriptionConverterTests { ProjectRequest request = createProjectRequest(); request.setDescription(" "); ProjectDescription description = this.converter.convert(request, this.metadata); - assertThat(description.getDescription()) - .isEqualTo("Demo project for Spring Boot"); + assertThat(description.getDescription()).isEqualTo("Demo project for Spring Boot"); } @Test diff --git a/initializr-web/src/test/java/io/spring/initializr/web/support/AgentTests.java b/initializr-web/src/test/java/io/spring/initializr/web/support/AgentTests.java index a3922b5c..c45f5e54 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/support/AgentTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/support/AgentTests.java @@ -71,8 +71,7 @@ class AgentTests { @Test void checkIntelliJIDEAWithVersion() { - Agent agent = Agent - .fromUserAgent("IntelliJ IDEA/144.2 (Community edition; en-us)"); + Agent agent = Agent.fromUserAgent("IntelliJ IDEA/144.2 (Community edition; en-us)"); assertThat(agent.getId()).isEqualTo(Agent.AgentId.INTELLIJ_IDEA); assertThat(agent.getVersion()).isEqualTo("144.2"); } @@ -100,8 +99,7 @@ class AgentTests { @Test void checkGenericBrowser() { - Agent agent = Agent.fromUserAgent( - "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5 Build/MMB29K) "); + Agent agent = Agent.fromUserAgent("Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5 Build/MMB29K) "); assertThat(agent.getId()).isEqualTo(Agent.AgentId.BROWSER); assertThat(agent.getVersion()).isNull(); } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/support/CommandLineHelpGeneratorTests.java b/initializr-web/src/test/java/io/spring/initializr/web/support/CommandLineHelpGeneratorTests.java index cb0f10a2..f4e8bc61 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/support/CommandLineHelpGeneratorTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/support/CommandLineHelpGeneratorTests.java @@ -40,18 +40,14 @@ class CommandLineHelpGeneratorTests { @BeforeEach public void init() { - this.generator = new CommandLineHelpGenerator( - new MustacheTemplateRenderer("classpath:/templates")); + this.generator = new CommandLineHelpGenerator(new MustacheTemplateRenderer("classpath:/templates")); } @Test void generateGenericCapabilities() throws IOException { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("test", createDependency("id-b", "depB"), - createDependency("id-a", "depA", "and some description")) - .build(); - String content = this.generator.generateGenericCapabilities(metadata, - "https://fake-service"); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("test", + createDependency("id-b", "depB"), createDependency("id-a", "depA", "and some description")).build(); + String content = this.generator.generateGenericCapabilities(metadata, "https://fake-service"); assertCommandLineCapabilities(content); assertThat(content).contains("id-a | and some description |"); assertThat(content).contains("id-b | depB"); @@ -66,10 +62,8 @@ class CommandLineHelpGeneratorTests { type.setId("foo"); type.setName("foo-name"); type.setDescription("foo-desc"); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addType(type).build(); - String content = this.generator.generateGenericCapabilities(metadata, - "https://fake-service"); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addType(type).build(); + String content = this.generator.generateGenericCapabilities(metadata, "https://fake-service"); assertCommandLineCapabilities(content); assertThat(content).contains("| foo"); assertThat(content).contains("| foo-desc"); @@ -81,8 +75,7 @@ class CommandLineHelpGeneratorTests { dependency.setAliases(Arrays.asList("legacy", "another")); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", dependency).build(); - String content = this.generator.generateGenericCapabilities(metadata, - "https://fake-service"); + String content = this.generator.generateGenericCapabilities(metadata, "https://fake-service"); assertCommandLineCapabilities(content); assertThat(content).contains("dep | some description |"); assertThat(content).doesNotContain("legacy").doesNotContain("another"); @@ -90,12 +83,9 @@ class CommandLineHelpGeneratorTests { @Test void generateCurlCapabilities() throws IOException { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("test", createDependency("id-b", "depB"), - createDependency("id-a", "depA", "and some description")) - .build(); - String content = this.generator.generateCurlCapabilities(metadata, - "https://fake-service"); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("test", + createDependency("id-b", "depB"), createDependency("id-a", "depA", "and some description")).build(); + String content = this.generator.generateCurlCapabilities(metadata, "https://fake-service"); assertCommandLineCapabilities(content); assertThat(content).contains("id-a | and some description |"); assertThat(content).contains("id-b | depB"); @@ -106,12 +96,9 @@ class CommandLineHelpGeneratorTests { @Test void generateHttpCapabilities() throws IOException { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("test", createDependency("id-b", "depB"), - createDependency("id-a", "depA", "and some description")) - .build(); - String content = this.generator.generateHttpieCapabilities(metadata, - "https://fake-service"); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("test", + createDependency("id-b", "depB"), createDependency("id-a", "depA", "and some description")).build(); + String content = this.generator.generateHttpieCapabilities(metadata, "https://fake-service"); assertCommandLineCapabilities(content); assertThat(content).contains("id-a | and some description |"); assertThat(content).contains("id-b | depB"); @@ -123,12 +110,9 @@ class CommandLineHelpGeneratorTests { @Test void generateSpringBootCliCapabilities() throws IOException { - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addDependencyGroup("test", createDependency("id-b", "depB"), - createDependency("id-a", "depA", "and some description")) - .build(); - String content = this.generator.generateSpringBootCliCapabilities(metadata, - "https://fake-service"); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addDependencyGroup("test", + createDependency("id-b", "depB"), createDependency("id-a", "depA", "and some description")).build(); + String content = this.generator.generateSpringBootCliCapabilities(metadata, "https://fake-service"); assertThat(content).contains("| Id"); assertThat(content).contains("| Tags"); assertThat(content).contains("id-a | and some description |"); @@ -152,12 +136,9 @@ class CommandLineHelpGeneratorTests { second.setVersionRange(" [1.2.0.RELEASE,1.3.0.M1) "); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", first, second).build(); - String content = this.generator.generateSpringBootCliCapabilities(metadata, - "https://fake-service"); - assertThat(content) - .contains("| first | first desc | >=1.2.0.RELEASE |"); - assertThat(content) - .contains("| second | second desc | >=1.2.0.RELEASE and <1.3.0.M1 |"); + String content = this.generator.generateSpringBootCliCapabilities(metadata, "https://fake-service"); + assertThat(content).contains("| first | first desc | >=1.2.0.RELEASE |"); + assertThat(content).contains("| second | second desc | >=1.2.0.RELEASE and <1.3.0.M1 |"); } private static void assertCommandLineCapabilities(String content) { @@ -172,8 +153,7 @@ class CommandLineHelpGeneratorTests { return createDependency(id, name, null); } - private static Dependency createDependency(String id, String name, - String description) { + private static Dependency createDependency(String id, String name, String description) { Dependency dependency = Dependency.withId(id); dependency.setDescription(description); dependency.setName(name); diff --git a/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultDependencyMetadataProviderTests.java b/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultDependencyMetadataProviderTests.java index bbd43576..0a375047 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultDependencyMetadataProviderTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultDependencyMetadataProviderTests.java @@ -43,8 +43,7 @@ class DefaultDependencyMetadataProviderTests { third.setVersionRange("2.1.8.RELEASE"); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", first, second, third).build(); - DependencyMetadata dependencyMetadata = this.provider.get(metadata, - Version.parse("2.1.5.RELEASE")); + DependencyMetadata dependencyMetadata = this.provider.get(metadata, Version.parse("2.1.5.RELEASE")); assertThat(dependencyMetadata.getDependencies()).hasSize(2); assertThat(dependencyMetadata.getRepositories()).isEmpty(); assertThat(dependencyMetadata.getBoms()).isEmpty(); @@ -55,34 +54,24 @@ class DefaultDependencyMetadataProviderTests { @Test void resolveDependencies() { Dependency first = Dependency.withId("first", "org.foo", "first"); - first.getMappings().add(Dependency.Mapping.create( - "[1.0.0.RELEASE, 1.1.0.RELEASE)", "org.bar", "second", "0.1.0.RELEASE")); - first.getMappings().add(Dependency.Mapping.create("1.1.0.RELEASE", "org.biz", - "third", "0.2.0.RELEASE")); + first.getMappings() + .add(Dependency.Mapping.create("[1.0.0.RELEASE, 1.1.0.RELEASE)", "org.bar", "second", "0.1.0.RELEASE")); + first.getMappings().add(Dependency.Mapping.create("1.1.0.RELEASE", "org.biz", "third", "0.2.0.RELEASE")); Dependency second = Dependency.withId("second", "org.foo", "second"); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", first, second).build(); - DependencyMetadata dependencyMetadata = this.provider.get(metadata, - Version.parse("1.0.5.RELEASE")); + DependencyMetadata dependencyMetadata = this.provider.get(metadata, Version.parse("1.0.5.RELEASE")); assertThat(dependencyMetadata.getDependencies()).hasSize(2); - assertThat(dependencyMetadata.getDependencies().get("first").getGroupId()) - .isEqualTo("org.bar"); - assertThat(dependencyMetadata.getDependencies().get("first").getArtifactId()) - .isEqualTo("second"); - assertThat(dependencyMetadata.getDependencies().get("first").getVersion()) - .isEqualTo("0.1.0.RELEASE"); + assertThat(dependencyMetadata.getDependencies().get("first").getGroupId()).isEqualTo("org.bar"); + assertThat(dependencyMetadata.getDependencies().get("first").getArtifactId()).isEqualTo("second"); + assertThat(dependencyMetadata.getDependencies().get("first").getVersion()).isEqualTo("0.1.0.RELEASE"); - DependencyMetadata anotherDependencyMetadata = this.provider.get(metadata, - Version.parse("1.1.0.RELEASE")); + DependencyMetadata anotherDependencyMetadata = this.provider.get(metadata, Version.parse("1.1.0.RELEASE")); assertThat(anotherDependencyMetadata.getDependencies()).hasSize(2); - assertThat(anotherDependencyMetadata.getDependencies().get("first").getGroupId()) - .isEqualTo("org.biz"); - assertThat( - anotherDependencyMetadata.getDependencies().get("first").getArtifactId()) - .isEqualTo("third"); - assertThat(anotherDependencyMetadata.getDependencies().get("first").getVersion()) - .isEqualTo("0.2.0.RELEASE"); + assertThat(anotherDependencyMetadata.getDependencies().get("first").getGroupId()).isEqualTo("org.biz"); + assertThat(anotherDependencyMetadata.getDependencies().get("first").getArtifactId()).isEqualTo("third"); + assertThat(anotherDependencyMetadata.getDependencies().get("first").getVersion()).isEqualTo("0.2.0.RELEASE"); } @Test @@ -95,13 +84,12 @@ class DefaultDependencyMetadataProviderTests { InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addRepository("repo-foo", "my-repo", "http://localhost", false) .addDependencyGroup("test", first, second, third).build(); - DependencyMetadata dependencyMetadata = this.provider.get(metadata, - Version.parse("1.1.5.RELEASE")); + DependencyMetadata dependencyMetadata = this.provider.get(metadata, Version.parse("1.1.5.RELEASE")); assertThat(dependencyMetadata.getDependencies()).hasSize(3); assertThat(dependencyMetadata.getRepositories()).hasSize(1); assertThat(dependencyMetadata.getBoms()).isEmpty(); - assertThat(dependencyMetadata.getRepositories().get("repo-foo")).isSameAs( - metadata.getConfiguration().getEnv().getRepositories().get("repo-foo")); + assertThat(dependencyMetadata.getRepositories().get("repo-foo")) + .isSameAs(metadata.getConfiguration().getEnv().getRepositories().get("repo-foo")); } @Test @@ -113,66 +101,45 @@ class DefaultDependencyMetadataProviderTests { third.setBom("bom-foo"); BillOfMaterials bom = BillOfMaterials.create("org.foo", "bom"); - bom.getMappings().add(BillOfMaterials.Mapping - .create("[1.0.0.RELEASE, 1.1.8.RELEASE)", "1.0.0.RELEASE")); - bom.getMappings() - .add(BillOfMaterials.Mapping.create("1.1.8.RELEASE", "2.0.0.RELEASE")); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addBom("bom-foo", bom).addDependencyGroup("test", first, second, third) - .build(); - DependencyMetadata dependencyMetadata = this.provider.get(metadata, - Version.parse("1.1.5.RELEASE")); + bom.getMappings().add(BillOfMaterials.Mapping.create("[1.0.0.RELEASE, 1.1.8.RELEASE)", "1.0.0.RELEASE")); + bom.getMappings().add(BillOfMaterials.Mapping.create("1.1.8.RELEASE", "2.0.0.RELEASE")); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addBom("bom-foo", bom) + .addDependencyGroup("test", first, second, third).build(); + DependencyMetadata dependencyMetadata = this.provider.get(metadata, Version.parse("1.1.5.RELEASE")); assertThat(dependencyMetadata.getDependencies()).hasSize(3); assertThat(dependencyMetadata.getRepositories()).isEmpty(); assertThat(dependencyMetadata.getBoms()).hasSize(1); - assertThat(dependencyMetadata.getBoms().get("bom-foo").getGroupId()) - .isEqualTo("org.foo"); - assertThat(dependencyMetadata.getBoms().get("bom-foo").getArtifactId()) - .isEqualTo("bom"); - assertThat(dependencyMetadata.getBoms().get("bom-foo").getVersion()) - .isEqualTo("1.0.0.RELEASE"); + assertThat(dependencyMetadata.getBoms().get("bom-foo").getGroupId()).isEqualTo("org.foo"); + assertThat(dependencyMetadata.getBoms().get("bom-foo").getArtifactId()).isEqualTo("bom"); + assertThat(dependencyMetadata.getBoms().get("bom-foo").getVersion()).isEqualTo("1.0.0.RELEASE"); } @Test void repoFromBomAccordingToVersion() { - DependencyMetadata dependencyMetadata = testRepoFromBomAccordingToVersion( - "1.0.9.RELEASE"); - assertThat(dependencyMetadata.getBootVersion()) - .isEqualTo(Version.parse("1.0.9.RELEASE")); + DependencyMetadata dependencyMetadata = testRepoFromBomAccordingToVersion("1.0.9.RELEASE"); + assertThat(dependencyMetadata.getBootVersion()).isEqualTo(Version.parse("1.0.9.RELEASE")); assertThat(dependencyMetadata.getDependencies()).hasSize(3); assertThat(dependencyMetadata.getRepositories()).hasSize(2); assertThat(dependencyMetadata.getBoms()).hasSize(1); - assertThat(dependencyMetadata.getRepositories().get("repo-foo").getName()) - .isEqualTo("foo"); - assertThat(dependencyMetadata.getRepositories().get("repo-bar").getName()) - .isEqualTo("bar"); - assertThat(dependencyMetadata.getBoms().get("bom-foo").getGroupId()) - .isEqualTo("org.foo"); - assertThat(dependencyMetadata.getBoms().get("bom-foo").getArtifactId()) - .isEqualTo("bom"); - assertThat(dependencyMetadata.getBoms().get("bom-foo").getVersion()) - .isEqualTo("2.0.0.RELEASE"); + assertThat(dependencyMetadata.getRepositories().get("repo-foo").getName()).isEqualTo("foo"); + assertThat(dependencyMetadata.getRepositories().get("repo-bar").getName()).isEqualTo("bar"); + assertThat(dependencyMetadata.getBoms().get("bom-foo").getGroupId()).isEqualTo("org.foo"); + assertThat(dependencyMetadata.getBoms().get("bom-foo").getArtifactId()).isEqualTo("bom"); + assertThat(dependencyMetadata.getBoms().get("bom-foo").getVersion()).isEqualTo("2.0.0.RELEASE"); } @Test void repoFromBomAccordingToAnotherVersion() { - DependencyMetadata dependencyMetadata = testRepoFromBomAccordingToVersion( - "1.1.5.RELEASE"); - assertThat(dependencyMetadata.getBootVersion()) - .isEqualTo(Version.parse("1.1.5.RELEASE")); + DependencyMetadata dependencyMetadata = testRepoFromBomAccordingToVersion("1.1.5.RELEASE"); + assertThat(dependencyMetadata.getBootVersion()).isEqualTo(Version.parse("1.1.5.RELEASE")); assertThat(dependencyMetadata.getDependencies()).hasSize(3); assertThat(dependencyMetadata.getRepositories()).hasSize(2); assertThat(dependencyMetadata.getBoms()).hasSize(1); - assertThat(dependencyMetadata.getRepositories().get("repo-foo").getName()) - .isEqualTo("foo"); - assertThat(dependencyMetadata.getRepositories().get("repo-biz").getName()) - .isEqualTo("biz"); - assertThat(dependencyMetadata.getBoms().get("bom-foo").getGroupId()) - .isEqualTo("org.foo"); - assertThat(dependencyMetadata.getBoms().get("bom-foo").getArtifactId()) - .isEqualTo("bom"); - assertThat(dependencyMetadata.getBoms().get("bom-foo").getVersion()) - .isEqualTo("3.0.0.RELEASE"); + assertThat(dependencyMetadata.getRepositories().get("repo-foo").getName()).isEqualTo("foo"); + assertThat(dependencyMetadata.getRepositories().get("repo-biz").getName()).isEqualTo("biz"); + assertThat(dependencyMetadata.getBoms().get("bom-foo").getGroupId()).isEqualTo("org.foo"); + assertThat(dependencyMetadata.getBoms().get("bom-foo").getArtifactId()).isEqualTo("bom"); + assertThat(dependencyMetadata.getBoms().get("bom-foo").getVersion()).isEqualTo("3.0.0.RELEASE"); } private DependencyMetadata testRepoFromBomAccordingToVersion(String bootVersion) { @@ -183,13 +150,10 @@ class DefaultDependencyMetadataProviderTests { third.setBom("bom-foo"); BillOfMaterials bom = BillOfMaterials.create("org.foo", "bom"); - bom.getMappings() - .add(BillOfMaterials.Mapping.create("[1.0.0.RELEASE, 1.1.0.RELEASE)", - "2.0.0.RELEASE", "repo-foo", "repo-bar")); - bom.getMappings().add(BillOfMaterials.Mapping.create("1.1.0.RELEASE", - "3.0.0.RELEASE", "repo-biz")); - InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() - .addBom("bom-foo", bom) + bom.getMappings().add(BillOfMaterials.Mapping.create("[1.0.0.RELEASE, 1.1.0.RELEASE)", "2.0.0.RELEASE", + "repo-foo", "repo-bar")); + bom.getMappings().add(BillOfMaterials.Mapping.create("1.1.0.RELEASE", "3.0.0.RELEASE", "repo-biz")); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults().addBom("bom-foo", bom) .addRepository("repo-foo", "foo", "http://localhost", false) .addRepository("repo-bar", "bar", "http://localhost", false) .addRepository("repo-biz", "biz", "http://localhost", false) diff --git a/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultInitializrMetadataProviderTests.java b/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultInitializrMetadataProviderTests.java index 3939e921..7eeade8d 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultInitializrMetadataProviderTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultInitializrMetadataProviderTests.java @@ -35,11 +35,9 @@ class DefaultInitializrMetadataProviderTests { void strategyIsInvokedOnGet() { InitializrMetadata metadata = mock(InitializrMetadata.class); InitializrMetadata updatedMetadata = mock(InitializrMetadata.class); - InitializrMetadataUpdateStrategy updateStrategy = mock( - InitializrMetadataUpdateStrategy.class); + InitializrMetadataUpdateStrategy updateStrategy = mock(InitializrMetadataUpdateStrategy.class); given(updateStrategy.update(metadata)).willReturn(updatedMetadata); - DefaultInitializrMetadataProvider provider = new DefaultInitializrMetadataProvider( - metadata, updateStrategy); + DefaultInitializrMetadataProvider provider = new DefaultInitializrMetadataProvider(metadata, updateStrategy); assertThat(provider.get()).isEqualTo(updatedMetadata); verify(updateStrategy).update(metadata); } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultInitializrMetadataUpdateStrategyTests.java b/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultInitializrMetadataUpdateStrategyTests.java index 4aafbb12..36f2c1cf 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultInitializrMetadataUpdateStrategyTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultInitializrMetadataUpdateStrategyTests.java @@ -59,20 +59,16 @@ class DefaultInitializrMetadataUpdateStrategyTests { @Test void bootVersionsAreReplaced() { - InitializrMetadata metadata = new InitializrMetadataTestBuilder() - .addBootVersion("0.0.9.RELEASE", true) + InitializrMetadata metadata = new InitializrMetadataTestBuilder().addBootVersion("0.0.9.RELEASE", true) .addBootVersion("0.0.8.RELEASE", false).build(); - assertThat(metadata.getBootVersions().getDefault().getId()) - .isEqualTo("0.0.9.RELEASE"); + assertThat(metadata.getBootVersions().getDefault().getId()).isEqualTo("0.0.9.RELEASE"); DefaultInitializrMetadataUpdateStrategy provider = new DefaultInitializrMetadataUpdateStrategy( this.restTemplate, objectMapper); - expectJson(metadata.getConfiguration().getEnv().getSpringBootMetadataUrl(), - "metadata/sagan/spring-boot.json"); + expectJson(metadata.getConfiguration().getEnv().getSpringBootMetadataUrl(), "metadata/sagan/spring-boot.json"); InitializrMetadata updatedMetadata = provider.update(metadata); assertThat(updatedMetadata.getBootVersions()).isNotNull(); - List updatedBootVersions = updatedMetadata - .getBootVersions().getContent(); + List updatedBootVersions = updatedMetadata.getBootVersions().getContent(); assertThat(updatedBootVersions).hasSize(4); assertBootVersion(updatedBootVersions.get(0), "1.4.1 (SNAPSHOT)", false); assertBootVersion(updatedBootVersions.get(1), "1.4.0", true); @@ -82,11 +78,9 @@ class DefaultInitializrMetadataUpdateStrategyTests { @Test void defaultBootVersionIsAlwaysSet() { - InitializrMetadata metadata = new InitializrMetadataTestBuilder() - .addBootVersion("0.0.9.RELEASE", true) + InitializrMetadata metadata = new InitializrMetadataTestBuilder().addBootVersion("0.0.9.RELEASE", true) .addBootVersion("0.0.8.RELEASE", false).build(); - assertThat(metadata.getBootVersions().getDefault().getId()) - .isEqualTo("0.0.9.RELEASE"); + assertThat(metadata.getBootVersions().getDefault().getId()).isEqualTo("0.0.9.RELEASE"); DefaultInitializrMetadataUpdateStrategy provider = new DefaultInitializrMetadataUpdateStrategy( this.restTemplate, objectMapper); expectJson(metadata.getConfiguration().getEnv().getSpringBootMetadataUrl(), @@ -94,8 +88,7 @@ class DefaultInitializrMetadataUpdateStrategyTests { InitializrMetadata updatedMetadata = provider.update(metadata); assertThat(updatedMetadata.getBootVersions()).isNotNull(); - List updatedBootVersions = updatedMetadata - .getBootVersions().getContent(); + List updatedBootVersions = updatedMetadata.getBootVersions().getContent(); assertThat(updatedBootVersions).hasSize(4); assertBootVersion(updatedBootVersions.get(0), "1.3.1 (SNAPSHOT)", true); assertBootVersion(updatedBootVersions.get(1), "1.3.0", false); @@ -103,8 +96,7 @@ class DefaultInitializrMetadataUpdateStrategyTests { assertBootVersion(updatedBootVersions.get(3), "1.2.5", false); } - private static void assertBootVersion(DefaultMetadataElement actual, String name, - boolean defaultVersion) { + private static void assertBootVersion(DefaultMetadataElement actual, String name, boolean defaultVersion) { assertThat(actual.getName()).isEqualTo(name); assertThat(actual.isDefault()).isEqualTo(defaultVersion); } @@ -113,8 +105,7 @@ class DefaultInitializrMetadataUpdateStrategyTests { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setContentType(MediaType.APPLICATION_JSON); this.mockServer.expect(requestTo(url)).andExpect(method(HttpMethod.GET)) - .andRespond(withStatus(HttpStatus.OK) - .body(new ClassPathResource(bodyPath)).headers(httpHeaders)); + .andRespond(withStatus(HttpStatus.OK).body(new ClassPathResource(bodyPath)).headers(httpHeaders)); } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/support/SpringBootMetadataReaderTests.java b/initializr-web/src/test/java/io/spring/initializr/web/support/SpringBootMetadataReaderTests.java index b1144c6f..9306878e 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/support/SpringBootMetadataReaderTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/support/SpringBootMetadataReaderTests.java @@ -42,26 +42,20 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat */ class SpringBootMetadataReaderTests { - private final InitializrMetadata metadata = InitializrMetadataBuilder.create() - .build(); + private final InitializrMetadata metadata = InitializrMetadataBuilder.create().build(); private final ObjectMapper objectMapper = new ObjectMapper(); private final RestTemplate restTemplate = new RestTemplate(); - private final MockRestServiceServer server = MockRestServiceServer - .bindTo(this.restTemplate).build(); + private final MockRestServiceServer server = MockRestServiceServer.bindTo(this.restTemplate).build(); @Test void readAvailableVersions() throws IOException { - this.server.expect(requestTo("https://spring.io/project_metadata/spring-boot")) - .andRespond(withSuccess( - new ClassPathResource("metadata/sagan/spring-boot.json"), - MediaType.APPLICATION_JSON)); - List versions = new SpringBootMetadataReader( - this.objectMapper, this.restTemplate, - this.metadata.getConfiguration().getEnv().getSpringBootMetadataUrl()) - .getBootVersions(); + this.server.expect(requestTo("https://spring.io/project_metadata/spring-boot")).andRespond( + withSuccess(new ClassPathResource("metadata/sagan/spring-boot.json"), MediaType.APPLICATION_JSON)); + List versions = new SpringBootMetadataReader(this.objectMapper, this.restTemplate, + this.metadata.getConfiguration().getEnv().getSpringBootMetadataUrl()).getBootVersions(); assertThat(versions).as("spring boot versions should not be null").isNotNull(); AtomicBoolean defaultFound = new AtomicBoolean(false); versions.forEach((it) -> { diff --git a/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldPath.java b/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldPath.java index a02e191b..4d794b5c 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldPath.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldPath.java @@ -34,8 +34,7 @@ final class JsonFieldPath { private static final Pattern BRACKETS_AND_ARRAY_PATTERN = Pattern .compile("\\[\'(.+?)\'\\]|\\[([0-9]+|\\*){0,1}\\]"); - private static final Pattern ARRAY_INDEX_PATTERN = Pattern - .compile("\\[([0-9]+|\\*){0,1}\\]"); + private static final Pattern ARRAY_INDEX_PATTERN = Pattern.compile("\\[([0-9]+|\\*){0,1}\\]"); private final String rawPath; @@ -45,8 +44,7 @@ final class JsonFieldPath { private final boolean array; - private JsonFieldPath(String rawPath, List segments, boolean precise, - boolean array) { + private JsonFieldPath(String rawPath, List segments, boolean precise, boolean array) { this.rawPath = rawPath; this.segments = segments; this.precise = precise; @@ -98,8 +96,7 @@ final class JsonFieldPath { List segments = new ArrayList<>(); while (matcher.find()) { if (previous != matcher.start()) { - segments.addAll(extractDotSeparatedSegments( - path.substring(previous, matcher.start()))); + segments.addAll(extractDotSeparatedSegments(path.substring(previous, matcher.start()))); } if (matcher.group(1) != null) { segments.add(matcher.group(1)); diff --git a/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldProcessor.java b/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldProcessor.java index ae2c33f2..fe322e2f 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldProcessor.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldProcessor.java @@ -33,15 +33,13 @@ final class JsonFieldProcessor { boolean hasField(JsonFieldPath fieldPath, Object payload) { final AtomicReference hasField = new AtomicReference<>(false); - traverse(new ProcessingContext(payload, fieldPath), - (match) -> hasField.set(true)); + traverse(new ProcessingContext(payload, fieldPath), (match) -> hasField.set(true)); return hasField.get(); } Object extract(JsonFieldPath path, Object payload) { final List matches = new ArrayList<>(); - traverse(new ProcessingContext(payload, path), - (match) -> matches.add(match.getValue())); + traverse(new ProcessingContext(payload, path), (match) -> matches.add(match.getValue())); if (matches.isEmpty()) { throw new IllegalArgumentException("Field does not exist: " + path); } @@ -64,40 +62,32 @@ final class JsonFieldProcessor { handleListPayload(context, matchCallback); } } - else if (context.getPayload() instanceof Map - && ((Map) context.getPayload()).containsKey(segment)) { + else if (context.getPayload() instanceof Map && ((Map) context.getPayload()).containsKey(segment)) { handleMapPayload(context, matchCallback); } } - private void handleListPayload(ProcessingContext context, - MatchCallback matchCallback) { + private void handleListPayload(ProcessingContext context, MatchCallback matchCallback) { List list = context.getPayload(); final Iterator items = list.iterator(); if (context.isLeaf()) { while (items.hasNext()) { Object item = items.next(); - matchCallback.foundMatch( - new ListMatch(items, list, item, context.getParentMatch())); + matchCallback.foundMatch(new ListMatch(items, list, item, context.getParentMatch())); } } else { while (items.hasNext()) { Object item = items.next(); - traverse( - context.descend(item, - new ListMatch(items, list, item, context.parent)), - matchCallback); + traverse(context.descend(item, new ListMatch(items, list, item, context.parent)), matchCallback); } } } - private void handleMapPayload(ProcessingContext context, - MatchCallback matchCallback) { + private void handleMapPayload(ProcessingContext context, MatchCallback matchCallback) { Map map = context.getPayload(); Object item = map.get(context.getSegment()); - MapMatch mapMatch = new MapMatch(item, map, context.getSegment(), - context.getParentMatch()); + MapMatch mapMatch = new MapMatch(item, map, context.getSegment(), context.getParentMatch()); if (context.isLeaf()) { matchCallback.foundMatch(mapMatch); } @@ -198,8 +188,7 @@ final class JsonFieldProcessor { this(payload, path, null, null); } - private ProcessingContext(Object payload, JsonFieldPath path, - List segments, Match parent) { + private ProcessingContext(Object payload, JsonFieldPath path, List segments, Match parent) { this.payload = payload; this.path = path; this.segments = (segments != null) ? segments : path.getSegments(); @@ -224,8 +213,7 @@ final class JsonFieldProcessor { } private ProcessingContext descend(Object payload, Match match) { - return new ProcessingContext(payload, this.path, - this.segments.subList(1, this.segments.size()), match); + return new ProcessingContext(payload, this.path, this.segments.subList(1, this.segments.size()), match); } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactory.java b/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactory.java index 30b34455..923be84c 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactory.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactory.java @@ -62,37 +62,30 @@ public class MockMvcClientHttpRequestFactory implements ClientHttpRequestFactory } @Override - public ClientHttpRequest createRequest(final URI uri, final HttpMethod httpMethod) - throws IOException { + public ClientHttpRequest createRequest(final URI uri, final HttpMethod httpMethod) throws IOException { return new MockClientHttpRequest(httpMethod, uri) { @Override public ClientHttpResponse executeInternal() throws IOException { try { - MockHttpServletRequestBuilder requestBuilder = request(httpMethod, - uri.toString()); + MockHttpServletRequestBuilder requestBuilder = request(httpMethod, uri.toString()); requestBuilder.content(getBodyAsBytes()); requestBuilder.headers(getHeaders()); - MockHttpServletResponse servletResponse = actions(requestBuilder) - .andReturn().getResponse(); + MockHttpServletResponse servletResponse = actions(requestBuilder).andReturn().getResponse(); HttpStatus status = HttpStatus.valueOf(servletResponse.getStatus()); if (status.value() >= 400) { requestBuilder = request(HttpMethod.GET, "/error") - .requestAttr(RequestDispatcher.ERROR_STATUS_CODE, - status.value()) - .requestAttr(RequestDispatcher.ERROR_REQUEST_URI, - uri.toString()); + .requestAttr(RequestDispatcher.ERROR_STATUS_CODE, status.value()) + .requestAttr(RequestDispatcher.ERROR_REQUEST_URI, uri.toString()); if (servletResponse.getErrorMessage() != null) { requestBuilder.requestAttr(RequestDispatcher.ERROR_MESSAGE, servletResponse.getErrorMessage()); } // Overwrites the snippets from the first request - servletResponse = actions(requestBuilder).andReturn() - .getResponse(); + servletResponse = actions(requestBuilder).andReturn().getResponse(); } byte[] body = servletResponse.getContentAsByteArray(); HttpHeaders headers = getResponseHeaders(servletResponse); - MockClientHttpResponse clientResponse = new MockClientHttpResponse( - body, status); + MockClientHttpResponse clientResponse = new MockClientHttpResponse(body, status); clientResponse.getHeaders().putAll(headers); return clientResponse; } @@ -104,16 +97,13 @@ public class MockMvcClientHttpRequestFactory implements ClientHttpRequestFactory }; } - private ResultActions actions(MockHttpServletRequestBuilder requestBuilder) - throws Exception { - ResultActions actions = MockMvcClientHttpRequestFactory.this.mockMvc - .perform(requestBuilder); + private ResultActions actions(MockHttpServletRequestBuilder requestBuilder) throws Exception { + ResultActions actions = MockMvcClientHttpRequestFactory.this.mockMvc.perform(requestBuilder); List snippets = new ArrayList<>(); for (String field : this.fields) { snippets.add(new ResponseFieldSnippet(field)); } - actions.andDo(document(this.label, preprocessResponse(prettyPrint()), - snippets.toArray(new Snippet[0]))); + actions.andDo(document(this.label, preprocessResponse(prettyPrint()), snippets.toArray(new Snippet[0]))); this.fields = new ArrayList<>(); return actions; } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactoryTestExecutionListener.java b/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactoryTestExecutionListener.java index 65a7eae8..5a58f5ad 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactoryTestExecutionListener.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactoryTestExecutionListener.java @@ -24,20 +24,17 @@ import org.springframework.test.web.servlet.MockMvc; /** * @author Dave Syer */ -public final class MockMvcClientHttpRequestFactoryTestExecutionListener - extends AbstractTestExecutionListener { +public final class MockMvcClientHttpRequestFactoryTestExecutionListener extends AbstractTestExecutionListener { private MockMvcClientHttpRequestFactory factory; @Override public void beforeTestClass(TestContext testContext) throws Exception { - ConfigurableBeanFactory beanFactory = (ConfigurableBeanFactory) testContext - .getApplicationContext().getAutowireCapableBeanFactory(); + ConfigurableBeanFactory beanFactory = (ConfigurableBeanFactory) testContext.getApplicationContext() + .getAutowireCapableBeanFactory(); if (!beanFactory.containsBean("mockMvcClientHttpRequestFactory")) { - this.factory = new MockMvcClientHttpRequestFactory( - beanFactory.getBean(MockMvc.class)); - beanFactory.registerSingleton("mockMvcClientHttpRequestFactory", - this.factory); + this.factory = new MockMvcClientHttpRequestFactory(beanFactory.getBean(MockMvc.class)); + beanFactory.registerSingleton("mockMvcClientHttpRequestFactory", this.factory); } else { this.factory = beanFactory.getBean("mockMvcClientHttpRequestFactory", diff --git a/initializr-web/src/test/java/io/spring/initializr/web/test/ResponseFieldSnippet.java b/initializr-web/src/test/java/io/spring/initializr/web/test/ResponseFieldSnippet.java index d6bbc444..22422b87 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/test/ResponseFieldSnippet.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/test/ResponseFieldSnippet.java @@ -80,12 +80,10 @@ public class ResponseFieldSnippet extends TemplatedSnippet { */ @Override public void document(Operation operation) throws IOException { - RestDocumentationContext context = (RestDocumentationContext) operation - .getAttributes().get(RestDocumentationContext.class.getName()); - WriterResolver writerResolver = (WriterResolver) operation.getAttributes() - .get(WriterResolver.class.getName()); - try (Writer writer = writerResolver.resolve( - operation.getName() + "/" + getSnippetName(), this.file, context)) { + RestDocumentationContext context = (RestDocumentationContext) operation.getAttributes() + .get(RestDocumentationContext.class.getName()); + WriterResolver writerResolver = (WriterResolver) operation.getAttributes().get(WriterResolver.class.getName()); + try (Writer writer = writerResolver.resolve(operation.getName() + "/" + getSnippetName(), this.file, context)) { Map model = createModel(operation); model.putAll(getAttributes()); TemplateEngine templateEngine = (TemplateEngine) operation.getAttributes() @@ -97,15 +95,12 @@ public class ResponseFieldSnippet extends TemplatedSnippet { @Override protected Map createModel(Operation operation) { try { - Object object = this.objectMapper.readValue( - operation.getResponse().getContentAsString(), Object.class); - Object field = this.fieldProcessor.extract(JsonFieldPath.compile(this.path), - object); + Object object = this.objectMapper.readValue(operation.getResponse().getContentAsString(), Object.class); + Object field = this.fieldProcessor.extract(JsonFieldPath.compile(this.path), object); if (field instanceof List && this.index != null) { field = ((List) field).get(this.index); } - return Collections.singletonMap("value", - this.objectMapper.writeValueAsString(field)); + return Collections.singletonMap("value", this.objectMapper.writeValueAsString(field)); } catch (Exception ex) { throw new IllegalStateException(ex);