228 lines
6.5 KiB
Groovy
228 lines
6.5 KiB
Groovy
|
|
buildscript {
|
|
ext.cubaVersion = '7.2.6'
|
|
repositories {
|
|
mavenLocal()
|
|
maven {
|
|
url 'https://repo.cuba-platform.com/content/groups/work'
|
|
credentials {
|
|
username(rootProject.hasProperty('repoUser') ? rootProject['repoUser'] : 'cuba')
|
|
password(rootProject.hasProperty('repoPass') ? rootProject['repoPass'] : 'cuba123')
|
|
}
|
|
}
|
|
maven {
|
|
url "http://www.license4j.com/maven/"
|
|
}
|
|
}
|
|
dependencies {
|
|
classpath "com.haulmont.gradle:cuba-plugin:$cubaVersion"
|
|
}
|
|
}
|
|
|
|
def modulePrefix = 'tms'
|
|
|
|
def globalModule = project(":${modulePrefix}-global")
|
|
def coreModule = project(":${modulePrefix}-core")
|
|
def webModule = project(":${modulePrefix}-web")
|
|
|
|
def servletApi = 'javax.servlet:javax.servlet-api:3.1.0'
|
|
|
|
apply(plugin: 'cuba')
|
|
|
|
cuba {
|
|
artifact {
|
|
group = 'com.cmobile.unifiedtms'
|
|
version = '0.5'
|
|
isSnapshot = false
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
appComponent("com.haulmont.cuba:cuba-global:$cubaVersion")
|
|
appComponent('com.haulmont.addon.sdbmt:sdbmt-global:2.0.2')
|
|
appComponent('com.haulmont.addon.helium:helium-global:0.2.0')
|
|
appComponent('com.haulmont.addon.restapi:restapi-global:7.2.1')
|
|
appComponent('com.haulmont.addon.dashboard:dashboard-global:3.2.2')
|
|
appComponent("com.haulmont.charts:charts-global:$cubaVersion")
|
|
appComponent("com.haulmont.fts:fts-global:$cubaVersion")
|
|
appComponent('com.haulmont.addon.emailtemplates:yet-global:1.4.2')
|
|
appComponent('de.diedavids.cuba.dataimport:dataimport-global:0.14.1')
|
|
appComponent('com.cmobile.unifiedtms.ext:tmsext-global:0.2')
|
|
appComponent('ar.com.osmosys.pswdplus:pswdplus-global:1.1.0')
|
|
}
|
|
|
|
def postgres = 'org.postgresql:postgresql:42.2.9'
|
|
|
|
configure([globalModule, coreModule, webModule]) {
|
|
apply(plugin: 'java')
|
|
apply(plugin: 'maven')
|
|
apply(plugin: 'cuba')
|
|
|
|
dependencies {
|
|
testCompile('org.junit.jupiter:junit-jupiter-api:5.5.2')
|
|
testCompile('org.junit.jupiter:junit-jupiter-engine:5.5.2')
|
|
testCompile('org.junit.vintage:junit-vintage-engine:5.5.2')
|
|
}
|
|
|
|
task sourceJar(type: Jar) {
|
|
from file('src')
|
|
classifier = 'sources'
|
|
}
|
|
|
|
artifacts {
|
|
archives sourceJar
|
|
}
|
|
test {
|
|
useJUnitPlatform()
|
|
}
|
|
}
|
|
|
|
|
|
configure(globalModule) {
|
|
dependencies {
|
|
if (!JavaVersion.current().isJava8()) {
|
|
runtime('javax.xml.bind:jaxb-api:2.3.1')
|
|
runtime('org.glassfish.jaxb:jaxb-runtime:2.3.1')
|
|
}
|
|
compileOnly(servletApi)
|
|
compile 'com.pras:apk-manifest:1.0'
|
|
compile 'com.license4j:license4j-runtime-library:4.7.3'
|
|
}
|
|
|
|
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(globalModule)
|
|
compileOnly(servletApi)
|
|
jdbc(postgres)
|
|
testRuntime(postgres)
|
|
compile 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.4'
|
|
compile 'com.google.code.gson:gson:2.8.6'
|
|
compile 'com.pras:apk-manifest:1.0'
|
|
compile 'com.license4j:license4j-runtime-library:4.7.3'
|
|
runtime 'com.license4j:license4j-runtime-library:4.7.3'
|
|
compile 'commons-net:commons-net:3.8.0'
|
|
runtime 'commons-net:commons-net:3.8.0'
|
|
compile 'com.jcraft:jsch:0.1.55'
|
|
runtime 'com.jcraft:jsch:0.1.55'
|
|
}
|
|
|
|
task cleanConf(description: 'Cleans up conf directory', type: Delete) {
|
|
delete "$cuba.appHome/${modulePrefix}-core/conf"
|
|
}
|
|
|
|
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) {
|
|
}
|
|
|
|
task updateDb(dependsOn: assembleDbScripts, description: 'Updates local database', type: CubaDbUpdate) {
|
|
}
|
|
}
|
|
|
|
configure(webModule) {
|
|
configurations {
|
|
webcontent
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly(servletApi)
|
|
compile(globalModule)
|
|
compile 'com.pras:apk-manifest:1.0'
|
|
compile 'com.license4j:license4j-runtime-library:4.7.3'
|
|
runtime 'com.license4j:license4j-runtime-library:4.7.3'
|
|
}
|
|
|
|
|
|
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/cmobile/unifiedtms/**"
|
|
into "$cuba.appHome/${modulePrefix}/conf"
|
|
}
|
|
|
|
task clearMessagesCache(type: CubaClearMessagesCache) {
|
|
appName = "${modulePrefix}"
|
|
}
|
|
deployConf.dependsOn clearMessagesCache
|
|
|
|
task cleanConf(description: 'Cleans up conf directory', type: Delete) {
|
|
delete "$cuba.appHome/${modulePrefix}/conf"
|
|
}
|
|
|
|
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
|
|
}
|
|
}
|
|
|
|
|
|
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"], description: 'Redeploys applications and restarts local Tomcat') {
|
|
doLast {
|
|
ant.waitfor(maxwait: 6, maxwaitunit: 'second', checkevery: 2, checkeveryunit: 'second') {
|
|
not {
|
|
socket(server: 'localhost', port: '8787')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
restart.finalizedBy start
|
|
|
|
task buildWar(type: CubaWarBuilding) {
|
|
appProperties = ['cuba.automaticDatabaseUpdate': true]
|
|
includeJdbcDriver = true
|
|
logbackConfigurationFile = 'etc/war-logback.xml'
|
|
webXmlPath = 'modules/web/web/WEB-INF/single-war-web.xml'
|
|
} |