buildscript {
ext.cubaVersion = '7.0.12'
repositories {
mavenLocal()
flatDir { dirs 'external' }
maven {
url 'http://oa.trenerg.com:8081/nexus/content/repositories/snapshots/'
// url 'http://124.70.35.110:8081/nexus/content/repositories/snapshots/'
credentials {
username('admin')
}
}
maven {
url 'https://maven.aliyun.com/repository/public'
}
maven {
url 'https://repo.cuba-platform.com/repository/cuba/'
}
maven {
url 'https://nexus.cuba-platform.cn/repository/cuba/'
}
maven {
url 'http://maven.vaadin.com/vaadin-addons'
}
}
dependencies {
classpath "com.haulmont.gradle:cuba-plugin:$cubaVersion"
}
}
def modulePrefix = 'ibms'
def globalModule = project(":${modulePrefix}-global")
def coreModule = project(":${modulePrefix}-core")
def webModule = project(":${modulePrefix}-web")
def webToolkitModule = project(":${modulePrefix}-web-toolkit")
def servletApi = 'javax.servlet:javax.servlet-api:3.1.0'
apply(plugin: 'cuba')
cuba {
artifact {
group = 'com.censpeed.bms'
version = '0.1'
isSnapshot = true
}
tomcat {
dir = "$project.rootDir/deploy/tomcat"
port = '8088'
}
}
dependencies {
appComponent("com.haulmont.cuba:cuba-global:$cubaVersion")
appComponent("com.trenerg.haystackdata:app-hydata-global:70.12.6-SNAPSHOT")
appComponent('com.trenerg.report:cj-dr-global:0.0.3-SNAPSHOT')
// appComponent('com.trenerg.report:app-dr-global:73.4.7-SNAPSHOT')
appComponent("com.haulmont.addon.dashboard:dashboard-global:3.7.5.3-SNAPSHOT")
appComponent('cn.cuba.trans:transcn-global:7.0.3')
appComponent('com.trenreg.haystackext:haystackext-global:0.2.4-SNAPSHOT')
appComponent('com.trenerg.alarm:alarm-global:0.1.10-SNAPSHOT')
appComponent('com.trenerg.hkrec:cjhk-global:0.4-SNAPSHOT')
appComponent('com.trenerg.globaladdon:globaladdon-global:0.4.0-SNAPSHOT')
appComponent('com.trenerg.target.report:targetreport-global:0.2.2-SNAPSHOT')
//钉钉服务
appComponent('com.trenerg.dingdingrest:ding_cj-global:0.0.1-SNAPSHOT')
appComponent('com.trenerg.cenfms:cj_fms-global:1.16-SNAPSHOT')
appComponent('com.trenerg.owe:chinwell-global:0.5-SNAPSHOT')
//
// appComponent("com.haulmont.addon.dashboard:dashboard-global:4.0.3.2-SNAPSHOT")
// appComponent('com.trenerg.report:app-dr-global:73.4.9-SNAPSHOT')
}
def mysql = 'mysql:mysql-connector-java:5.1.38'
configure([globalModule, coreModule, webModule, webToolkitModule]) {
apply(plugin: 'java')
apply(plugin: 'maven')
apply(plugin: 'cuba')
dependencies {
testCompile('junit:junit:4.12')
compile files("../../external/haystack-trenerg-1.0.0.jar")
// compile(":amcharts-100")
compile files("../../external/tts_wss.jar")
}
task sourceJar(type: Jar) {
from file('src')
classifier = 'sources'
}
artifacts {
archives sourceJar
}
}
configure(globalModule) {
dependencies {
// https://mvnrepository.com/artifact/com.hikvision.ga/artemis-http-client
//海康 接口
implementation group: 'com.hikvision.ga', name: 'artemis-http-client', version: '1.1.3'
// https://mvnrepository.com/artifact/cn.hutool/hutool-json
compile 'cn.hutool:hutool-json:5.7.22'
compile 'org.webjars:jquery:3.3.1'
compile 'org.webjars:momentjs:2.24.0'
//compile 'org.webjars:bootstrap-daterangepicker:3.0.3'
compile 'org.webjars.bower:echarts:4.1.0-release'
compile files("../../external/tts_wss.jar")
compile files("../../external/artemis-http-client-1.1.3.jar")
compile files("../../external/taobao-sdk-java-auto.jar")
compile 'com.aliyun:dingtalk:1.3.25'
// https://mvnrepository.com/artifact/com.aliyun/tea-openapi
compile 'com.aliyun:tea-openapi:0.2.2'
if (!JavaVersion.current().isJava8()) {
runtime('javax.xml.bind:jaxb-api:2.3.1')
runtime('org.glassfish.jaxb:jaxb-runtime:2.3.1')
}
}
entitiesEnhancing {
main {
enabled = true
}
}
jar {
manifest {
attributes('App-Component-Id': cuba.artifact.group)
attributes('App-Component-Version': cuba.artifact.version + (cuba.artifact.isSnapshot ? '-SNAPSHOT' : ''))
}
}
}
configure(coreModule) {
configurations {
jdbc
dbscripts
}
dependencies {
compile group: 'redis.clients', name: 'jedis', version: '3.2.0'
compile group: 'org.springframework.data', name: 'spring-data-redis', version: '2.2.6.RELEASE'
compile group: 'com.aliyun.api.gateway', name: 'sdk-core-java', version: '1.1.3'
// implementation 'com.aliyun:cloudapi20160714:2.1.0'
compile(globalModule)
compileOnly(servletApi)
jdbc(mysql)
testRuntime(mysql)
}
task cleanConf(description: 'Cleans up conf directory') {
doLast {
def dir = new File(cuba.tomcat.dir, "/conf/${modulePrefix}-core")
if (dir.isDirectory()) {
ant.delete(includeemptydirs: true) {
fileset(dir: dir, includes: '**/*', excludes: 'local.app.properties')
}
}
}
}
task deploy(dependsOn: [assemble, cleanConf], type: CubaDeployment) {
appName = "${modulePrefix}-core"
appJars(modulePrefix + '-global', modulePrefix + '-core')
}
task createDb(dependsOn: assembleDbScripts, description: 'Creates local database', type: CubaDbCreation) {
dbms = 'mysql'
host = '121.36.252.147'
dbName = 'cjbms_0920'
dbUser = 'root'
dbPassword = 'trenerg_gongsi_2021'
connectionParams = '?useSSL=false&allowMultiQueries=true'
}
task updateDb(dependsOn: assembleDbScripts, description: 'Updates local database', type: CubaDbUpdate) {
dbms = 'mysql'
host = '121.36.252.147'
dbName = 'cjbms_0920'
dbUser = 'root'
dbPassword = 'trenerg_gongsi_2021'
connectionParams = '?useSSL=false&allowMultiQueries=true'
}
}
configure(webModule) {
configurations {
webcontent
}
dependencies {
compile group: 'org.webjars', name: 'amcharts', version: '3.21.12.cuba.204-SNAPSHOT'
compileOnly(servletApi)
compile(globalModule)
}
jar {
with copySpec {
from sourceSets.main.allJava
include "com/censpeed/bms/web/toolkit/ui/client/**"
}
}
task webArchive(type: Zip) {
from file("$buildDir/web")
from file('web')
classifier = 'web'
}
artifacts {
archives webArchive
}
task deployConf(type: Copy) {
from file('src')
include "com/censpeed/bms/**"
into "$cuba.tomcat.dir/conf/${modulePrefix}"
}
task clearMessagesCache(type: CubaClearMessagesCache) {
appName = "${modulePrefix}"
}
deployConf.dependsOn clearMessagesCache
task cleanConf(description: 'Cleans up conf directory') {
doLast {
def dir = new File(cuba.tomcat.dir, "/conf/${modulePrefix}")
if (dir.isDirectory()) {
ant.delete(includeemptydirs: true) {
fileset(dir: dir, includes: '**/*', excludes: 'local.app.properties')
}
}
}
}
task deploy(dependsOn: [assemble, cleanConf], type: CubaDeployment) {
appName = "${modulePrefix}"
appJars(modulePrefix + '-global', modulePrefix + '-web')
}
task buildScssThemes(type: CubaWebScssThemeCreation)
task deployThemes(type: CubaDeployThemeTask, dependsOn: buildScssThemes)
assemble.dependsOn buildScssThemes
task themesJar(type: Jar) {
from file('themes')
classifier = 'themes'
}
artifacts {
archives themesJar
}
}
configure(webToolkitModule) {
dependencies {
compile(webModule)
}
jar {
from sourceSets.main.allJava
}
task buildWidgetSet(type: CubaWidgetSetBuilding) {
widgetSetClass = 'com.trenerg.owe.web.toolkit.ui.AppWidgetSet'
}
task debugWidgetSet(type: CubaWidgetSetDebug) {
widgetSetClass = 'com.trenerg.owe.web.toolkit.ui.AppWidgetSet'
}
task webArchive(dependsOn: buildWidgetSet, type: Jar) {
from file("$buildDir/web")
classifier = 'client'
}
artifacts {
archives webArchive
}
task deploy(dependsOn: webArchive, type: Copy) {
from webArchive
into "$cuba.tomcat.dir/webapps/${modulePrefix}/WEB-INF/lib"
}
}
task undeploy(type: Delete, dependsOn: ":${modulePrefix}-web:cleanConf") {
delete("$cuba.tomcat.dir/shared")
delete("$cuba.tomcat.dir/webapps/${modulePrefix}-core")
delete("$cuba.tomcat.dir/webapps/${modulePrefix}")
}
task restart(dependsOn: ['stop', ":${modulePrefix}-core:deploy", ":${modulePrefix}-web:deploy", ":${modulePrefix}-web-toolkit:deploy"], description: 'Redeploys applications and restarts local Tomcat') {
doLast {
ant.waitfor(maxwait: 6, maxwaitunit: 'second', checkevery: 2, checkeveryunit: 'second') {
not {
socket(server: 'localhost', port: '8787')
}
}
start.execute()
}
}