/** * Update the available Spring Boot versions with the specified capabilities. * @param versionsMetadata the Spring Boot boot versions metadata to use */ public void updateSpringBootVersions(List<DefaultMetadataElement> versionsMetadata) { this.bootVersions.getContent().clear(); this.bootVersions.getContent().addAll(versionsMetadata); List<Version> 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().getKotlin().updateVersionRange(parser); }
protected void initializeProperties(InitializrMetadata metadata, Version requestedVersion) { Supplier<String> kotlinVersion = () -> metadata.getConfiguration().getEnv() .getKotlin().resolveKotlinVersion(requestedVersion); if ("gradle".equals(this.build)) { this.buildProperties.getGradle().put("springBootVersion", this::getBootVersion); if ("kotlin".equals(getLanguage())) { this.buildProperties.getGradle().put("kotlinVersion", kotlinVersion); } } else { this.buildProperties.getMaven().put("java.version", this::getJavaVersion); if ("kotlin".equals(getLanguage())) { this.buildProperties.getMaven().put("kotlin.version", kotlinVersion); } } }
.getEnv().getGradle().getDependencyManagementPluginVersion()); if ("kotlin".equals(request.getLanguage())) { model.put("kotlinVersion", metadata.getConfiguration().getEnv().getKotlin() .resolveKotlinVersion(bootVersion)); model.put("kotlin", true);
Kotlin kotlin = metadata.getConfiguration().getEnv().getKotlin(); kotlin.setDefaultVersion("1.3"); kotlin.getMappings() .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");
@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) .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.getFallbackApplicationName()).isEqualTo("FooBarApplication"); assertThat(actualEnv.isForceSsl()).isEqualTo(false); assertThat(actualEnv.getKotlin().getDefaultVersion()) .isEqualTo("1.0.0-beta-2423"); }
public InitializrMetadataTestBuilder setKotlinEnv(String defaultKotlinVersion, Kotlin.Mapping... mappings) { this.builder.withCustomizer((it) -> { it.getConfiguration().getEnv().getKotlin() .setDefaultVersion(defaultKotlinVersion); for (Kotlin.Mapping mapping : mappings) { it.getConfiguration().getEnv().getKotlin().getMappings().add(mapping); } }); return this; }
@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.5.0.RELEASE", "1.6")); kotlin.validate(); 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.validate(); assertThat(kotlin.resolveKotlinVersion(Version.parse("1.3.2.RELEASE"))) .isEqualTo("1.2.3"); }