mirror of https://github.com/halo-dev/halo
179 lines
6.4 KiB
Groovy
179 lines
6.4 KiB
Groovy
plugins {
|
|
id "org.springframework.boot" version "2.5.1"
|
|
id "io.spring.dependency-management" version "1.0.11.RELEASE"
|
|
id "checkstyle"
|
|
id "java"
|
|
}
|
|
|
|
group = "run.halo.app"
|
|
version = "1.4.9"
|
|
description = "Halo, An excellent open source blog publishing application."
|
|
sourceCompatibility = JavaVersion.VERSION_11
|
|
|
|
checkstyle {
|
|
toolVersion = "8.39"
|
|
showViolations = false
|
|
ignoreFailures = false
|
|
}
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
maven { url 'https://repo.spring.io/milestone' }
|
|
jcenter()
|
|
}
|
|
|
|
configurations {
|
|
implementation {
|
|
exclude module: "spring-boot-starter-tomcat"
|
|
exclude module: "slf4j-log4j12"
|
|
exclude module: 'junit'
|
|
}
|
|
compileOnly {
|
|
extendsFrom annotationProcessor
|
|
}
|
|
}
|
|
|
|
|
|
bootJar {
|
|
manifest {
|
|
attributes "Implementation-Title": "Halo Application",
|
|
"Implementation-Version": archiveVersion
|
|
}
|
|
}
|
|
|
|
bootBuildImage.doFirst {
|
|
// check data
|
|
assert System.getenv("DOCKER_USERNAME") != null
|
|
assert System.getenv("DOCKER_TOKEN") != null
|
|
}
|
|
|
|
bootBuildImage {
|
|
// prepare data
|
|
def tagLatest = Boolean.valueOf(System.getenv("TAG_LATEST"))
|
|
def dockerImageName = System.getenv("DOCKER_IMAGE_NAME")
|
|
def dockerUsername = System.getenv("DOCKER_USERNAME")
|
|
def dockerToken = System.getenv("DOCKER_TOKEN")
|
|
|
|
if (dockerImageName == null) {
|
|
dockerImageName = "${dockerUsername}/halo"
|
|
}
|
|
if (!tagLatest) {
|
|
dockerImageName = "${dockerImageName}:${project.version}"
|
|
}
|
|
|
|
// config plugin
|
|
imageName = "${dockerImageName}"
|
|
docker {
|
|
publishRegistry {
|
|
username = "${dockerUsername}"
|
|
password = "${dockerToken}"
|
|
email = "hi@halo.run"
|
|
}
|
|
}
|
|
}
|
|
|
|
ext {
|
|
hutoolVersion = "5.3.8"
|
|
upyunSdkVersion = "4.2.0"
|
|
qiniuSdkVersion = "7.2.29"
|
|
aliyunSdkVersion = "3.11.3"
|
|
baiduSdkVersion = "0.10.36"
|
|
qcloudSdkVersion = "5.6.25"
|
|
minioSdkVersion = "7.1.4"
|
|
swaggerVersion = "3.0.0"
|
|
commonsFileUploadVersion = "1.4"
|
|
commonsLangVersion = "3.10"
|
|
httpclientVersion = "4.5.12"
|
|
dataformatYamlVersion = "2.11.0"
|
|
jgitVersion = "5.9.0.202009080501-r"
|
|
flexmarkVersion = "0.62.2"
|
|
thumbnailatorVersion = "0.4.13"
|
|
image4jVersion = "0.7zensight1"
|
|
flywayVersion = "7.5.1"
|
|
h2Version = "1.4.197"
|
|
levelDbVersion = "0.12"
|
|
annotationsVersion = "3.0.1u2"
|
|
zxingVersion = "3.4.0"
|
|
huaweiObsVersion = "3.19.7"
|
|
templateInheritanceVersion = "0.4.RELEASE"
|
|
jsoupVersion = "1.13.1"
|
|
}
|
|
|
|
dependencies {
|
|
implementation "org.springframework.boot:spring-boot-starter-actuator"
|
|
implementation "org.springframework.boot:spring-boot-starter-data-jpa"
|
|
implementation "org.springframework.boot:spring-boot-starter-web"
|
|
implementation "org.springframework.boot:spring-boot-starter-jetty"
|
|
implementation "org.springframework.boot:spring-boot-starter-freemarker"
|
|
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
|
|
|
implementation "com.sun.mail:jakarta.mail"
|
|
implementation "cn.hutool:hutool-core:$hutoolVersion"
|
|
implementation "cn.hutool:hutool-crypto:$hutoolVersion"
|
|
implementation "cn.hutool:hutool-extra:$hutoolVersion"
|
|
implementation "com.upyun:java-sdk:$upyunSdkVersion"
|
|
implementation "com.qiniu:qiniu-java-sdk:$qiniuSdkVersion"
|
|
implementation "com.aliyun.oss:aliyun-sdk-oss:$aliyunSdkVersion"
|
|
implementation "com.baidubce:bce-java-sdk:$baiduSdkVersion"
|
|
implementation "com.qcloud:cos_api:$qcloudSdkVersion"
|
|
implementation "com.huaweicloud:esdk-obs-java:$huaweiObsVersion"
|
|
implementation "io.minio:minio:$minioSdkVersion"
|
|
implementation "io.springfox:springfox-boot-starter:$swaggerVersion"
|
|
implementation "commons-fileupload:commons-fileupload:$commonsFileUploadVersion"
|
|
implementation "org.apache.commons:commons-lang3:$commonsLangVersion"
|
|
implementation "org.apache.httpcomponents:httpclient:$httpclientVersion"
|
|
implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:$dataformatYamlVersion"
|
|
implementation "org.eclipse.jgit:org.eclipse.jgit:$jgitVersion"
|
|
implementation "com.google.code.findbugs:annotations:$annotationsVersion"
|
|
|
|
implementation "com.vladsch.flexmark:flexmark:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-attributes:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-autolink:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-emoji:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-escaped-character:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-gfm-tasklist:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-ins:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-media-tags:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-tables:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-toc:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-superscript:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-yaml-front-matter:$flexmarkVersion"
|
|
implementation "com.vladsch.flexmark:flexmark-ext-gitlab:$flexmarkVersion"
|
|
|
|
implementation "kr.pe.kwonnam.freemarker:freemarker-template-inheritance:$templateInheritanceVersion"
|
|
implementation "net.coobird:thumbnailator:$thumbnailatorVersion"
|
|
implementation "net.sf.image4j:image4j:$image4jVersion"
|
|
implementation "org.flywaydb:flyway-core:$flywayVersion"
|
|
implementation "com.google.zxing:core:$zxingVersion"
|
|
|
|
implementation "org.iq80.leveldb:leveldb:$levelDbVersion"
|
|
runtimeOnly "com.h2database:h2:$h2Version"
|
|
runtimeOnly "mysql:mysql-connector-java"
|
|
|
|
compileOnly "org.projectlombok:lombok"
|
|
annotationProcessor "org.projectlombok:lombok"
|
|
|
|
testCompileOnly "org.projectlombok:lombok"
|
|
testAnnotationProcessor "org.projectlombok:lombok"
|
|
|
|
testImplementation("org.springframework.boot:spring-boot-starter-test") {
|
|
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
|
|
}
|
|
testImplementation("org.jsoup:jsoup:${jsoupVersion}")
|
|
|
|
developmentOnly "org.springframework.boot:spring-boot-devtools"
|
|
}
|
|
|
|
test {
|
|
useJUnitPlatform()
|
|
testLogging.showStandardStreams = true
|
|
}
|
|
|
|
task projectVersion {
|
|
description = 'Prints current project version.'
|
|
doLast {
|
|
println project.version
|
|
}
|
|
} |