forked from n.nasr/skills
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
309 lines
11 KiB
309 lines
11 KiB
buildscript {
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
maven { url "https://repo.spring.io/plugins-release" }
|
|
}
|
|
dependencies {
|
|
//jhipster-needle-gradle-buildscript-dependency - JHipster will add additional gradle build script plugins here
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id "java"
|
|
id "maven-publish"
|
|
id "idea"
|
|
id "jacoco"
|
|
id "org.springframework.boot"
|
|
id "com.google.cloud.tools.jib"
|
|
id "com.gorylenko.gradle-git-properties"
|
|
id "net.ltgt.apt-eclipse"
|
|
id "net.ltgt.apt-idea"
|
|
id "net.ltgt.apt"
|
|
id "org.liquibase.gradle"
|
|
id "org.sonarqube"
|
|
id "io.spring.nohttp"
|
|
//jhipster-needle-gradle-plugins - JHipster will add additional gradle plugins here
|
|
}
|
|
|
|
group = "com.cm.skills"
|
|
version = "0.0.1-SNAPSHOT"
|
|
|
|
description = ""
|
|
|
|
sourceCompatibility=1.8
|
|
targetCompatibility=1.8
|
|
assert System.properties["java.specification.version"] == "1.8" || "11" || "12" || "13" || "14"
|
|
|
|
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 "io.github.jhipster:jhipster-dependencies:${jhipster_dependencies_version}"
|
|
}
|
|
}
|
|
appengineStage.dependsOn thinResolve
|
|
}
|
|
|
|
if (project.hasProperty("zipkin")) {
|
|
apply from: "gradle/zipkin.gradle"
|
|
}
|
|
|
|
idea {
|
|
module {
|
|
excludeDirs += files("node_modules")
|
|
}
|
|
}
|
|
|
|
eclipse {
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDirs += ["build/generated/sources/annotationProcessor/java/main"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
defaultTasks "bootRun"
|
|
|
|
springBoot {
|
|
mainClassName = "com.cm.skills.SkillsApp"
|
|
}
|
|
|
|
test {
|
|
useJUnitPlatform()
|
|
exclude "**/*IT*", "**/*IntTest*"
|
|
|
|
testLogging {
|
|
events 'FAILED', 'SKIPPED'
|
|
}
|
|
// 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
|
|
}
|
|
|
|
task integrationTest(type: Test) {
|
|
useJUnitPlatform()
|
|
description = "Execute integration tests."
|
|
group = "verification"
|
|
include "**/*IT*", "**/*IntTest*"
|
|
|
|
testLogging {
|
|
events 'FAILED', 'SKIPPED'
|
|
}
|
|
|
|
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 ""
|
|
url "jdbc:sqlserver://localhost:1433;database=skills"
|
|
username "SA"
|
|
password "yourStrong(!)Password"
|
|
changeLogFile "src/main/resources/config/liquibase/master.xml"
|
|
defaultSchemaName ""
|
|
logLevel "debug"
|
|
classpath "src/main/resources/"
|
|
}
|
|
diffLog {
|
|
driver ""
|
|
url "jdbc:sqlserver://localhost:1433;database=skills"
|
|
username "SA"
|
|
password "yourStrong(!)Password"
|
|
changeLogFile project.ext.diffChangelogFile
|
|
referenceUrl "hibernate:spring:com.cm.skills.domain?dialect=org.hibernate.dialect.SQLServer2012Dialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy"
|
|
defaultSchemaName ""
|
|
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 '${checkstyle_version}'
|
|
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:3.9.0'
|
|
}
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
jcenter()
|
|
//jhipster-needle-gradle-repositories - JHipster will add additional repositories
|
|
}
|
|
|
|
dependencies {
|
|
// import JHipster dependencies BOM
|
|
if (!project.hasProperty("gae")) {
|
|
implementation platform("io.github.jhipster:jhipster-dependencies:${jhipster_dependencies_version}")
|
|
}
|
|
|
|
// Use ", version: jhipster_dependencies_version, changing: true" if you want
|
|
// to use a SNAPSHOT release instead of a stable release
|
|
implementation group: "io.github.jhipster", name: "jhipster-framework"
|
|
implementation "javax.annotation:javax.annotation-api"
|
|
implementation "io.dropwizard.metrics:metrics-core"
|
|
implementation "io.micrometer:micrometer-registry-prometheus"
|
|
implementation "net.logstash.logback:logstash-logback-encoder"
|
|
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 "org.hibernate:hibernate-core"
|
|
implementation "com.zaxxer:HikariCP"
|
|
implementation "javax.transaction:javax.transaction-api"
|
|
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:${liquibase_hibernate5_version}"
|
|
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-aop"
|
|
implementation "org.springframework.boot:spring-boot-starter-data-jpa"
|
|
testImplementation "org.testcontainers:mssqlserver"
|
|
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.cloud:spring-cloud-starter"
|
|
implementation "org.springframework.cloud:spring-cloud-starter-netflix-ribbon"
|
|
implementation "org.springframework.cloud:spring-cloud-starter-netflix-hystrix"
|
|
implementation "org.springframework.retry:spring-retry"
|
|
implementation "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client"
|
|
implementation "org.springframework.cloud:spring-cloud-starter-config"
|
|
implementation "org.springframework.cloud:spring-cloud-starter-openfeign"
|
|
implementation "org.springframework.boot:spring-boot-starter-cloud-connectors"
|
|
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-swagger2") {
|
|
exclude module: "mapstruct"
|
|
}
|
|
implementation "io.springfox:springfox-bean-validators"
|
|
implementation "com.microsoft.sqlserver:mssql-jdbc"
|
|
implementation "com.github.sabomichal:liquibase-mssql"
|
|
liquibaseRuntime "com.microsoft.sqlserver:mssql-jdbc"
|
|
liquibaseRuntime "com.github.sabomichal:liquibase-mssql"
|
|
implementation "org.mapstruct:mapstruct:${mapstruct_version}"
|
|
annotationProcessor "org.mapstruct:mapstruct-processor:${mapstruct_version}"
|
|
annotationProcessor "org.hibernate:hibernate-jpamodelgen:${hibernate_version}"
|
|
annotationProcessor "org.glassfish.jaxb:jaxb-runtime:${jaxb_runtime_version}"
|
|
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor:${spring_boot_version}"
|
|
testImplementation ("org.springframework.boot:spring-boot-starter-test") {
|
|
exclude group: "org.junit.vintage", module: "junit-vintage-engine"
|
|
}
|
|
testImplementation "org.springframework.security:spring-security-test"
|
|
testImplementation "org.springframework.boot:spring-boot-test"
|
|
testImplementation "com.tngtech.archunit:archunit-junit5-api:${archunit_junit5_version}"
|
|
testRuntimeOnly "com.tngtech.archunit:archunit-junit5-engine:${archunit_junit5_version}"
|
|
testImplementation "com.h2database:h2"
|
|
//jhipster-needle-gradle-dependency - JHipster will add additional dependencies here
|
|
}
|
|
|
|
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"
|
|
}
|
|
|
|
wrapper {
|
|
gradleVersion = "6.5"
|
|
}
|
|
|
|
compileJava.dependsOn processResources
|
|
processResources.dependsOn bootBuildInfo
|