diff --git a/initializr-actuator/.flattened-pom 2.xml b/initializr-actuator/.flattened-pom 2.xml new file mode 100644 index 0000000000..6f0cb1a982 --- /dev/null +++ b/initializr-actuator/.flattened-pom 2.xml @@ -0,0 +1,99 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + Spring Initializr :: Actuator + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-actuator + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-autoconfigure + 3.4.4 + compile + + + org.springframework.boot + spring-boot-actuator + 3.4.4 + compile + + + org.springframework + spring-web + 6.2.5 + compile + + + org.springframework.retry + spring-retry + 2.0.11 + compile + + + org.springframework.boot + spring-boot-actuator-autoconfigure + 3.4.4 + compile + true + + + io.micrometer + micrometer-core + 1.14.5 + compile + true + + + org.springframework.boot + spring-boot-configuration-processor + 3.4.4 + compile + true + + + diff --git a/initializr-actuator/.flattened-pom 3.xml b/initializr-actuator/.flattened-pom 3.xml new file mode 100644 index 0000000000..6f0cb1a982 --- /dev/null +++ b/initializr-actuator/.flattened-pom 3.xml @@ -0,0 +1,99 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + Spring Initializr :: Actuator + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-actuator + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-autoconfigure + 3.4.4 + compile + + + org.springframework.boot + spring-boot-actuator + 3.4.4 + compile + + + org.springframework + spring-web + 6.2.5 + compile + + + org.springframework.retry + spring-retry + 2.0.11 + compile + + + org.springframework.boot + spring-boot-actuator-autoconfigure + 3.4.4 + compile + true + + + io.micrometer + micrometer-core + 1.14.5 + compile + true + + + org.springframework.boot + spring-boot-configuration-processor + 3.4.4 + compile + true + + + diff --git a/initializr-actuator/.flattened-pom 4.xml b/initializr-actuator/.flattened-pom 4.xml new file mode 100644 index 0000000000..6f0cb1a982 --- /dev/null +++ b/initializr-actuator/.flattened-pom 4.xml @@ -0,0 +1,99 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + Spring Initializr :: Actuator + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-actuator + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-autoconfigure + 3.4.4 + compile + + + org.springframework.boot + spring-boot-actuator + 3.4.4 + compile + + + org.springframework + spring-web + 6.2.5 + compile + + + org.springframework.retry + spring-retry + 2.0.11 + compile + + + org.springframework.boot + spring-boot-actuator-autoconfigure + 3.4.4 + compile + true + + + io.micrometer + micrometer-core + 1.14.5 + compile + true + + + org.springframework.boot + spring-boot-configuration-processor + 3.4.4 + compile + true + + + diff --git a/initializr-actuator/.flattened-pom 5.xml b/initializr-actuator/.flattened-pom 5.xml new file mode 100644 index 0000000000..6f0cb1a982 --- /dev/null +++ b/initializr-actuator/.flattened-pom 5.xml @@ -0,0 +1,99 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + Spring Initializr :: Actuator + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-actuator + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-autoconfigure + 3.4.4 + compile + + + org.springframework.boot + spring-boot-actuator + 3.4.4 + compile + + + org.springframework + spring-web + 6.2.5 + compile + + + org.springframework.retry + spring-retry + 2.0.11 + compile + + + org.springframework.boot + spring-boot-actuator-autoconfigure + 3.4.4 + compile + true + + + io.micrometer + micrometer-core + 1.14.5 + compile + true + + + org.springframework.boot + spring-boot-configuration-processor + 3.4.4 + compile + true + + + diff --git a/initializr-bom/.flattened-pom 2.xml b/initializr-bom/.flattened-pom 2.xml new file mode 100644 index 0000000000..ad1e2b57bb --- /dev/null +++ b/initializr-bom/.flattened-pom 2.xml @@ -0,0 +1,78 @@ + + 4.0.0 + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Bill of Materials + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-version-resolver + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + test-jar + + + + diff --git a/initializr-bom/.flattened-pom 3.xml b/initializr-bom/.flattened-pom 3.xml new file mode 100644 index 0000000000..ad1e2b57bb --- /dev/null +++ b/initializr-bom/.flattened-pom 3.xml @@ -0,0 +1,78 @@ + + 4.0.0 + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Bill of Materials + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-version-resolver + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + test-jar + + + + diff --git a/initializr-bom/.flattened-pom 4.xml b/initializr-bom/.flattened-pom 4.xml new file mode 100644 index 0000000000..ad1e2b57bb --- /dev/null +++ b/initializr-bom/.flattened-pom 4.xml @@ -0,0 +1,78 @@ + + 4.0.0 + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Bill of Materials + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-version-resolver + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + test-jar + + + + diff --git a/initializr-bom/.flattened-pom 5.xml b/initializr-bom/.flattened-pom 5.xml new file mode 100644 index 0000000000..ad1e2b57bb --- /dev/null +++ b/initializr-bom/.flattened-pom 5.xml @@ -0,0 +1,78 @@ + + 4.0.0 + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Bill of Materials + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-version-resolver + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + test-jar + + + + diff --git a/initializr-bom/.flattened-pom 6.xml b/initializr-bom/.flattened-pom 6.xml new file mode 100644 index 0000000000..ad1e2b57bb --- /dev/null +++ b/initializr-bom/.flattened-pom 6.xml @@ -0,0 +1,78 @@ + + 4.0.0 + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Bill of Materials + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-version-resolver + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + test-jar + + + + diff --git a/initializr-docs/.flattened-pom 2.xml b/initializr-docs/.flattened-pom 2.xml new file mode 100644 index 0000000000..41c783ee60 --- /dev/null +++ b/initializr-docs/.flattened-pom 2.xml @@ -0,0 +1,98 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-docs + 0.22.0-SNAPSHOT + Spring Initializr :: Docs + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-docs + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + true + + + javax.cache + cache-api + 1.1.1 + compile + true + + + jakarta.servlet + jakarta.servlet-api + 6.0.0 + compile + true + + + diff --git a/initializr-docs/.flattened-pom 3.xml b/initializr-docs/.flattened-pom 3.xml new file mode 100644 index 0000000000..41c783ee60 --- /dev/null +++ b/initializr-docs/.flattened-pom 3.xml @@ -0,0 +1,98 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-docs + 0.22.0-SNAPSHOT + Spring Initializr :: Docs + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-docs + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + true + + + javax.cache + cache-api + 1.1.1 + compile + true + + + jakarta.servlet + jakarta.servlet-api + 6.0.0 + compile + true + + + diff --git a/initializr-docs/.flattened-pom 4.xml b/initializr-docs/.flattened-pom 4.xml new file mode 100644 index 0000000000..41c783ee60 --- /dev/null +++ b/initializr-docs/.flattened-pom 4.xml @@ -0,0 +1,98 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-docs + 0.22.0-SNAPSHOT + Spring Initializr :: Docs + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-docs + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + true + + + javax.cache + cache-api + 1.1.1 + compile + true + + + jakarta.servlet + jakarta.servlet-api + 6.0.0 + compile + true + + + diff --git a/initializr-docs/.flattened-pom 5.xml b/initializr-docs/.flattened-pom 5.xml new file mode 100644 index 0000000000..41c783ee60 --- /dev/null +++ b/initializr-docs/.flattened-pom 5.xml @@ -0,0 +1,98 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-docs + 0.22.0-SNAPSHOT + Spring Initializr :: Docs + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-docs + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-actuator + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + true + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + true + + + javax.cache + cache-api + 1.1.1 + compile + true + + + jakarta.servlet + jakarta.servlet-api + 6.0.0 + compile + true + + + diff --git a/initializr-generator-spring/.flattened-pom 2.xml b/initializr-generator-spring/.flattened-pom 2.xml new file mode 100644 index 0000000000..7623b29766 --- /dev/null +++ b/initializr-generator-spring/.flattened-pom 2.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + Spring Initializr :: Generator (Spring projects) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator-spring + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + com.samskivert + jmustache + 1.16 + compile + + + diff --git a/initializr-generator-spring/.flattened-pom 3.xml b/initializr-generator-spring/.flattened-pom 3.xml new file mode 100644 index 0000000000..7623b29766 --- /dev/null +++ b/initializr-generator-spring/.flattened-pom 3.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + Spring Initializr :: Generator (Spring projects) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator-spring + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + com.samskivert + jmustache + 1.16 + compile + + + diff --git a/initializr-generator-spring/.flattened-pom 4.xml b/initializr-generator-spring/.flattened-pom 4.xml new file mode 100644 index 0000000000..7623b29766 --- /dev/null +++ b/initializr-generator-spring/.flattened-pom 4.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + Spring Initializr :: Generator (Spring projects) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator-spring + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + com.samskivert + jmustache + 1.16 + compile + + + diff --git a/initializr-generator-spring/.flattened-pom 5.xml b/initializr-generator-spring/.flattened-pom 5.xml new file mode 100644 index 0000000000..7623b29766 --- /dev/null +++ b/initializr-generator-spring/.flattened-pom 5.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + Spring Initializr :: Generator (Spring projects) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator-spring + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + com.samskivert + jmustache + 1.16 + compile + + + diff --git a/initializr-generator-spring/.flattened-pom 6.xml b/initializr-generator-spring/.flattened-pom 6.xml new file mode 100644 index 0000000000..7623b29766 --- /dev/null +++ b/initializr-generator-spring/.flattened-pom 6.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + Spring Initializr :: Generator (Spring projects) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator-spring + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + com.samskivert + jmustache + 1.16 + compile + + + 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 2669679bd5..bab18bd7b9 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 @@ -31,6 +31,7 @@ import io.spring.initializr.generator.condition.ConditionalOnPackaging; import io.spring.initializr.generator.condition.ConditionalOnPlatformVersion; import io.spring.initializr.generator.io.IndentingWriterFactory; +import io.spring.initializr.generator.language.AbstractLanguage; import io.spring.initializr.generator.language.groovy.GroovyLanguage; import io.spring.initializr.generator.language.java.JavaLanguage; import io.spring.initializr.generator.packaging.war.WarPackaging; @@ -86,7 +87,8 @@ private GradleBuild createGradleBuild(BuildItemResolver buildItemResolver, @Bean public BuildCustomizer defaultGradleBuildCustomizer(ProjectDescription description) { - return (build) -> build.settings().sourceCompatibility(description.getLanguage().jvmVersion()); + return (build) -> build.settings() + .sourceCompatibility(((AbstractLanguage) description.getLanguage()).jvmVersion()); } @Bean 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 197b18135f..277fdec9b3 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 @@ -18,6 +18,7 @@ import io.spring.initializr.generator.buildsystem.BillOfMaterials; import io.spring.initializr.generator.buildsystem.maven.MavenBuild; +import io.spring.initializr.generator.language.AbstractLanguage; import io.spring.initializr.generator.project.ProjectDescription; import io.spring.initializr.generator.spring.build.BuildCustomizer; import io.spring.initializr.generator.version.VersionProperty; @@ -46,7 +47,7 @@ public DefaultMavenBuildCustomizer(ProjectDescription description, InitializrMet public void customize(MavenBuild build) { build.settings().addOverrideIfEmpty(true); build.settings().name(this.description.getName()).description(this.description.getDescription()); - build.properties().property("java.version", this.description.getLanguage().jvmVersion()); + build.properties().property("java.version", ((AbstractLanguage) this.description.getLanguage()).jvmVersion()); build.plugins().add("org.springframework.boot", "spring-boot-maven-plugin"); Maven maven = this.metadata.getConfiguration().getEnv().getMaven(); 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 a19ac639b0..0cdd1aa117 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 @@ -100,7 +100,8 @@ public KotlinProjectSettings kotlinProjectSettings(ObjectProvider new InitializrMetadataKotlinVersionResolver(metadata)) .resolveKotlinVersion(this.description); - return new SimpleKotlinProjectSettings(kotlinVersion, this.description.getLanguage().jvmVersion()); + return new SimpleKotlinProjectSettings(kotlinVersion, + ((KotlinLanguage) this.description.getLanguage()).jvmVersion()); } @Bean diff --git a/initializr-generator-test/.flattened-pom 2.xml b/initializr-generator-test/.flattened-pom 2.xml new file mode 100644 index 0000000000..8cb67dff34 --- /dev/null +++ b/initializr-generator-test/.flattened-pom 2.xml @@ -0,0 +1,66 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + Spring Initializr :: Generator (Test Infrastructure) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator-test + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-test + 3.4.4 + compile + + + org.assertj + assertj-core + 3.26.3 + compile + + + diff --git a/initializr-generator-test/.flattened-pom 3.xml b/initializr-generator-test/.flattened-pom 3.xml new file mode 100644 index 0000000000..8cb67dff34 --- /dev/null +++ b/initializr-generator-test/.flattened-pom 3.xml @@ -0,0 +1,66 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + Spring Initializr :: Generator (Test Infrastructure) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator-test + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-test + 3.4.4 + compile + + + org.assertj + assertj-core + 3.26.3 + compile + + + diff --git a/initializr-generator-test/.flattened-pom 4.xml b/initializr-generator-test/.flattened-pom 4.xml new file mode 100644 index 0000000000..8cb67dff34 --- /dev/null +++ b/initializr-generator-test/.flattened-pom 4.xml @@ -0,0 +1,66 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + Spring Initializr :: Generator (Test Infrastructure) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator-test + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-test + 3.4.4 + compile + + + org.assertj + assertj-core + 3.26.3 + compile + + + diff --git a/initializr-generator-test/.flattened-pom 5.xml b/initializr-generator-test/.flattened-pom 5.xml new file mode 100644 index 0000000000..8cb67dff34 --- /dev/null +++ b/initializr-generator-test/.flattened-pom 5.xml @@ -0,0 +1,66 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + Spring Initializr :: Generator (Test Infrastructure) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator-test + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-test + 3.4.4 + compile + + + org.assertj + assertj-core + 3.26.3 + compile + + + diff --git a/initializr-generator-test/.flattened-pom 6.xml b/initializr-generator-test/.flattened-pom 6.xml new file mode 100644 index 0000000000..8cb67dff34 --- /dev/null +++ b/initializr-generator-test/.flattened-pom 6.xml @@ -0,0 +1,66 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator-test + 0.22.0-SNAPSHOT + Spring Initializr :: Generator (Test Infrastructure) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator-test + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-test + 3.4.4 + compile + + + org.assertj + assertj-core + 3.26.3 + compile + + + diff --git a/initializr-generator/.flattened-pom 2.xml b/initializr-generator/.flattened-pom 2.xml new file mode 100644 index 0000000000..d221870538 --- /dev/null +++ b/initializr-generator/.flattened-pom 2.xml @@ -0,0 +1,76 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + Spring Initializr :: Generator + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework + spring-context + 6.2.5 + compile + + + com.google.code.findbugs + jsr305 + 3.0.2 + compile + + + com.samskivert + jmustache + 1.16 + compile + true + + + diff --git a/initializr-generator/.flattened-pom 3.xml b/initializr-generator/.flattened-pom 3.xml new file mode 100644 index 0000000000..d221870538 --- /dev/null +++ b/initializr-generator/.flattened-pom 3.xml @@ -0,0 +1,76 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + Spring Initializr :: Generator + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework + spring-context + 6.2.5 + compile + + + com.google.code.findbugs + jsr305 + 3.0.2 + compile + + + com.samskivert + jmustache + 1.16 + compile + true + + + diff --git a/initializr-generator/.flattened-pom 4.xml b/initializr-generator/.flattened-pom 4.xml new file mode 100644 index 0000000000..d221870538 --- /dev/null +++ b/initializr-generator/.flattened-pom 4.xml @@ -0,0 +1,76 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + Spring Initializr :: Generator + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework + spring-context + 6.2.5 + compile + + + com.google.code.findbugs + jsr305 + 3.0.2 + compile + + + com.samskivert + jmustache + 1.16 + compile + true + + + diff --git a/initializr-generator/.flattened-pom 5.xml b/initializr-generator/.flattened-pom 5.xml new file mode 100644 index 0000000000..d221870538 --- /dev/null +++ b/initializr-generator/.flattened-pom 5.xml @@ -0,0 +1,76 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + Spring Initializr :: Generator + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-generator + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework + spring-context + 6.2.5 + compile + + + com.google.code.findbugs + jsr305 + 3.0.2 + compile + + + com.samskivert + jmustache + 1.16 + compile + true + + + diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BuildExtensionsAndPlugins.java b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BuildExtensionsAndPlugins.java new file mode 100644 index 0000000000..6a21587a8b --- /dev/null +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/buildsystem/BuildExtensionsAndPlugins.java @@ -0,0 +1,41 @@ +/* + * Copyright 2012-2023 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.spring.initializr.generator.buildsystem; + +/** + * A common interface for build configurations that exposes methods for retrieving + * extension and plugin containers. + * + * @param the type of the extension container + * @param

the type of the plugin container + * @author Akshat Gulati + */ +public interface BuildExtensionsAndPlugins { + + /** + * Return the container for extensions. + * @return the extensions container + */ + E extensions(); + + /** + * Return the container for plugins. + * @return the plugins container + */ + P plugins(); + +} 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 aaf60e6117..acb24cae54 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 @@ -19,6 +19,7 @@ import java.util.function.Consumer; import io.spring.initializr.generator.buildsystem.Build; +import io.spring.initializr.generator.buildsystem.BuildExtensionsAndPlugins; import io.spring.initializr.generator.buildsystem.BuildItemResolver; import io.spring.initializr.generator.buildsystem.gradle.GradleBuildSettings.Builder; @@ -29,7 +30,8 @@ * @author Jean-Baptiste Nizet * @author Moritz Halbritter */ -public class GradleBuild extends Build { +public class GradleBuild extends Build + implements BuildExtensionsAndPlugins { private final GradleBuildSettings.Builder settings = new Builder(); @@ -75,6 +77,7 @@ public GradleBuildSettings getSettings() { * plugins. * @return the {@link GradlePluginContainer} */ + @Override public GradlePluginContainer plugins() { return this.plugins; } @@ -102,6 +105,7 @@ public GradleTaskContainer tasks() { * configure extensions. * @return the {@link GradleExtensionContainer} */ + @Override public GradleExtensionContainer extensions() { return this.extensions; } 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 db1cf10621..e8606fb76c 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 @@ -17,6 +17,7 @@ package io.spring.initializr.generator.buildsystem.maven; import io.spring.initializr.generator.buildsystem.Build; +import io.spring.initializr.generator.buildsystem.BuildExtensionsAndPlugins; import io.spring.initializr.generator.buildsystem.BuildItemResolver; import io.spring.initializr.generator.buildsystem.MavenRepositoryContainer; import io.spring.initializr.generator.buildsystem.maven.MavenBuildSettings.Builder; @@ -29,7 +30,8 @@ * @author Niklas Herder * @author Maurice Zeijen */ -public class MavenBuild extends Build { +public class MavenBuild extends Build + implements BuildExtensionsAndPlugins { private final MavenBuildSettings.Builder settings = new Builder(); @@ -123,6 +125,7 @@ public MavenPluginContainer pluginManagementPlugins() { * plugins. * @return the {@link MavenPluginContainer} */ + @Override public MavenPluginContainer plugins() { return this.plugins; } @@ -132,6 +135,7 @@ public MavenPluginContainer plugins() { * configure extensions. * @return the {@link MavenExtensionContainer} */ + @Override public MavenExtensionContainer extensions() { return this.extensions; } 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 612e556bc4..02e58092b9 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 @@ -355,13 +355,20 @@ private String determineVersion(VersionReference versionReference) { : versionReference.getValue(); } + private boolean isBuildEmpty(MavenBuild build) { + return build.resources().isEmpty() && build.testResources().isEmpty() + && build.pluginManagementPlugins().isEmpty() && build.plugins().isEmpty() + && build.extensions().isEmpty(); + } + + private boolean isBuildSettingsEmpty(MavenBuildSettings settings) { + return settings.getDefaultGoal() == null && settings.getFinalName() == null + && settings.getSourceDirectory() == null && settings.getTestSourceDirectory() == null; + } + private void writeBuild(IndentingWriter writer, MavenBuild build) { MavenBuildSettings settings = build.getSettings(); - if (settings.getDefaultGoal() == null && settings.getFinalName() == null - && settings.getSourceDirectory() == null && settings.getTestSourceDirectory() == null - && build.resources().isEmpty() && build.testResources().isEmpty() - && build.pluginManagementPlugins().isEmpty() && build.plugins().isEmpty() - && build.extensions().isEmpty()) { + if (isBuildEmpty(build) && isBuildSettingsEmpty(settings)) { return; } writer.println(); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/language/AbstractLanguage.java b/initializr-generator/src/main/java/io/spring/initializr/generator/language/AbstractLanguage.java index 5158333924..5b0762c340 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/language/AbstractLanguage.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/language/AbstractLanguage.java @@ -46,7 +46,7 @@ public String id() { return this.id; } - @Override + // @Override public String jvmVersion() { return this.jvmVersion; } 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 7cfa146bfd..0db2a5761b 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 @@ -39,11 +39,11 @@ public interface Language { */ String id(); - /** - * Return the JVM version level to use. - * @return the JVM version or {@value DEFAULT_JVM_VERSION} if not set - */ - String jvmVersion(); + // /** + // * Return the JVM version level to use. + // * @return the JVM version or {@value DEFAULT_JVM_VERSION} if not set + // */ + // String jvmVersion(); /** * Return the file extension to use for source file of this language. 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 7d78821642..11913c461b 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 @@ -38,6 +38,7 @@ * line. * * @author Stephane Nicoll + * @author Akshat Gulati */ public class VersionParser { @@ -141,17 +142,11 @@ public VersionRange parseRange(String text) { } 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; - } - if (minor != null && !minor.equals(it.getMinor())) { - return false; - } - if (qualifier != null && !qualifier.equals(it.getQualifier())) { - return false; - } - return true; + List matches = this.latestVersions.stream().filter((version) -> { + boolean majorMismatch = (major != null && !major.equals(version.getMajor())); + boolean minorMismatch = (minor != null && !minor.equals(version.getMinor())); + boolean qualifierMismatch = (qualifier != null && !qualifier.equals(version.getQualifier())); + return !majorMismatch && !minorMismatch && !qualifierMismatch; }).toList(); return (matches.size() != 1) ? null : matches.get(0); } 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 cafecd38ac..7625341446 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 @@ -37,7 +37,7 @@ void javaLanguage() { assertThat(java).isInstanceOf(JavaLanguage.class); assertThat(java.id()).isEqualTo("java"); assertThat(java.toString()).isEqualTo("java"); - assertThat(java.jvmVersion()).isEqualTo("11"); + assertThat(((JavaLanguage) java).jvmVersion()).isEqualTo("11"); } @Test @@ -46,7 +46,7 @@ void kotlinLanguage() { assertThat(kotlin).isInstanceOf(KotlinLanguage.class); assertThat(kotlin.id()).isEqualTo("kotlin"); assertThat(kotlin.toString()).isEqualTo("kotlin"); - assertThat(kotlin.jvmVersion()).isEqualTo("1.8"); + assertThat(((KotlinLanguage) kotlin).jvmVersion()).isEqualTo("1.8"); } @Test @@ -55,7 +55,7 @@ void groovyLanguage() { assertThat(groovy).isInstanceOf(GroovyLanguage.class); assertThat(groovy.id()).isEqualTo("groovy"); assertThat(groovy.toString()).isEqualTo("groovy"); - assertThat(groovy.jvmVersion()).isEqualTo("1.8"); + assertThat(((GroovyLanguage) groovy).jvmVersion()).isEqualTo("1.8"); } @Test diff --git a/initializr-metadata/.flattened-pom 2.xml b/initializr-metadata/.flattened-pom 2.xml new file mode 100644 index 0000000000..104ace11fe --- /dev/null +++ b/initializr-metadata/.flattened-pom 2.xml @@ -0,0 +1,67 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + Spring Initializr :: Metadata + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-metadata + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot + 3.4.4 + compile + + + com.fasterxml.jackson.core + jackson-databind + 2.18.3 + compile + + + org.springframework.boot + spring-boot-configuration-processor + 3.4.4 + compile + true + + + diff --git a/initializr-metadata/.flattened-pom 3.xml b/initializr-metadata/.flattened-pom 3.xml new file mode 100644 index 0000000000..104ace11fe --- /dev/null +++ b/initializr-metadata/.flattened-pom 3.xml @@ -0,0 +1,67 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + Spring Initializr :: Metadata + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-metadata + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot + 3.4.4 + compile + + + com.fasterxml.jackson.core + jackson-databind + 2.18.3 + compile + + + org.springframework.boot + spring-boot-configuration-processor + 3.4.4 + compile + true + + + diff --git a/initializr-metadata/.flattened-pom 4.xml b/initializr-metadata/.flattened-pom 4.xml new file mode 100644 index 0000000000..104ace11fe --- /dev/null +++ b/initializr-metadata/.flattened-pom 4.xml @@ -0,0 +1,67 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + Spring Initializr :: Metadata + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-metadata + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot + 3.4.4 + compile + + + com.fasterxml.jackson.core + jackson-databind + 2.18.3 + compile + + + org.springframework.boot + spring-boot-configuration-processor + 3.4.4 + compile + true + + + diff --git a/initializr-metadata/.flattened-pom 5.xml b/initializr-metadata/.flattened-pom 5.xml new file mode 100644 index 0000000000..104ace11fe --- /dev/null +++ b/initializr-metadata/.flattened-pom 5.xml @@ -0,0 +1,67 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + Spring Initializr :: Metadata + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-metadata + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot + 3.4.4 + compile + + + com.fasterxml.jackson.core + jackson-databind + 2.18.3 + compile + + + org.springframework.boot + spring-boot-configuration-processor + 3.4.4 + compile + true + + + diff --git a/initializr-metadata/.flattened-pom 6.xml b/initializr-metadata/.flattened-pom 6.xml new file mode 100644 index 0000000000..104ace11fe --- /dev/null +++ b/initializr-metadata/.flattened-pom 6.xml @@ -0,0 +1,67 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + Spring Initializr :: Metadata + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-metadata + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot + 3.4.4 + compile + + + com.fasterxml.jackson.core + jackson-databind + 2.18.3 + compile + + + org.springframework.boot + spring-boot-configuration-processor + 3.4.4 + compile + true + + + diff --git a/initializr-parent/.flattened-pom 2.xml b/initializr-parent/.flattened-pom 2.xml new file mode 100644 index 0000000000..ac6b556ed8 --- /dev/null +++ b/initializr-parent/.flattened-pom 2.xml @@ -0,0 +1,56 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + ../initializr-bom/pom.xml + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Parent + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + diff --git a/initializr-parent/.flattened-pom 3.xml b/initializr-parent/.flattened-pom 3.xml new file mode 100644 index 0000000000..ac6b556ed8 --- /dev/null +++ b/initializr-parent/.flattened-pom 3.xml @@ -0,0 +1,56 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + ../initializr-bom/pom.xml + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Parent + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + diff --git a/initializr-parent/.flattened-pom 4.xml b/initializr-parent/.flattened-pom 4.xml new file mode 100644 index 0000000000..ac6b556ed8 --- /dev/null +++ b/initializr-parent/.flattened-pom 4.xml @@ -0,0 +1,56 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + ../initializr-bom/pom.xml + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Parent + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + diff --git a/initializr-parent/.flattened-pom 5.xml b/initializr-parent/.flattened-pom 5.xml new file mode 100644 index 0000000000..ac6b556ed8 --- /dev/null +++ b/initializr-parent/.flattened-pom 5.xml @@ -0,0 +1,56 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + ../initializr-bom/pom.xml + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Parent + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + diff --git a/initializr-parent/.flattened-pom 6.xml b/initializr-parent/.flattened-pom 6.xml new file mode 100644 index 0000000000..ac6b556ed8 --- /dev/null +++ b/initializr-parent/.flattened-pom 6.xml @@ -0,0 +1,56 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + ../initializr-bom/pom.xml + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Parent + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + diff --git a/initializr-parent/.flattened-pom 7.xml b/initializr-parent/.flattened-pom 7.xml new file mode 100644 index 0000000000..ac6b556ed8 --- /dev/null +++ b/initializr-parent/.flattened-pom 7.xml @@ -0,0 +1,56 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + ../initializr-bom/pom.xml + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Parent + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + diff --git a/initializr-parent/.flattened-pom 8.xml b/initializr-parent/.flattened-pom 8.xml new file mode 100644 index 0000000000..ac6b556ed8 --- /dev/null +++ b/initializr-parent/.flattened-pom 8.xml @@ -0,0 +1,56 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + ../initializr-bom/pom.xml + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Parent + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + diff --git a/initializr-parent/.flattened-pom 9.xml b/initializr-parent/.flattened-pom 9.xml new file mode 100644 index 0000000000..ac6b556ed8 --- /dev/null +++ b/initializr-parent/.flattened-pom 9.xml @@ -0,0 +1,56 @@ + + + + 4.0.0 + + io.spring.initializr + initializr-bom + 0.22.0-SNAPSHOT + ../initializr-bom/pom.xml + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + pom + Spring Initializr :: Parent + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + diff --git a/initializr-service-sample/.flattened-pom 2.xml b/initializr-service-sample/.flattened-pom 2.xml new file mode 100644 index 0000000000..c0d7920b75 --- /dev/null +++ b/initializr-service-sample/.flattened-pom 2.xml @@ -0,0 +1,67 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-service-sample + 0.22.0-SNAPSHOT + Spring Initializr :: Service (Sample) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-service-sample + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework.boot + spring-boot-starter-web + 3.4.4 + compile + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-devtools + 3.4.4 + compile + true + + + diff --git a/initializr-service-sample/.flattened-pom 3.xml b/initializr-service-sample/.flattened-pom 3.xml new file mode 100644 index 0000000000..c0d7920b75 --- /dev/null +++ b/initializr-service-sample/.flattened-pom 3.xml @@ -0,0 +1,67 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-service-sample + 0.22.0-SNAPSHOT + Spring Initializr :: Service (Sample) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-service-sample + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework.boot + spring-boot-starter-web + 3.4.4 + compile + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-devtools + 3.4.4 + compile + true + + + diff --git a/initializr-service-sample/.flattened-pom 4.xml b/initializr-service-sample/.flattened-pom 4.xml new file mode 100644 index 0000000000..c0d7920b75 --- /dev/null +++ b/initializr-service-sample/.flattened-pom 4.xml @@ -0,0 +1,67 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-service-sample + 0.22.0-SNAPSHOT + Spring Initializr :: Service (Sample) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-service-sample + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework.boot + spring-boot-starter-web + 3.4.4 + compile + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-devtools + 3.4.4 + compile + true + + + diff --git a/initializr-service-sample/.flattened-pom 5.xml b/initializr-service-sample/.flattened-pom 5.xml new file mode 100644 index 0000000000..c0d7920b75 --- /dev/null +++ b/initializr-service-sample/.flattened-pom 5.xml @@ -0,0 +1,67 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-service-sample + 0.22.0-SNAPSHOT + Spring Initializr :: Service (Sample) + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-service-sample + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework.boot + spring-boot-starter-web + 3.4.4 + compile + + + io.spring.initializr + initializr-generator-spring + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-devtools + 3.4.4 + compile + true + + + diff --git a/initializr-version-resolver/.flattened-pom 2.xml b/initializr-version-resolver/.flattened-pom 2.xml new file mode 100644 index 0000000000..7492d2ece2 --- /dev/null +++ b/initializr-version-resolver/.flattened-pom 2.xml @@ -0,0 +1,72 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-version-resolver + 0.22.0-SNAPSHOT + Spring Initializr :: Version Resolver + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-version-resolver + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework + spring-jcl + 6.2.5 + compile + + + org.apache.maven + maven-core + 3.9.6 + compile + + + org.apache.maven + maven-resolver-provider + 3.9.6 + compile + + + org.apache.maven.resolver + maven-resolver-connector-basic + 1.9.20 + compile + + + org.apache.maven.resolver + maven-resolver-transport-http + 1.9.20 + compile + + + diff --git a/initializr-version-resolver/.flattened-pom 3.xml b/initializr-version-resolver/.flattened-pom 3.xml new file mode 100644 index 0000000000..7492d2ece2 --- /dev/null +++ b/initializr-version-resolver/.flattened-pom 3.xml @@ -0,0 +1,72 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-version-resolver + 0.22.0-SNAPSHOT + Spring Initializr :: Version Resolver + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-version-resolver + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework + spring-jcl + 6.2.5 + compile + + + org.apache.maven + maven-core + 3.9.6 + compile + + + org.apache.maven + maven-resolver-provider + 3.9.6 + compile + + + org.apache.maven.resolver + maven-resolver-connector-basic + 1.9.20 + compile + + + org.apache.maven.resolver + maven-resolver-transport-http + 1.9.20 + compile + + + diff --git a/initializr-version-resolver/.flattened-pom 4.xml b/initializr-version-resolver/.flattened-pom 4.xml new file mode 100644 index 0000000000..7492d2ece2 --- /dev/null +++ b/initializr-version-resolver/.flattened-pom 4.xml @@ -0,0 +1,72 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-version-resolver + 0.22.0-SNAPSHOT + Spring Initializr :: Version Resolver + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-version-resolver + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework + spring-jcl + 6.2.5 + compile + + + org.apache.maven + maven-core + 3.9.6 + compile + + + org.apache.maven + maven-resolver-provider + 3.9.6 + compile + + + org.apache.maven.resolver + maven-resolver-connector-basic + 1.9.20 + compile + + + org.apache.maven.resolver + maven-resolver-transport-http + 1.9.20 + compile + + + diff --git a/initializr-version-resolver/.flattened-pom 5.xml b/initializr-version-resolver/.flattened-pom 5.xml new file mode 100644 index 0000000000..7492d2ece2 --- /dev/null +++ b/initializr-version-resolver/.flattened-pom 5.xml @@ -0,0 +1,72 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-version-resolver + 0.22.0-SNAPSHOT + Spring Initializr :: Version Resolver + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-version-resolver + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + org.springframework + spring-jcl + 6.2.5 + compile + + + org.apache.maven + maven-core + 3.9.6 + compile + + + org.apache.maven + maven-resolver-provider + 3.9.6 + compile + + + org.apache.maven.resolver + maven-resolver-connector-basic + 1.9.20 + compile + + + org.apache.maven.resolver + maven-resolver-transport-http + 1.9.20 + compile + + + diff --git a/initializr-web/.flattened-pom 2.xml b/initializr-web/.flattened-pom 2.xml new file mode 100644 index 0000000000..bfd8df5c2d --- /dev/null +++ b/initializr-web/.flattened-pom 2.xml @@ -0,0 +1,103 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + Spring Initializr :: Web + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-web + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-starter-cache + 3.4.4 + compile + + + org.springframework.boot + spring-boot-starter-mustache + 3.4.4 + compile + + + org.springframework + spring-webmvc + 6.2.5 + compile + + + org.springframework.hateoas + spring-hateoas + 2.4.1 + compile + + + org.apache.commons + commons-compress + 1.26.1 + compile + + + org.apache.commons + commons-text + 1.12.0 + compile + + + javax.cache + cache-api + 1.1.1 + compile + true + + + jakarta.servlet + jakarta.servlet-api + 6.0.0 + provided + + + diff --git a/initializr-web/.flattened-pom 3.xml b/initializr-web/.flattened-pom 3.xml new file mode 100644 index 0000000000..bfd8df5c2d --- /dev/null +++ b/initializr-web/.flattened-pom 3.xml @@ -0,0 +1,103 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + Spring Initializr :: Web + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-web + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-starter-cache + 3.4.4 + compile + + + org.springframework.boot + spring-boot-starter-mustache + 3.4.4 + compile + + + org.springframework + spring-webmvc + 6.2.5 + compile + + + org.springframework.hateoas + spring-hateoas + 2.4.1 + compile + + + org.apache.commons + commons-compress + 1.26.1 + compile + + + org.apache.commons + commons-text + 1.12.0 + compile + + + javax.cache + cache-api + 1.1.1 + compile + true + + + jakarta.servlet + jakarta.servlet-api + 6.0.0 + provided + + + diff --git a/initializr-web/.flattened-pom 4.xml b/initializr-web/.flattened-pom 4.xml new file mode 100644 index 0000000000..bfd8df5c2d --- /dev/null +++ b/initializr-web/.flattened-pom 4.xml @@ -0,0 +1,103 @@ + + + 4.0.0 + + io.spring.initializr + initializr-parent + 0.22.0-SNAPSHOT + ../initializr-parent/pom.xml + + io.spring.initializr + initializr-web + 0.22.0-SNAPSHOT + Spring Initializr :: Web + JVM-based project generator + https://github.com/spring-io/initializr/initializr-bom/initializr-parent/initializr-web + + Broadcom Inc. + https://www.spring.io + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + Spring + ask@spring.io + Broadcom Inc. + https://www.spring.io + + + + scm:git:https://github.com/spring-io/initializr + scm:git:ssh://git@github.com/spring-io/initializr.git + https://github.com/spring-io/initializr + + + + io.spring.initializr + initializr-generator + 0.22.0-SNAPSHOT + compile + + + io.spring.initializr + initializr-metadata + 0.22.0-SNAPSHOT + compile + + + org.springframework.boot + spring-boot-starter-cache + 3.4.4 + compile + + + org.springframework.boot + spring-boot-starter-mustache + 3.4.4 + compile + + + org.springframework + spring-webmvc + 6.2.5 + compile + + + org.springframework.hateoas + spring-hateoas + 2.4.1 + compile + + + org.apache.commons + commons-compress + 1.26.1 + compile + + + org.apache.commons + commons-text + 1.12.0 + compile + + + javax.cache + cache-api + 1.1.1 + compile + true + + + jakarta.servlet + jakarta.servlet-api + 6.0.0 + provided + + + diff --git a/initializr-web/src/main/java/io/spring/initializr/web/project/DefaultProjectRequestToDescriptionConverter.java b/initializr-web/src/main/java/io/spring/initializr/web/project/DefaultProjectRequestToDescriptionConverter.java index 6e4c053382..cf1cf65c7f 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/project/DefaultProjectRequestToDescriptionConverter.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/project/DefaultProjectRequestToDescriptionConverter.java @@ -27,11 +27,8 @@ import io.spring.initializr.generator.project.MutableProjectDescription; import io.spring.initializr.generator.project.ProjectDescription; import io.spring.initializr.generator.version.Version; -import io.spring.initializr.metadata.DefaultMetadataElement; import io.spring.initializr.metadata.Dependency; -import io.spring.initializr.metadata.InitializrConfiguration.Platform; import io.spring.initializr.metadata.InitializrMetadata; -import io.spring.initializr.metadata.Type; import io.spring.initializr.metadata.support.MetadataBuildItemMapper; import org.springframework.util.Assert; @@ -79,7 +76,8 @@ public ProjectDescription convert(ProjectRequest request, InitializrMetadata met * @param metadata the metadata instance to use to apply defaults if necessary */ public void convert(ProjectRequest request, MutableProjectDescription description, InitializrMetadata metadata) { - validate(request, metadata); + ProjectRequestValidator validator = new ProjectRequestValidator(metadata); + validator.validate(request); Version platformVersion = getPlatformVersion(request, metadata); List resolvedDependencies = getResolvedDependencies(request, platformVersion, metadata); validateDependencyRange(platformVersion, resolvedDependencies); @@ -110,65 +108,6 @@ protected String cleanInputValue(String value) { : value; } - private void validate(ProjectRequest request, InitializrMetadata metadata) { - validatePlatformVersion(request, metadata); - validateType(request.getType(), metadata); - validateLanguage(request.getLanguage(), metadata); - validatePackaging(request.getPackaging(), metadata); - validateDependencies(request, metadata); - } - - private void validatePlatformVersion(ProjectRequest request, InitializrMetadata metadata) { - Version platformVersion = Version.safeParse(request.getBootVersion()); - Platform platform = metadata.getConfiguration().getEnv().getPlatform(); - if (platformVersion != null && !platform.isCompatibleVersion(platformVersion)) { - throw new InvalidProjectRequestException("Invalid Spring Boot version '" + platformVersion - + "', Spring Boot compatibility range is " + platform.determineCompatibilityRangeRequirement()); - } - } - - private void validateType(String type, InitializrMetadata metadata) { - if (type != null) { - Type typeFromMetadata = metadata.getTypes().get(type); - if (typeFromMetadata == null) { - 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"); - } - } - } - - private void validateLanguage(String language, InitializrMetadata metadata) { - if (language != null) { - DefaultMetadataElement languageFromMetadata = metadata.getLanguages().get(language); - if (languageFromMetadata == null) { - 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); - if (packagingFromMetadata == null) { - throw new InvalidProjectRequestException( - "Unknown packaging '" + packaging + "' check project metadata"); - } - } - } - - private void validateDependencies(ProjectRequest request, InitializrMetadata metadata) { - List dependencies = request.getDependencies(); - dependencies.forEach((dep) -> { - Dependency dependency = metadata.getDependencies().get(dep); - if (dependency == null) { - throw new InvalidProjectRequestException("Unknown dependency '" + dep + "' check project metadata"); - } - }); - } - private void validateDependencyRange(Version platformVersion, List resolvedDependencies) { resolvedDependencies.forEach((dep) -> { if (!dep.match(platformVersion)) { diff --git a/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectRequestValidator.java b/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectRequestValidator.java new file mode 100644 index 0000000000..4961259134 --- /dev/null +++ b/initializr-web/src/main/java/io/spring/initializr/web/project/ProjectRequestValidator.java @@ -0,0 +1,150 @@ +/* + * Copyright 2012-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.spring.initializr.web.project; + +import java.util.List; + +import io.spring.initializr.generator.version.Version; +import io.spring.initializr.metadata.DefaultMetadataElement; +import io.spring.initializr.metadata.Dependency; +import io.spring.initializr.metadata.InitializrConfiguration; +import io.spring.initializr.metadata.InitializrMetadata; +import io.spring.initializr.metadata.Type; + +/** + * A validator for {@link ProjectRequest} instances, ensuring they meet the requirements + * defined in the {@link InitializrMetadata}. This class performs validation on various + * aspects of the project request, including the platform version, type, language, + * packaging, and dependencies. Each validation step checks against the provided metadata + * to ensure the request is valid and compatible. + * + * @author Akshat Gulati + */ +public class ProjectRequestValidator { + + private final InitializrMetadata metadata; + + /** + * Constructs a new {@link ProjectRequestValidator} with the specified metadata. + * @param metadata the metadata to use for validation + */ + public ProjectRequestValidator(InitializrMetadata metadata) { + this.metadata = metadata; + } + + /** + * Validates the specified {@link ProjectRequest}. This method orchestrates the + * validation process by calling individual validation methods for each aspect of the + * project request. If any validation fails, an {@link InvalidProjectRequestException} + * is thrown. + * @param request the project request to validate + * @throws InvalidProjectRequestException if the request is invalid + */ + public void validate(ProjectRequest request) { + validatePlatformVersion(request); + validateType(request.getType()); + validateLanguage(request.getLanguage()); + validatePackaging(request.getPackaging()); + validateDependencies(request); + } + + /** + * Validates the platform version specified in the request. Checks if the provided + * Spring Boot version is compatible with the platform's compatibility range defined + * in the metadata. + * @param request the project request containing the boot version + * @throws InvalidProjectRequestException if the version is invalid or incompatible + */ + private void validatePlatformVersion(ProjectRequest request) { + Version platformVersion = Version.safeParse(request.getBootVersion()); + InitializrConfiguration.Platform platform = this.metadata.getConfiguration().getEnv().getPlatform(); + if (platformVersion != null && !platform.isCompatibleVersion(platformVersion)) { + throw new InvalidProjectRequestException("Invalid Spring Boot version '" + platformVersion + + "', Spring Boot compatibility range is " + platform.determineCompatibilityRangeRequirement()); + } + } + + /** + * Validates the type specified in the request. Ensures that the type exists in the + * metadata and has the required 'build' tag. + * @param type the type to validate + * @throws InvalidProjectRequestException if the type is unknown or missing the build + * tag + */ + private void validateType(String type) { + if (type != null) { + Type typeFromMetadata = this.metadata.getTypes().get(type); + if (typeFromMetadata == null) { + 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"); + } + } + } + + /** + * Validates the language specified in the request. + * + *

+ * Checks if the language is defined in the metadata. + * @param language the language to validate + * @throws InvalidProjectRequestException if the language is unknown + */ + private void validateLanguage(String language) { + if (language != null) { + DefaultMetadataElement languageFromMetadata = this.metadata.getLanguages().get(language); + if (languageFromMetadata == null) { + throw new InvalidProjectRequestException("Unknown language '" + language + "' check project metadata"); + } + } + } + + /** + * Validates the packaging specified in the request. Ensures that the packaging type + * is defined in the metadata. + * @param packaging the packaging to validate + * @throws InvalidProjectRequestException if the packaging is unknown + */ + private void validatePackaging(String packaging) { + if (packaging != null) { + DefaultMetadataElement packagingFromMetadata = this.metadata.getPackagings().get(packaging); + if (packagingFromMetadata == null) { + throw new InvalidProjectRequestException( + "Unknown packaging '" + packaging + "' check project metadata"); + } + } + } + + /** + * Validates the dependencies specified in the request. Checks that each dependency + * exists in the metadata. + * @param request the project request containing the dependencies + * @throws InvalidProjectRequestException if any dependency is unknown + */ + private void validateDependencies(ProjectRequest request) { + List dependencies = request.getDependencies(); + dependencies.forEach((dep) -> { + Dependency dependency = this.metadata.getDependencies().get(dep); + if (dependency == null) { + throw new InvalidProjectRequestException("Unknown dependency '" + dep + "' check project metadata"); + } + }); + } + +} 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 02ae329a38..473240ec7c 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 @@ -33,12 +33,28 @@ * A default {@link DependencyMetadataProvider} implementation. * * @author Stephane Nicoll + * @author Akshat Gulati */ public class DefaultDependencyMetadataProvider implements DependencyMetadataProvider { @Override @Cacheable(cacheNames = "initializr.dependency-metadata", key = "#p1") public DependencyMetadata get(InitializrMetadata metadata, Version bootVersion) { + Map dependencies = getDependencies(metadata, bootVersion); + Map repositories = getRepositoriesDependencies(metadata, dependencies); + Map boms = getBoms(metadata, dependencies, 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)); + } + } + + return new DependencyMetadata(bootVersion, dependencies, repositories, boms); + } + + private Map getDependencies(InitializrMetadata metadata, Version bootVersion) { Map dependencies = new LinkedHashMap<>(); for (Dependency dependency : metadata.getDependencies().getAll()) { if (dependency.match(bootVersion)) { @@ -46,6 +62,11 @@ public DependencyMetadata get(InitializrMetadata metadata, Version bootVersion) } } + return dependencies; + } + + private Map getRepositoriesDependencies(InitializrMetadata metadata, + Map dependencies) { Map repositories = new LinkedHashMap<>(); for (Dependency dependency : dependencies.values()) { if (dependency.getRepository() != null) { @@ -53,7 +74,11 @@ public DependencyMetadata get(InitializrMetadata metadata, Version bootVersion) metadata.getConfiguration().getEnv().getRepositories().get(dependency.getRepository())); } } + return repositories; + } + private Map getBoms(InitializrMetadata metadata, Map dependencies, + Version bootVersion) { Map boms = new LinkedHashMap<>(); for (Dependency dependency : dependencies.values()) { if (dependency.getBom() != null) { @@ -61,14 +86,8 @@ public DependencyMetadata get(InitializrMetadata metadata, Version bootVersion) 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)); - } - } - return new DependencyMetadata(bootVersion, dependencies, repositories, boms); + return boms; } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/DefaultProjectRequestToDescriptionConverterTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/DefaultProjectRequestToDescriptionConverterTests.java index e9080a1073..05539d4083 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/DefaultProjectRequestToDescriptionConverterTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/DefaultProjectRequestToDescriptionConverterTests.java @@ -19,6 +19,7 @@ import java.util.Collections; import io.spring.initializr.generator.buildsystem.gradle.GradleBuildSystem; +import io.spring.initializr.generator.language.AbstractLanguage; import io.spring.initializr.generator.project.ProjectDescription; import io.spring.initializr.generator.test.InitializrMetadataTestBuilder; import io.spring.initializr.generator.version.Version; @@ -274,7 +275,7 @@ void convertShouldSetLanguageForProjectDescriptionFromRequest() { request.setJavaVersion("1.8"); ProjectDescription description = this.converter.convert(request, this.metadata); assertThat(description.getLanguage().id()).isEqualTo("java"); - assertThat(description.getLanguage().jvmVersion()).isEqualTo("1.8"); + assertThat(((AbstractLanguage) description.getLanguage()).jvmVersion()).isEqualTo("1.8"); } private ProjectRequest createProjectRequest() {