107 lines
2.9 KiB
Groovy
107 lines
2.9 KiB
Groovy
buildscript {
|
|
repositories {
|
|
maven { url 'http://nexus.red-soft.biz/repository/public' }
|
|
mavenLocal()
|
|
}
|
|
dependencies {
|
|
classpath 'biz.redsoft.gradle.ncore:gradle-ncore:1.2.+'
|
|
classpath 'nu.studer:gradle-credentials-plugin:1.0.4'
|
|
}
|
|
}
|
|
|
|
group = 'biz.redsoft.sample'
|
|
|
|
apply plugin: 'nu.studer.credentials'
|
|
apply plugin: 'idea'
|
|
apply plugin: 'application'
|
|
apply plugin: 'war'
|
|
apply plugin: 'ncore'
|
|
|
|
targetCompatibility = 1.8
|
|
|
|
ncore {
|
|
coreVersion = project.properties.'biz.redsoft.ncore.version'
|
|
sourceEncoding = 'UTF-8'
|
|
}
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
maven {
|
|
url 'http://nexus.red-soft.biz/repository/public'
|
|
if (project.credentials.user != null && project.credentials.password != null) {
|
|
credentials {
|
|
username project.credentials.user
|
|
password project.credentials.password
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
provided 'javax.servlet:javax.servlet-api:3.1.0'
|
|
|
|
testCompile 'org.junit.jupiter:junit-jupiter:5.8.2'
|
|
runtimeClasspath files(ncoreGenerateControlDataJar)
|
|
runtimeClasspath files(genJar)
|
|
}
|
|
|
|
// writing build process to a log file
|
|
// --------------------- BUILD LOG SETTINGS ----------------------
|
|
def tstamp = new Date().format('yyyy-MM-dd_HH-mm-ss')
|
|
def buildLogDir = "${rootDir}/logs"
|
|
mkdir("${buildLogDir}")
|
|
def buildLog = new File("${buildLogDir}/${tstamp}_buildLog.log")
|
|
|
|
import org.gradle.internal.logging.*
|
|
System.setProperty('org.gradle.color.error', 'RED')
|
|
|
|
gradle.services.get(LoggingOutputInternal).addStandardOutputListener (new StandardOutputListener () {
|
|
void onOutput(CharSequence output) {
|
|
buildLog << output
|
|
}
|
|
})
|
|
|
|
gradle.services.get(LoggingOutputInternal).addStandardErrorListener (new StandardOutputListener () {
|
|
void onOutput(CharSequence output) {
|
|
buildLog << output
|
|
}
|
|
})
|
|
// --------------------- BUILD LOG SETTINGS ----------------------
|
|
|
|
run.args = ['client',
|
|
'-config', 'ncore-properties.xml',
|
|
'-config', 'ncore-properties-local.xml']
|
|
|
|
task copyDist(type: Copy) {
|
|
from distZip
|
|
from war
|
|
def releaseDir
|
|
if (project.hasProperty('biz.redsoft.release.dir') && project.getProperty('biz.redsoft.release.dir'))
|
|
releaseDir = "${project.getProperty('biz.redsoft.release.dir')}"
|
|
else
|
|
releaseDir = "$projectDir/../releases"
|
|
into "$releaseDir/$project.name/$version"
|
|
}
|
|
|
|
release {
|
|
tagPrefix = 'v'
|
|
}
|
|
|
|
task buildRelease(type: GradleBuild) {
|
|
tasks = ['clean', 'writeVersion', 'nbackup', 'build', 'copyDist', 'publish']
|
|
}
|
|
|
|
idea { module.scopes.PROVIDED.plus += [configurations.provided] }
|
|
|
|
jar{
|
|
manifest{
|
|
attributes(
|
|
'Main-Class': 'biz.redsoft.ncore.client.MainForm',
|
|
'Class-Path': configurations.runtimeClasspath.collect { it.name }.join(' ')
|
|
)
|
|
}
|
|
}
|
|
|
|
startScripts{
|
|
project.startScripts.defaultJvmOpts = ['-Dlogback.configurationFile=./config/logback.xml']
|
|
} |