155 lines
4.6 KiB
Groovy
155 lines
4.6 KiB
Groovy
import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
|
|
import com.bmuschko.gradle.docker.tasks.image.Dockerfile
|
|
|
|
buildscript {
|
|
repositories {
|
|
mavenLocal()
|
|
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
|
|
// maven { url "https://corp.xqopen.cn/repo/repository/maven-public/" }
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.8.RELEASE")
|
|
classpath 'com.bmuschko:gradle-docker-plugin:3.2.0'
|
|
}
|
|
}
|
|
apply plugin: 'java'
|
|
apply plugin: 'idea'
|
|
apply plugin: 'org.springframework.boot'
|
|
apply plugin: 'com.bmuschko.docker-remote-api'
|
|
|
|
sourceCompatibility = 1.8
|
|
targetCompatibility = 1.8
|
|
|
|
|
|
[compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'
|
|
|
|
ext {
|
|
springBootVersion = '1.5.8.RELEASE'
|
|
springfoxVersion = '2.6.1'
|
|
junit4Version = '4.12'
|
|
junitVintageVersion = '4.12.1'
|
|
dockerPath = "${buildDir}/docker/"
|
|
activitiVersion = '5.22.0'
|
|
}
|
|
repositories {
|
|
mavenLocal()
|
|
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
|
|
// maven { url "https://corp.xqopen.cn/repo/repository/maven-public/" }
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
|
|
compile "org.quartz-scheduler:quartz:2.2.3"
|
|
compile "org.springframework:spring-context-support:4.3.12.RELEASE"
|
|
|
|
compile "org.springframework.boot:spring-boot-starter-web:${springBootVersion}"
|
|
compile "org.springframework.boot:spring-boot-starter-data-jpa:${springBootVersion}"
|
|
compile('org.springframework.boot:spring-boot-starter-log4j2')
|
|
|
|
compile "com.baomidou:mybatisplus-spring-boot-starter:1.0.4"
|
|
compile "com.baomidou:mybatis-plus:2.1.4"
|
|
compile "org.postgresql:postgresql:42.1.4"
|
|
compile "org.apache.velocity:velocity:1.7"
|
|
compile 'com.alibaba:druid-spring-boot-starter:1.1.4'
|
|
compile 'io.springfox:springfox-swagger2:2.7.0'
|
|
compile 'io.springfox:springfox-swagger-ui:2.7.0'
|
|
compile 'com.alibaba:fastjson:1.2.39'
|
|
compile 'joda-time:joda-time:2.9.9'
|
|
compile "org.projectlombok:lombok:1.16.18"
|
|
// annotationProcessor 'org.projectlombok:lombok:1.18.2'
|
|
// compileOnly 'org.projectlombok:lombok:1.18.2'
|
|
// testAnnotationProcessor 'org.projectlombok:lombok:1.18.2'
|
|
// testCompileOnly 'org.projectlombok:lombok:1.18.2'
|
|
|
|
compile 'org.activiti:activiti-spring-boot-starter-basic:5.22.0'
|
|
// compile "org.activiti:activiti-engine:${activitiVersion}"
|
|
// compile "org.activiti:activiti-bpmn-layout:${activitiVersion}"
|
|
// compile "org.activiti:activiti-spring:${activitiVersion}"
|
|
// compile "org.activiti:activiti-engine:${activitiVersion}"
|
|
// compile "org.activiti:activiti-bpmn-model:${activitiVersion}"
|
|
compile 'commons-beanutils:commons-beanutils:1.8.3'
|
|
compile 'commons-io:commons-io:2.4'
|
|
compile 'com.google.code.gson:gson:2.2.4'
|
|
|
|
compile 'org.apache.poi:poi:3.15'
|
|
compile 'org.apache.poi:poi-ooxml:3.15'
|
|
|
|
compile 'com.jcabi:jcabi-manifests:1.1'
|
|
//compile 'com.sun.mail:javax.mail:1.5.4'
|
|
compile('javax.mail:mail:1.4.7')
|
|
compile fileTree(dir: 'libs', include: ['*.jar'])
|
|
|
|
testCompile "org.springframework.boot:spring-boot-starter-test"
|
|
testCompile "junit:junit:${junit4Version}"
|
|
testRuntime "org.junit.vintage:junit-vintage-engine:${junitVintageVersion}"
|
|
|
|
}
|
|
|
|
|
|
|
|
sourceSets {
|
|
main {
|
|
resources {
|
|
srcDir "src/main/java/" //将mybatis中的xml打入最终的classpath中
|
|
srcDir "src/main/resources/"
|
|
}
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
all*.exclude module: 'spring-boot-starter-logging'
|
|
all*.exclude module: 'logback-classic'
|
|
//all*.exclude module: 'log4j-over-slf4j'
|
|
}
|
|
|
|
jar {
|
|
manifest {
|
|
attributes 'Implementation-Title': getProject().getName(), 'Implementation-Version': getDate()
|
|
}
|
|
}
|
|
|
|
String getDate() {
|
|
Date date = new Date();
|
|
String dates = date.format("yyyyMMdd", TimeZone.getTimeZone("Asia/Shanghai"));
|
|
return dates;
|
|
}
|
|
|
|
version = '0.0.1-SNAPSHOT'
|
|
group = 'kehui'
|
|
|
|
//archivesBaseName = 'kehui-server'
|
|
|
|
/**
|
|
* docker 打镜像
|
|
*/
|
|
// 拷贝jar包到docker编译目录
|
|
task copyJarToDocker(type: Copy) {
|
|
dependsOn 'build'
|
|
from "${buildDir}/libs/${rootProject.name}-${version}.jar"
|
|
into "${dockerPath}/"
|
|
}
|
|
|
|
// 创建Dockerfile
|
|
task createDockerfile(type: Dockerfile) {
|
|
dependsOn 'copyJarToDocker'
|
|
destFile = project.file("${dockerPath}/Dockerfile")
|
|
|
|
from 'openjdk:8-jdk-alpine'
|
|
maintainer 'Jerry Zhu "jerry@xqopen.com"'
|
|
String jarName = "${rootProject.name}-${version}.jar"
|
|
addFile("${jarName}", "/${jarName}")
|
|
environmentVariable("LANG", "C.UTF-8")
|
|
//environmentVariable("JAVA_OPTS", "'-Duser.timezone=Asia/Shanghai'")
|
|
defaultCommand "java", "-Duser.timezone=Asia/Shanghai", "-jar", "/${jarName}"
|
|
}
|
|
|
|
// 编译docker镜像
|
|
task buildImage(type: DockerBuildImage) {
|
|
dependsOn 'createDockerfile'
|
|
inputDir = createDockerfile.destFile.parentFile
|
|
tag = "${rootProject.name}:latest"
|
|
labels = [
|
|
"com.example.group": "kehui",
|
|
]
|
|
} |