buildscript { repositories { maven { url 'https://maven.aliyun.com/repository/public' } gradlePluginPortal() } dependencies { //jhipster-needle-gradle-buildscript-dependency - JHipster will add additional gradle build script plugins here } } plugins { id "java" id "maven-publish" id "idea" id "eclipse" id "jacoco" id "org.springframework.boot" id "com.google.cloud.tools.jib" id "com.gorylenko.gradle-git-properties" id "org.liquibase.gradle" id "org.sonarqube" id "io.spring.nohttp" id "com.github.andygoossens.gradle-modernizer-plugin" //jhipster-needle-gradle-plugins - JHipster will add additional gradle plugins here id "org.springframework.boot.experimental.thin-launcher" version "1.0.28.RELEASE" apply false id "io.spring.dependency-management" version "1.0.11.RELEASE" apply false } group = "com.ruowei" version = "" description = "" sourceCompatibility = 11 targetCompatibility = 11 assert System.properties["java.specification.version"] == "11" || "12" || "13" || "14" || "15" || "16" || "17" apply from: "gradle/docker.gradle" apply from: "gradle/sonar.gradle" //jhipster-needle-gradle-apply-from - JHipster will add additional gradle scripts to be applied here if (project.hasProperty("prod") || project.hasProperty("gae")) { apply from: "gradle/profile_prod.gradle" } else { apply from: "gradle/profile_dev.gradle" } if (project.hasProperty("war")) { apply from: "gradle/war.gradle" } if (project.hasProperty("gae")) { apply plugin: 'maven' apply plugin: 'org.springframework.boot.experimental.thin-launcher' apply plugin: 'io.spring.dependency-management' dependencyManagement { imports { mavenBom "tech.jhipster:jhipster-dependencies:${jhipsterDependenciesVersion}" } } appengineStage.dependsOn thinResolve } if (project.hasProperty("zipkin")) { apply from: "gradle/zipkin.gradle" } if (project.hasProperty("thin")) { apply from: "gradle/thin.gradle" bootJarMainClassName.dependsOn thinPom } idea { module { excludeDirs += files("node_modules") } } eclipse { sourceSets { main { java { srcDirs += ["build/generated/sources/annotationProcessor/java/main"] } } } } defaultTasks "bootRun" springBoot { // mainClassName = "com.ruowei.CnspJavaApp" mainClass = 'com.ruowei.CnspJavaApp' } test { useJUnitPlatform() exclude "**/*IT*", "**/*IntTest*" exclude '**/*IntegrationTest*' testLogging { events 'FAILED', 'SKIPPED' } jvmArgs += '-Djava.security.egd=file:/dev/./urandom -Xmx256m' // uncomment if the tests reports are not generated // see https://github.com/jhipster/generator-jhipster/pull/2771 and https://github.com/jhipster/generator-jhipster/pull/4484 // ignoreFailures true reports.html.enabled = false } modernizer { failOnViolations = true includeTestClasses = true } task integrationTest(type: Test) { useJUnitPlatform() description = "Execute integration tests." group = "verification" include "**/*IT*", "**/*IntTest*" testLogging { events 'FAILED', 'SKIPPED' } jvmArgs += '-Djava.security.egd=file:/dev/./urandom -Xmx256m' if (project.hasProperty('testcontainers')) { environment 'spring.profiles.active', 'testcontainers' } // uncomment if the tests reports are not generated // see https://github.com/jhipster/generator-jhipster/pull/2771 and https://github.com/jhipster/generator-jhipster/pull/4484 // ignoreFailures true reports.html.enabled = false } check.dependsOn integrationTest task testReport(type: TestReport) { destinationDir = file("$buildDir/reports/tests") reportOn test } task integrationTestReport(type: TestReport) { destinationDir = file("$buildDir/reports/tests") reportOn integrationTest } if (!project.hasProperty("runList")) { project.ext.runList = "main" } project.ext.diffChangelogFile = "src/main/resources/config/liquibase/changelog/" + new Date().format("yyyyMMddHHmmss") + "_changelog.xml" liquibase { activities { main { driver "com.mysql.cj.jdbc.Driver" url "jdbc:mysql://localhost:3306/cnspJava" username "root" password "" changeLogFile "src/main/resources/config/liquibase/master.xml" defaultSchemaName "cnspJava" logLevel "debug" classpath "src/main/resources/" } diffLog { driver "com.mysql.cj.jdbc.Driver" url "jdbc:mysql://localhost:3306/cnspJava" username "root" password "" changeLogFile project.ext.diffChangelogFile referenceUrl "hibernate:spring:com.ruowei.domain?dialect=org.hibernate.dialect.MySQL8Dialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy" defaultSchemaName "cnspJava" logLevel "debug" classpath "$buildDir/classes/java/main" } } runList = project.ext.runList } gitProperties { failOnNoGitDirectory = false keys = ["git.branch", "git.commit.id.abbrev", "git.commit.id.describe"] } checkstyle { toolVersion "${checkstyleVersion}" configFile file("checkstyle.xml") checkstyleTest.enabled = false } nohttp { source.include "build.gradle", "README.md" } configurations { providedRuntime implementation.exclude module: "spring-boot-starter-tomcat" all { resolutionStrategy { // Inherited version from Spring Boot can't be used because of regressions: // To be removed as soon as spring-boot use the same version force 'org.liquibase:liquibase-core:4.6.1' } } } repositories { mavenLocal() maven { url 'https://maven.aliyun.com/repository/public' } mavenCentral() //jhipster-needle-gradle-repositories - JHipster will add additional repositories } dependencies { // import JHipster dependencies BOM if (!project.hasProperty("gae")) { implementation platform("tech.jhipster:jhipster-dependencies:${jhipsterDependenciesVersion}") } // Use ", version: jhipsterDependenciesVersion, changing: true" if you want // to use a SNAPSHOT release instead of a stable release implementation group: "tech.jhipster", name: "jhipster-framework" implementation "javax.annotation:javax.annotation-api" implementation "org.springframework.boot:spring-boot-starter-cache" implementation "io.dropwizard.metrics:metrics-core" implementation "io.micrometer:micrometer-registry-prometheus" implementation "com.fasterxml.jackson.datatype:jackson-datatype-hppc" implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" implementation "com.fasterxml.jackson.module:jackson-module-jaxb-annotations" implementation "com.fasterxml.jackson.datatype:jackson-datatype-hibernate5" implementation "com.fasterxml.jackson.core:jackson-annotations" implementation "com.fasterxml.jackson.core:jackson-databind" implementation "javax.cache:cache-api" implementation "org.hibernate:hibernate-core" implementation "com.zaxxer:HikariCP" implementation "org.apache.commons:commons-lang3" implementation "javax.transaction:javax.transaction-api" implementation "com.github.ben-manes.caffeine:caffeine:${caffeineVersion}" implementation "com.github.ben-manes.caffeine:jcache:${caffeineVersion}" implementation "com.typesafe:config:${typesafeConfigVersion}" implementation "org.hibernate:hibernate-jcache" implementation "org.hibernate:hibernate-entitymanager" implementation "org.hibernate.validator:hibernate-validator" implementation "org.liquibase:liquibase-core" liquibaseRuntime "org.liquibase:liquibase-core" liquibaseRuntime "org.liquibase.ext:liquibase-hibernate5:${liquibaseHibernate5Version}" liquibaseRuntime sourceSets.main.compileClasspath implementation "org.springframework.boot:spring-boot-loader-tools" implementation "org.springframework.boot:spring-boot-starter-mail" implementation "org.springframework.boot:spring-boot-starter-logging" implementation "org.springframework.boot:spring-boot-starter-actuator" implementation "org.springframework.boot:spring-boot-starter-data-jpa" testImplementation "org.testcontainers:mysql" implementation "org.springframework.boot:spring-boot-starter-security" implementation("org.springframework.boot:spring-boot-starter-web") { exclude module: "spring-boot-starter-tomcat" } implementation "org.springframework.boot:spring-boot-starter-undertow" implementation "org.springframework.boot:spring-boot-starter-thymeleaf" implementation "org.zalando:problem-spring-web" implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-data" implementation "org.springframework.security:spring-security-web" implementation "io.jsonwebtoken:jjwt-api" if (!project.hasProperty("gae")) { runtimeOnly "io.jsonwebtoken:jjwt-impl" runtimeOnly "io.jsonwebtoken:jjwt-jackson" } else { implementation "io.jsonwebtoken:jjwt-impl" implementation "io.jsonwebtoken:jjwt-jackson" } // implementation("io.springfox:springfox-oas") // https://mvnrepository.com/artifact/io.springfox/springfox-oas implementation 'io.springfox:springfox-oas:3.0.0' // implementation("io.springfox:springfox-swagger2") // https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 implementation 'io.springfox:springfox-swagger2:3.0.0' // implementation "io.springfox:springfox-bean-validators" // https://mvnrepository.com/artifact/io.springfox/springfox-bean-validators implementation 'io.springfox:springfox-bean-validators:3.0.0' implementation "mysql:mysql-connector-java" liquibaseRuntime "mysql:mysql-connector-java" implementation "org.mapstruct:mapstruct:${mapstructVersion}" annotationProcessor "org.mapstruct:mapstruct-processor:${mapstructVersion}" annotationProcessor "org.hibernate:hibernate-jpamodelgen:${hibernateVersion}" annotationProcessor "org.glassfish.jaxb:jaxb-runtime:${jaxbRuntimeVersion}" annotationProcessor "org.springframework.boot:spring-boot-configuration-processor:${springBootVersion}" testImplementation "org.springframework.boot:spring-boot-starter-test" testImplementation "org.springframework.security:spring-security-test" testImplementation "org.springframework.boot:spring-boot-test" testImplementation "com.tngtech.archunit:archunit-junit5-api:${archunitJunit5Version}" testRuntimeOnly "com.tngtech.archunit:archunit-junit5-engine:${archunitJunit5Version}" testImplementation "com.h2database:h2" developmentOnly "org.springframework.boot:spring-boot-devtools:${springBootVersion}" //jhipster-needle-gradle-dependency - JHipster will add additional dependencies here compileOnly "org.projectlombok:lombok:1.18.22" annotationProcessor "org.projectlombok:lombok:1.18.22" implementation "com.querydsl:querydsl-core:5.0.0" implementation "com.querydsl:querydsl-jpa:5.0.0" annotationProcessor "org.springframework.boot:spring-boot-starter-data-jpa:${springBootVersion}" annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jpa" implementation "com.github.xiaoymin:knife4j-spring-ui:3.0.3" implementation "org.springframework.boot:spring-boot-starter-webflux" // https://mvnrepository.com/artifact/org.apache.poi/poi implementation group: 'org.apache.poi', name: 'poi', version: '4.1.2' // https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '4.1.2' // https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas implementation group: 'org.apache.poi', name: 'poi-ooxml-schemas', version: '4.1.2' // https://mvnrepository.com/artifact/com.itextpdf/itextpdf implementation group: 'com.itextpdf', name: 'itextpdf', version: '5.5.13.2' // https://mvnrepository.com/artifact/com.itextpdf/io implementation group: 'com.itextpdf', name: 'io', version: '7.1.4' // https://mvnrepository.com/artifact/com.itextpdf/itext-asian implementation group: 'com.itextpdf', name: 'itext-asian', version: '5.2.0' // crawl implementation group: 'edu.uci.ics', name: 'crawler4j', version: '4.4.0' // jsoup implementation group: 'org.jsoup', name: 'jsoup', version: '1.11.3' // ali-fastjson // implementation group: 'com.alibaba', name: 'fastjson', version: '1.2.75' // https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2 implementation group: 'com.alibaba.fastjson2', name: 'fastjson2', version: '2.0.25' implementation "com.github.yitter:yitter-idgenerator:1.0.6" implementation "org.mariuszgromada.math:MathParser.org-mXparser:4.4.2" // https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox implementation group: 'org.apache.pdfbox', name: 'pdfbox', version: '1.7.1' // https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core implementation group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: '4.5.18' implementation('org.modelmapper:modelmapper:2.3.9') // pinyin implementation 'com.belerweb:pinyin4j:2.5.0' } if (project.hasProperty("gae")) { task createPom { def basePath = 'build/resources/main/META-INF/maven' doLast { pom { withXml(dependencyManagement.pomConfigurer) }.writeTo("${basePath}/${project.group}/${project.name}/pom.xml") } } bootJar.dependsOn = [createPom] } task cleanResources(type: Delete) { delete "build/resources" } tasks.named("integrationTest").configure { enabled = false } tasks.named("checkstyleMain").configure { enabled = false } tasks.named("test").configure { enabled = false } wrapper { // gradleVersion = "7.0.2" gradleVersion = "7.4.2" } compileJava.dependsOn processResources processResources.dependsOn bootBuildInfo