diff --git a/.github/workflows/update-micronaut-platform-pom.yml b/.github/workflows/update-micronaut-platform-pom.yml new file mode 100644 index 00000000..67b538f0 --- /dev/null +++ b/.github/workflows/update-micronaut-platform-pom.yml @@ -0,0 +1,62 @@ +# +# Copyright the original author or authors from the JHipster project. +# +# This file is part of the JHipster project, see https://www.jhipster.tech/ +# for more information. +# +# 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. +# + +name: update micronaut-platform bom +on: + workflow_dispatch: + inputs: + micronautPlatformVersion: + description: 'Micronaut Platform version' + required: true + type: string + +permissions: + contents: read + +jobs: + build: + permissions: + contents: write # for peter-evans/create-pull-request to create branch + pull-requests: write # for peter-evans/create-pull-request to create a PR + name: update micronaut-platform bom + if: github.repository == 'jhipster/generator-jhipster' + runs-on: ubuntu-latest + steps: + - uses: actions/setup-node@v4 + with: + node-version: 20 + - uses: actions/checkout@v4 + - uses: jhipster/actions/setup-git@v0 + - uses: jhipster/actions/restore-cache@v0 + with: + npm: true + - name: Create commit + run: | + wget -O micronaut-platform.pom https://repo1.maven.org/maven2/io/micronaut/platform/micronaut-platform/${{ inputs.micronautPlatformVersion }}/micronaut-platform-${{ inputs.micronautPlatformVersion }}.pom + git add . + git commit -a -m "update micronaut-platform bom to v${{ inputs.micronautPlatformVersion }}" + working-directory: generators/micronaut/resources + - name: Create Pull Request + uses: peter-evans/create-pull-request@v6 + with: + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: 'update micronaut-platform bom to v${{ inputs.micronautPlatformVersion }}' + title: 'update micronaut-platform bom to v${{ inputs.micronautPlatformVersion }}' + body: update micronaut-platform bom to v${{ inputs.micronautPlatformVersion }} + labels: 'theme: dependencies' diff --git a/cli/logo.js b/cli/logo.js index 8a3d14b0..5fe45f95 100644 --- a/cli/logo.js +++ b/cli/logo.js @@ -1,11 +1,6 @@ import chalk from 'chalk'; -import constants from '../generators/constants.cjs'; import { readFileSync } from 'fs'; -const { - versions: { micronaut: MICRONAUT_VERSION }, -} = constants; - export function getLogo() { const { version } = JSON.parse(readFileSync(new URL('../package.json', import.meta.url))); @@ -19,7 +14,7 @@ ${chalk.blue(' ╚═╝ ╚═╝')}${chalk.green(' ╚═╝ ╚═╝ ${chalk.white.bold(' https://www.jhipster.tech')} ${chalk.blue.bold(' https://micronaut.io\n')} -${chalk.white(` Welcome to MHipster v${chalk.white.bold(version)} :: Running Micronaut v${chalk.white.bold(MICRONAUT_VERSION)}`)} +${chalk.white(` Welcome to MHipster v${chalk.white.bold(version)}`)} ${chalk.white(' This blueprint generates your backend as a Micronaut Java project.')} ${chalk.green(' _______________________________________________________________________________________________________________\n')} ${chalk.white(` ${chalk.yellow('::')} This project is a ${chalk.blue.bold('Micronaut')} blueprint for ${chalk.green.bold('JHipster')}`)} diff --git a/generators/constants.cjs b/generators/constants.cjs index f8088394..1825abc8 100644 --- a/generators/constants.cjs +++ b/generators/constants.cjs @@ -18,7 +18,6 @@ */ module.exports = { - DOCKER_REDIS: 'redis:6.0.10', sqlDb: { h2Disk: { driver: 'org.h2.Driver', @@ -49,24 +48,4 @@ module.exports = { dialect: 'org.hibernate.dialect.SQLServer2012Dialect', }, }, - versions: { - netty: '4.1.107.Final', - rxJava3: '2.3.0', - hibernate: '6.4.4.Final', - prometheusSimpleclient: '0.16.0', - jackson: '2.15.2', - javassist: '3.27.0-GA', // Should match Hibernate deps - javaxMail: '2.0.1', - jbcrypt: '0.4', - logback: '1.5.3', - mapstruct: '1.5.5.Final', - swaggerAnnotations: '2.2.19', - mockito: '5.10.0', - problem: '0.29.1', - caffeine: '3.1.8', - archunit: '1.2.1', - simplejavamail: '8.6.3', - testcontainers: '1.19.6', - assertj: '3.25.3', - }, }; diff --git a/generators/micronaut/generator.js b/generators/micronaut/generator.js index 75793988..d4ba80c4 100644 --- a/generators/micronaut/generator.js +++ b/generators/micronaut/generator.js @@ -4,12 +4,12 @@ import BaseApplicationGenerator from 'generator-jhipster/generators/server'; import { GENERATOR_DOCKER, GENERATOR_LANGUAGES, GENERATOR_LIQUIBASE, GENERATOR_SERVER } from 'generator-jhipster/generators'; import { createNeedleCallback, createBase64Secret } from 'generator-jhipster/generators/base/support'; import { addJavaAnnotation } from 'generator-jhipster/generators/java/support'; +import { parseMavenPom } from 'generator-jhipster/generators/maven/support'; import mnConstants from '../constants.cjs'; import { writeFiles } from './files.js'; import { entityFiles } from './entity-files.js'; import { getCommonMavenDefinition, getDatabaseDriverForDatabase, getImperativeMavenDefinition } from './internal/dependencies.js'; -import constants from '../constants.cjs'; import { serverTestFrameworkChoices } from './command.js'; export default class extends BaseApplicationGenerator { @@ -109,6 +109,22 @@ export default class extends BaseApplicationGenerator { async loading({ application }) { await this.loadCurrentJHipsterCommandConfig(application); }, + loadMicronautPlatformPom({ application }) { + const pomFile = this.readTemplate(this.templatePath('../resources/micronaut-platform.pom')).toString(); + const pom = parseMavenPom(pomFile); + Object.assign(application.javaManagedProperties, pom.project.properties); + + // Liquibase generator uses this property, otherwise it will be used from gradle's dependenciesManagement plugin. + application.javaDependencies.liquibase = application.javaManagedProperties['liquibase.version']; + // Required by Liquibase generator due to liquibase-maven-plugin + application.javaDependencies.h2 = application.javaManagedProperties['h2.version']; + + // Used by getImperativeMavenDefinition for annotation processor. + application.javaDependencies.hibernate = application.javaManagedProperties['hibernate.version']; + + // Used by micronaut-cache. + application.javaDependencies.ehcache = application.javaManagedProperties['ehcache.version']; + }, }); } @@ -122,7 +138,6 @@ export default class extends BaseApplicationGenerator { prepareForTemplates({ application }) { // Workaround application.MN_CONSTANTS = mnConstants; - application.dockerContainers.redis = mnConstants.DOCKER_REDIS; // Add liquibase h2 database references. application.liquibaseAddH2Properties = true; Object.assign(application, { @@ -130,8 +145,6 @@ export default class extends BaseApplicationGenerator { }); }, - registerSpringFactory: undefined, - addLogNeedles({ source, application }) { source.addIntegrationTestAnnotation = ({ package: packageName, annotation }) => this.editFile(this.destinationPath(`${application.javaPackageTestDir}IntegrationTest.java`), content => @@ -193,15 +206,18 @@ export default class extends BaseApplicationGenerator { addMicronautDependencies({ application, source }) { const { javaDependencies } = application; source.addJavaDefinition({ - versions: [ - { name: 'logstash-logback-encoder', version: javaDependencies['logstash-logback-encoder'] }, - { name: 'jhipster-framework', version: application.jhipsterDependenciesVersion }, - { name: 'commons-lang3', version: javaDependencies['commons-lang3'] }, - ], dependencies: [ - { groupId: 'net.logstash.logback', artifactId: 'logstash-logback-encoder', versionRef: 'logstash-logback-encoder' }, - { groupId: 'tech.jhipster', artifactId: 'jhipster-framework', versionRef: 'jhipster-framework' }, - { groupId: 'org.apache.commons', artifactId: 'commons-lang3', versionRef: 'commons-lang3' }, + { groupId: 'io.micronaut.openapi', artifactId: 'micronaut-openapi-annotations' }, + { + groupId: 'net.logstash.logback', + artifactId: 'logstash-logback-encoder', + version: javaDependencies['logstash-logback-encoder'], + }, + { groupId: 'tech.jhipster', artifactId: 'jhipster-framework', version: application.jhipsterDependenciesVersion }, + { groupId: 'org.apache.commons', artifactId: 'commons-lang3', version: javaDependencies['commons-lang3'] }, + { groupId: 'org.mockito', artifactId: 'mockito-core', scope: 'test' }, + { groupId: 'org.zalando', artifactId: 'jackson-datatype-problem', version: javaDependencies['jackson-datatype-problem'] }, + { groupId: 'org.zalando', artifactId: 'problem-violations', version: javaDependencies['problem-violations'] }, ], }); if (application.buildToolMaven) { @@ -209,17 +225,47 @@ export default class extends BaseApplicationGenerator { properties: [{ property: 'modernizer.failOnViolations', value: 'false' }], }); } else if (application.buildToolGradle) { - source.addGradleDependencyCatalogPlugin({ - id: 'io.micronaut.application', - pluginName: 'micronaut-application', - version: application.javaDependencies['micronaut-application'], - addToBuild: true, + source.addGradleDependencyCatalogPlugins([ + { + id: 'io.micronaut.application', + pluginName: 'micronaut-application', + version: application.javaDependencies['micronaut-application'], + addToBuild: true, + }, + { + id: 'com.gorylenko.gradle-git-properties', + pluginName: 'gradle-git-properties', + version: application.javaDependencies['gradle-git-properties'], + addToBuild: true, + }, + { + id: 'com.github.johnrengelman.shadow', + pluginName: 'shadow', + version: application.javaDependencies['shadow'], + addToBuild: true, + }, + ]); + if (application.enableSwaggerCodegen) { + source.addGradleDependencyCatalogPlugin({ + id: 'org.openapi.generator', + pluginName: 'openapi-generator', + version: application.javaDependencies['openapi-generator'], + addToBuild: true, + }); + } + } + + if (!application.skipUserManagement) { + source.addJavaDefinition({ + dependencies: [{ groupId: 'org.mindrot', artifactId: 'jbcrypt', version: javaDependencies.jbcrypt }], }); } }, sqlDependencies({ application, source }) { if (application.databaseTypeSql) { - source.addMavenDefinition?.(getImperativeMavenDefinition({ javaDependencies: { hibernate: constants.versions.hibernate } })); + source.addMavenDefinition?.( + getImperativeMavenDefinition({ javaDependencies: { hibernate: application.javaManagedProperties['hibernate.version'] } }), + ); source.addMavenDefinition?.(getCommonMavenDefinition()); source.addMavenDependency?.(getDatabaseDriverForDatabase(application.prodDatabaseType).jdbc); } diff --git a/generators/micronaut/resources/gradle/libs.versions.toml b/generators/micronaut/resources/gradle/libs.versions.toml index 618a74b6..f4e385ed 100644 --- a/generators/micronaut/resources/gradle/libs.versions.toml +++ b/generators/micronaut/resources/gradle/libs.versions.toml @@ -1,21 +1,31 @@ [libraries] commons-lang3 = { module = 'org.apache.commons:commons-lang3', version = '3.14.0' } -ehcache = { module = 'org.ehcache:ehcache', version = '3.10.8' } - +# Required by Liquibase generator due to liquibase-maven-plugin jakarta-validation = { module = 'jakarta.validation:jakarta.validation-api', version = '3.0.2' } jaxb-runtime = { module = 'org.glassfish.jaxb:jaxb-runtime', version = '4.0.5' } -h2 = { module = 'com.h2database:h2', version = '2.2.224' } - -liquibase = { module = 'org.liquibase:liquibase-core', version = '4.27.0' } - logstash-logback-encoder = { module = 'net.logstash.logback:logstash-logback-encoder', version = '7.4' } micronaut-platform = { module = 'io.micronaut.platform:micronaut-platform', version = '4.4.2' } redisson = { module = 'org.redisson:redisson', version = '3.30.0' } +jbcrypt = { module = 'org.mindrot:jbcrypt', version = '0.4' } + +problem-violations = { module = 'org.zalando:problem-violations', version = '0.29.1' } + +jackson-datatype-problem = { module = 'org.zalando:jackson-datatype-problem', version = '0.27.1' } + +# caffeine +typesafe = { module = 'com.typesafe:config', version = '1.4.3' } + [plugins] micronaut-application = { id = 'io.micronaut.application', version = '4.3.8' } + +gradle-git-properties = { id = 'com.gorylenko.gradle-git-properties', version = '2.4.1' } + +openapi-generator = { id = 'org.openapi.generator', version = '4.3.1' } + +shadow = { id = 'com.github.johnrengelman.shadow', version = '7.1.2' } diff --git a/generators/micronaut/resources/micronaut-platform.pom b/generators/micronaut/resources/micronaut-platform.pom new file mode 100644 index 00000000..e0e43b60 --- /dev/null +++ b/generators/micronaut/resources/micronaut-platform.pom @@ -0,0 +1,785 @@ + + + + + + + + 4.0.0 + io.micronaut.platform + micronaut-platform + 4.4.2 + pom + Micronaut Platform + Bill-Of-Materials (BOM) and Gradle version catalogs for Micronaut + https://micronaut.io + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + cedricchampeau + Cedric Champeau + + + + scm:git@github.com:micronaut-projects/micronaut-platform.git + scm:git@github.com:micronaut-projects/micronaut-platform.git + scm:git@github.com:micronaut-projects/micronaut-platform.git + + + 3.2.1 + 2.86.0 + 5.20.0 + 5.3.1 + 3.25.3 + 1.12.691 + 2.24.10 + 3.11.4 + 1.1.5 + 1.2.3 + 4.57.0 + 3.1.0 + 1.2.22 + 6.0.2 + 4.11.1 + 3.1.8 + 23.03 + 2.12.0 + 1.4.0 + 4.17.0 + 2.0.3 + 1.1.5 + 1.2.0 + 3.10.8 + 8.13.0 + 1.3 + 10.10.0 + 2.3.32 + 1.23.0 + 2.36.1 + 1.128.0 + 2.41.0 + 0.3.0 + 1.3.1 + 1.1.0 + 24.0.1 + 23.1.3 + 22.3.0 + 2023-01-24T02-11-56-babda5f + 13.1.1 + 21.5 + 0.12.4 + 4.0.21 + 1.4.1 + 1.62.2 + 2.2.224 + 2.2 + 4.3.1 + 5.3.6 + 2.2.2.Final + 6.4.4.Final + 5.1.0 + 1.3.3 + 0.64.8 + 14.0.27.Final + 2.17.0 + 2.16.1 + 2.1.1 + 2.1.3 + 3.0.0 + 2.1.3 + 3.1.0 + 2.0.1 + 2.2.4 + 3.25.10 + 0.3.1 + 1.3.2 + 2.2 + 3.1.0 + 1.1.1 + 3.45.1 + 11.0.20 + 5.14.0 + 3.19.7 + 1.17.2 + 3.0.2 + 1.3.4 + 3.1.9 + 5.10.2 + 5.10.2 + 3.7.0 + 3.7.0 + 5.8.1 + 1.7.3 + 1.9.23 + 1.9.23-1.0.20 + 2.3.9 + 6.3.2.RELEASE + 4.26.0 + 2.23.1 + 1.4.14 + 1.5.3 + 1.18.32 + 5.2.5 + 3.3.3 + 0.10.1 + 0.18.0 + 4.2.25 + 1.1.1 + 1.2.4 + 1.12.4 + 5.1.0 + 2.4.0 + 4.5.0 + 5.4.0 + 4.3.0 + 6.4.0 + 1.1.0 + 4.0.0 + 1.3.0 + 4.4.8 + 2.3.0 + 4.7.0 + 4.3.0 + 4.3.0 + 1.4.0 + 5.4.0 + 2.5.0 + 7.2.0 + 5.5.0 + 4.3.0 + 4.3.0 + 4.4.1 + 4.3.0 + 4.3.0 + 4.4.0 + 3.4.0 + 4.3.0 + 5.4.0 + 4.3.0 + 6.1.0 + 6.3.0 + 1.3.0 + 5.5.0 + 2.4.0 + 5.3.0 + 5.3.0 + 3.3.0 + 5.3.0 + 4.3.0 + 6.5.0 + 2.4.0 + 6.8.0 + 1.0.0 + 4.0.0 + 4.0.0 + 5.3.0 + 4.4.2 + 3.3.0 + 3.3.0 + 2.3.0 + 5.4.0 + 4.4.0 + 3.3.0 + 6.4.0 + 4.3.0 + 2.3.0 + 3.3.0 + 4.7.0 + 2.9.0 + 2.9.0 + 4.7.0 + 4.3.0 + 5.6.0 + 5.6.0 + 2.5.1 + 4.3.0 + 2.5.1 + 2.3.0 + 6.5.2 + 4.5.0 + 5.2.2 + 08.01.02-MS-GA + 5.11.0 + 1.13.10 + 4.11.1 + 4.11.1 + 1.2.5 + 1.2.5 + 12.6.1.jre11 + 8.3.0 + 8.0.33 + 5.18.0 + 5.17.0 + 0.0.28.Final + 0.0.25.Final + 2.0.65.Final + 4.1.108.Final + 0.10.0 + 9.37.3 + 21.13.0.0 + 2.1 + 2.9.1 + 2.12.0 + 2.0.1 + 1.36.0-alpha + 1.34.0-alpha + 1.34.0 + 0.27.0-alpha + 1.33.1-alpha + 1.33.1 + 1.36.0 + 1.4.1 + 1.6.0 + 4.7.5 + 42.7.3 + 1.11.1 + 3.25.3 + 2.2.0 + 3.2.2 + 1.0.0.RELEASE + 1.1.2 + 1.1.4 + 1.0.2.RELEASE + 0.8.2.RELEASE + 1.2.0 + 1.0.1.RELEASE + 1.0.4.RELEASE + 1.0.0.RELEASE + 1.0.4 + 2023.0.4 + 3.5.11 + 5.4.0 + 1.4.0 + 2.2.21 + 3.1.8 + 4.10.2 + 6.0.0 + 2.0.12 + 2.2 + 2023-09-13 + 2.3-groovy-4.0 + 4.8.4 + 3.2.4 + 6.1.5 + 2.2.21 + 1.6.4 + 1.19.7 + 3.1.2.RELEASE + 10.1.20 + 3.0.2 + 2.3 + 4.5.7 + 0.27.1 + 3.3.0 + + + + + org.graalvm.nativeimage + svm + ${graal.svm.version} + + + org.graalvm.sdk + graal-sdk + ${graal.sdk.version} + + + javax.annotation + javax.annotation-api + ${javax.annotation.api.version} + + + net.java.dev.jna + jna + ${jna.version} + + + com.google.code.findbugs + jsr305 + ${jsr305.version} + + + org.projectlombok + lombok + ${lombok.version} + + + org.spockframework + spock-core + ${spock.version} + + + com.github.spotbugs + spotbugs-annotations + ${spotbugs.version} + + + io.micronaut.platform + micronaut-parent + ${micronaut.platform.version} + + + org.junit + junit-bom + ${junit5.version} + pom + import + + + io.micronaut.acme + micronaut-acme-bom + ${micronaut.acme.version} + pom + import + + + io.micronaut.aot + micronaut-aot-bom + ${micronaut.aot.version} + pom + import + + + io.micronaut.aws + micronaut-aws-bom + ${micronaut.aws.version} + pom + import + + + io.micronaut.azure + micronaut-azure-bom + ${micronaut.azure.version} + pom + import + + + io.micronaut.cache + micronaut-cache-bom + ${micronaut.cache.version} + pom + import + + + io.micronaut.cassandra + micronaut-cassandra-bom + ${micronaut.cassandra.version} + pom + import + + + io.micronaut.chatbots + micronaut-chatbots-bom + ${micronaut.chatbots.version} + pom + import + + + io.micronaut.coherence + micronaut-coherence-bom + ${micronaut.coherence.version} + pom + import + + + io.micronaut.controlpanel + micronaut-control-panel-bom + ${micronaut.control.panel.version} + pom + import + + + io.micronaut + micronaut-core-bom + ${micronaut.core.version} + pom + import + + + io.micronaut.crac + micronaut-crac-bom + ${micronaut.crac.version} + pom + import + + + io.micronaut.data + micronaut-data-bom + ${micronaut.data.version} + pom + import + + + io.micronaut.discovery + micronaut-discovery-client-bom + ${micronaut.discovery.version} + pom + import + + + io.micronaut.eclipsestore + micronaut-eclipsestore-bom + ${micronaut.eclipsestore.version} + pom + import + + + io.micronaut.elasticsearch + micronaut-elasticsearch-bom + ${micronaut.elasticsearch.version} + pom + import + + + io.micronaut.email + micronaut-email-bom + ${micronaut.email.version} + pom + import + + + io.micronaut.flyway + micronaut-flyway-bom + ${micronaut.flyway.version} + pom + import + + + io.micronaut.gcp + micronaut-gcp-bom + ${micronaut.gcp.version} + pom + import + + + io.micronaut.graphql + micronaut-graphql-bom + ${micronaut.graphql.version} + pom + import + + + io.micronaut.groovy + micronaut-groovy-bom + ${micronaut.groovy.version} + pom + import + + + io.micronaut.grpc + micronaut-grpc-bom + ${micronaut.grpc.version} + pom + import + + + io.micronaut.beanvalidation + micronaut-hibernate-validator-bom + ${micronaut.hibernate.validator.version} + pom + import + + + io.micronaut.xml + micronaut-jackson-xml-bom + ${micronaut.jackson.xml.version} + pom + import + + + io.micronaut.jaxrs + micronaut-jaxrs-bom + ${micronaut.jaxrs.version} + pom + import + + + io.micronaut.jms + micronaut-jms-bom + ${micronaut.jms.version} + pom + import + + + io.micronaut.jmx + micronaut-jmx-bom + ${micronaut.jmx.version} + pom + import + + + io.micronaut.kafka + micronaut-kafka-bom + ${micronaut.kafka.version} + pom + import + + + io.micronaut.kotlin + micronaut-kotlin-bom + ${micronaut.kotlin.version} + pom + import + + + io.micronaut.kubernetes + micronaut-kubernetes-bom + ${micronaut.kubernetes.version} + pom + import + + + io.micronaut.liquibase + micronaut-liquibase-bom + ${micronaut.liquibase.version} + pom + import + + + io.micronaut.logging + micronaut-logging-bom + ${micronaut.logging.version} + pom + import + + + io.micronaut.micrometer + micronaut-micrometer-bom + ${micronaut.micrometer.version} + pom + import + + + io.micronaut.microstream + micronaut-microstream-bom + ${micronaut.microstream.version} + pom + import + + + io.micronaut.mongodb + micronaut-mongo-bom + ${micronaut.mongo.version} + pom + import + + + io.micronaut.mqtt + micronaut-mqtt-bom + ${micronaut.mqtt.version} + pom + import + + + io.micronaut.multitenancy + micronaut-multitenancy-bom + ${micronaut.multitenancy.version} + pom + import + + + io.micronaut.nats + micronaut-nats-bom + ${micronaut.nats.version} + pom + import + + + io.micronaut.neo4j + micronaut-neo4j-bom + ${micronaut.neo4j.version} + pom + import + + + io.micronaut.objectstorage + micronaut-object-storage-bom + ${micronaut.object.storage.version} + pom + import + + + io.micronaut.openapi + micronaut-openapi-bom + ${micronaut.openapi.version} + pom + import + + + io.micronaut.opensearch + micronaut-opensearch-bom + ${micronaut.opensearch.version} + pom + import + + + io.micronaut.oraclecloud + micronaut-oraclecloud-bom + ${micronaut.oraclecloud.version} + pom + import + + + io.micronaut.picocli + micronaut-picocli-bom + ${micronaut.picocli.version} + pom + import + + + io.micronaut.problem + micronaut-problem-json-bom + ${micronaut.problem.version} + pom + import + + + io.micronaut.pulsar + micronaut-pulsar-bom + ${micronaut.pulsar.version} + pom + import + + + io.micronaut.r2dbc + micronaut-r2dbc-bom + ${micronaut.r2dbc.version} + pom + import + + + io.micronaut.rabbitmq + micronaut-rabbitmq-bom + ${micronaut.rabbitmq.version} + pom + import + + + io.micronaut.reactor + micronaut-reactor-bom + ${micronaut.reactor.version} + pom + import + + + io.micronaut.redis + micronaut-redis-bom + ${micronaut.redis.version} + pom + import + + + io.micronaut.rss + micronaut-rss-bom + ${micronaut.rss.version} + pom + import + + + io.micronaut.rxjava2 + micronaut-rxjava2-bom + ${micronaut.rxjava2.version} + pom + import + + + io.micronaut.rxjava3 + micronaut-rxjava3-bom + ${micronaut.rxjava3.version} + pom + import + + + io.micronaut.security + micronaut-security-bom + ${micronaut.security.version} + pom + import + + + io.micronaut.serde + micronaut-serde-bom + ${micronaut.serialization.version} + pom + import + + + io.micronaut.servlet + micronaut-servlet-bom + ${micronaut.servlet.version} + pom + import + + + io.micronaut.session + micronaut-session-bom + ${micronaut.session.version} + pom + import + + + io.micronaut.spring + micronaut-spring-bom + ${micronaut.spring.version} + pom + import + + + io.micronaut.sql + micronaut-sql-bom + ${micronaut.sql.version} + pom + import + + + io.micronaut.test + micronaut-test-bom + ${micronaut.test.version} + pom + import + + + io.micronaut.testresources + micronaut-test-resources-bom + ${micronaut.test.resources.version} + pom + import + + + io.micronaut.toml + micronaut-toml-bom + ${micronaut.toml.version} + pom + import + + + io.micronaut.tracing + micronaut-tracing-bom + ${micronaut.tracing.version} + pom + import + + + io.micronaut.validation + micronaut-validation-bom + ${micronaut.validation.version} + pom + import + + + io.micronaut.views + micronaut-views-bom + ${micronaut.views.version} + pom + import + + + + diff --git a/generators/micronaut/templates/build.gradle.ejs b/generators/micronaut/templates/build.gradle.ejs index 2cf64c8d..926f8e60 100644 --- a/generators/micronaut/templates/build.gradle.ejs +++ b/generators/micronaut/templates/build.gradle.ejs @@ -21,11 +21,6 @@ plugins { id "maven-publish" id "idea" id "application" - id "com.gorylenko.gradle-git-properties" - <%_ if (enableSwaggerCodegen) { _%> - id "org.openapi.generator" - <%_ } _%> - id "com.github.johnrengelman.shadow" // jhipster-needle-gradle-plugins - JHipster will add additional gradle plugins here } @@ -217,8 +212,7 @@ dependencies { <%_ } _%> annotationProcessor "io.micronaut.openapi:micronaut-openapi" - implementation "ch.qos.logback:logback-classic:$logback_version" - implementation "io.swagger.core.v3:swagger-annotations:$swagger_annotations_version" + implementation "ch.qos.logback:logback-classic" implementation "io.micrometer:micrometer-registry-prometheus" implementation "com.fasterxml.jackson.core:jackson-annotations" @@ -260,7 +254,7 @@ dependencies { <%_ if (enableHibernateCache) { _%> implementation "org.hibernate:hibernate-jcache:$hibernate_version" <%_ } _%> - testImplementation "org.testcontainers:testcontainers:$testcontainers_version" + testImplementation "org.testcontainers:testcontainers" <%_ } _%> <%_ if (['ehcache', 'caffeine', 'hazelcast', 'infinispan', 'redis'].includes(cacheProvider) || applicationTypeGateway) { _%> implementation "io.micronaut.cache:micronaut-cache-core" @@ -287,12 +281,9 @@ dependencies { <%_ } _%> <%_ } _%> <%_ if (cacheProvider === 'caffeine') { _%> - implementation "com.github.ben-manes.caffeine:caffeine:${caffeine_version}" - implementation "com.github.ben-manes.caffeine:jcache:${caffeine_version}" - implementation "com.typesafe:config:${typesafe_config_version}" implementation "io.micronaut.cache:micronaut-cache-caffeine" <%_ if (enableHibernateCache) { _%> - implementation "org.hibernate:hibernate-jcache:$hibernate_version" + implementation "org.hibernate:hibernate-jcache" <%_ } _%> <%_ } _%> @@ -307,10 +298,6 @@ dependencies { <%_ } _%> implementation "io.micronaut.views:micronaut-views-thymeleaf" -<%_ if (!skipUserManagement) { _%> - implementation "org.mindrot:jbcrypt:$jbcrypt_version" -<%_ } _%> - compileOnly "org.graalvm.nativeimage:svm" implementation "io.micronaut.validation:micronaut-validation" @@ -326,7 +313,6 @@ dependencies { implementation("io.micronaut.data:micronaut-data-jdbc") { exclude group: 'io.micronaut', module: 'micronaut-jdbc' } - implementation "jakarta.persistence:jakarta.persistence-api:3.1.0" <%_ if (serviceDiscoveryType === 'eureka' || serviceDiscoveryType === 'consul') { _%> implementation "io.micronaut.discovery:micronaut-discovery-client" <%_ } _%> @@ -335,14 +321,6 @@ dependencies { runtimeOnly("org.eclipse.angus:angus-mail") implementation("io.micronaut.email:micronaut-email-template") implementation("io.micronaut.views:micronaut-views-thymeleaf") - - implementation "org.zalando:problem-violations:$problem_version" - implementation "org.zalando:jackson-datatype-problem:0.27.1" - <%_ if (searchEngine === 'elasticsearch') { _%> - - // log4j2-mock needed to create embedded elasticsearch instance with SLF4J - runtimeOnly "de.dentrassi.elasticsearch:log4j2-mock:$log4j2_mock_version" - <%_ } _%> <%_ if (messageBroker === 'kafka') { _%> <%_ if (!reactive) { _%> implementation "org.apache.kafka:kafka-clients" @@ -403,7 +381,6 @@ dependencies { testImplementation "org.junit.jupiter:junit-jupiter-engine" testImplementation "org.junit.jupiter:junit-jupiter-api" testImplementation "org.assertj:assertj-core" - testImplementation "org.mockito:mockito-core:$mockito_version" testImplementation "com.tngtech.archunit:archunit-junit5-api:${archunit_junit5_version}" testRuntimeOnly "com.tngtech.archunit:archunit-junit5-engine:${archunit_junit5_version}" @@ -424,7 +401,7 @@ dependencies { <%_ } _%> implementation("io.micronaut.rxjava3:micronaut-rxjava3") - implementation("io.micronaut.rxjava3:micronaut-rxjava3-http-client:$rxJava3Version") + implementation("io.micronaut.rxjava3:micronaut-rxjava3-http-client") // jhipster-needle-gradle-dependency - JHipster will add additional dependencies here } diff --git a/generators/micronaut/templates/gradle.properties.ejs b/generators/micronaut/templates/gradle.properties.ejs index 12d7ac08..c15c31cb 100644 --- a/generators/micronaut/templates/gradle.properties.ejs +++ b/generators/micronaut/templates/gradle.properties.ejs @@ -27,53 +27,18 @@ profile=dev # Dependency versions micronautVersion=<%= javaDependencies['micronaut-platform'] %> -# The hibernate version should match the one managed by Micronaut data -# https://mvnrepository.com/artifact/io.micronaut.data/micronaut-data-hibernate-jpa/1.0.1 -hibernate_version=<%=versions.hibernate%> -mapstruct_version=<%=versions.mapstruct%> -archunit_junit5_version=<%=versions.archunit%> -logback_version=<%=versions.logback%> -swagger_annotations_version=<%=versions.swaggerAnnotations%> -mockito_version=<%=versions.mockito%> -<%_ if (!skipUserManagement) { _%> -jbcrypt_version=<%=versions.jbcrypt%> -<%_ } _%> -jakarta_inject_version=<%= versions.jakartaInject %> -jakarta_mail_version=<%=versions.jakartaMail%> -simplejavamail_version=<%= versions.simplejavamail %> -problem_version=<%=versions.problem%> -<%_ if (searchEngine === 'elasticsearch') { _%> -log4j2_mock_version=0.0.2 -<%_ } _%> +hibernate_version=<%= javaManagedProperties['hibernate.version'] %> +mapstruct_version=<%=javaDependencies.mapstruct%> +archunit_junit5_version=<%= javaDependencies['archunit-junit5'] %> <%_ if (enableSwaggerCodegen) { _%> jackson_databind_nullable_version=<%= javaDependencies['jackson-databind-nullable'] %> <%_ } _%> -<%_ if (cacheProvider === 'caffeine') { _%> -caffeine_version=<%=versions.caffeine%> -typesafe_config_version=1.4.0 -<%_ } _%> -testcontainers_version=<%= versions.testcontainers %> - liquibaseTaskPrefix=liquibase <%_ if (databaseTypeSql) { _%> jaxb_runtime_version=<%= javaDependencies['jaxb-runtime'] %> <%_ } _%> -# gradle plugin version -git_properties_plugin_version=2.4.1 -apt_plugin_version=0.21 -<%_ if (databaseTypeSql) { _%> -liquibase_plugin_version=2.2.0 -<%_ } _%> -<%_ if (enableSwaggerCodegen) { _%> -openapi_plugin_version=4.3.1 -<%_ } _%> -shadow_plugin_version=7.1.2 - -#rxjava3 dependencies -rxJava3Version=<%=versions.rxJava3%> - # jhipster-needle-gradle-property - JHipster will add additional properties here ## below are some of the gradle performance improvement settings that can be used as required, these are not enabled by default diff --git a/generators/micronaut/templates/pom.xml.ejs b/generators/micronaut/templates/pom.xml.ejs index a82a3ac5..6d157b72 100644 --- a/generators/micronaut/templates/pom.xml.ejs +++ b/generators/micronaut/templates/pom.xml.ejs @@ -84,46 +84,20 @@ _%> <%= javaDependencies['micronaut-platform'] %> - <%= versions.prometheusSimpleclient %> - <%= versions.hibernate %> - - <%= versions.javassist %> - <%= versions.jakartaInject %> - <%= versions.jakartaMail %> - <%_ if (!skipUserManagement) { _%> - <%= versions.jbcrypt %> - <%_ } _%> - <%= versions.logback %> <%- javaDependencies.mapstruct %> - <%= versions.mockito %> - <%= versions.assertj %> - <%= versions.problem %> - <%= versions.jackson %> -<%_ if (cacheProvider === 'caffeine') { _%> - <%= versions.caffeine %> - 1.4.0 -<%_ } _%> -<%_ if (cacheProviderEhcache) { _%> - 3.10.8 -<%_ } _%> <%- javaDependencies['archunit-junit5'] %> - <%= versions.testcontainers %> <%- javaDependencies['maven-antrun-plugin'] %> <%- javaDependencies['maven-clean-plugin'] %> <%- javaDependencies['maven-compiler-plugin'] %> <%- javaDependencies['maven-javadoc-plugin'] %> - 2.10 <%- javaDependencies['maven-site-plugin'] %> <%- javaDependencies['maven-enforcer-plugin'] %> <%- javaDependencies['maven-failsafe-plugin'] %> <%- javaDependencies['maven-resources-plugin'] %> <%- javaDependencies['maven-surefire-plugin'] %> - 3.5.1 - 3.1.1 <%- javaDependencies['git-commit-id-maven-plugin'] %> - 1.0.0 + <%- javaDependencies['lifecycle-mapping'] %> <%- javaDependencies['properties-maven-plugin'] %> <%_ if (enableSwaggerCodegen) { _%> <%= javaDependencies['jackson-databind-nullable'] %> @@ -139,11 +113,6 @@ _%> - - io.swagger.core.v3 - swagger-annotations - <%= versions.swaggerAnnotations %> - org.yaml snakeyaml @@ -167,28 +136,6 @@ _%> ch.qos.logback logback-classic - ${logback.version} - - - ch.qos.logback - logback-core - - - - - ch.qos.logback - logback-core - ${logback.version} - - - org.zalando - jackson-datatype-problem - 0.27.1 - - - org.zalando - problem-violations - <%=versions.problem%> io.micronaut.validation @@ -362,16 +309,9 @@ _%> ${archunit-junit5.version} test - - org.mockito - mockito-core - ${mockito.version} - test - org.assertj assertj-core - ${assertj.version} test @@ -401,13 +341,6 @@ _%> compile <%_ } _%> - <%_ if (!skipUserManagement) { _%> - - org.mindrot - jbcrypt - ${jbcrypt.version} - - <%_ } _%> <%_ if (applicationTypeMicroservice) { _%> <%_ } _%> @@ -448,10 +381,6 @@ _%> org.apache.maven.plugins maven-javadoc-plugin - - org.apache.maven.plugins - maven-eclipse-plugin - org.apache.maven.plugins maven-enforcer-plugin @@ -609,15 +538,6 @@ _%> maven-site-plugin ${maven-site-plugin.version} - - org.apache.maven.plugins - maven-eclipse-plugin - ${maven-eclipse-plugin.version} - - true - true - - org.apache.maven.plugins maven-enforcer-plugin diff --git a/generators/micronaut/templates/settings.gradle.ejs b/generators/micronaut/templates/settings.gradle.ejs index d94ad245..205b27be 100644 --- a/generators/micronaut/templates/settings.gradle.ejs +++ b/generators/micronaut/templates/settings.gradle.ejs @@ -24,11 +24,6 @@ pluginManagement { // jhipster-needle-gradle-plugin-management-repositories - JHipster will add additional entries here } plugins { - id 'com.gorylenko.gradle-git-properties' version "${git_properties_plugin_version}" - <%_ if (enableSwaggerCodegen) { _%> - id "org.openapi.generator" version "${openapi_plugin_version}" - <%_ } _%> - id 'com.github.johnrengelman.shadow' version "${shadow_plugin_version}" // jhipster-needle-gradle-plugin-management-plugins - JHipster will add additional entries here } }