apply plugin: 'java'
//LEONIND
String javaHome = System.getenv('JAVA_HOME')
if(!javaHome){
throw new GradleException("JAVA_HOME environment variable not set.")
}
def toolsJarFile = new File(javaHome + File.separator + "lib" + File.separator + "tools.jar")
if(!toolsJarFile.exists()){
logger.warn("JAVA_HOME is not pointing to JDK, couldn't find tools.jar $toolsJarFile.absolutePath.")
}
// ... [cpls_instances_apac Map stays exactly as you had it] ...
task prepareLibDir(type: Copy) {
from configurations.sharedlib
into 'lib'
rename('libZeusCcDt.*.so', 'libZeusCcDt.so')
rename('libCcDt.*.so', 'libCcDt.so')
}
tasks.withType(JavaExec) {
systemProperty "java.library.path", file("lib").absolutePath
environment "LD_LIBRARY_PATH", file("lib").absolutePath
}
task runQCacheGen(dependsOn: [prepareLibDir], type: JavaExec) {
main = "com.citigroup.get.quantum.store2.generator.gui.CacheManagerGui"
classpath = sourceSets.main.runtimeClasspath
workingDir = "/src/main"
println "###### CLASSPATH SS ######"
// FIXED: Removed the 'File' type hint that Groovy 3 dislikes here
sourceSets.main.runtimeClasspath.each { it ->
println "rc-> " + it
}
jvmArgs "-Xms512M",
"-Xmx512M",
"-DConfig.Dir=" + file("src/main/config/resources/cachedefinitions"),
"-DDEFAULT_DB=Sybase"
standardInput = System.in
}
cpls_instances_apac.each { task_name, instance_options ->
// Fixed scoping: all variables moved inside the task configuration block
tasks.register(task_name, JavaExec) {
dependsOn prepareLibDir, classes
def asset = instance_options.asset
def region = instance_options.region
def country = instance_options.country ?: ""
def env = instance_options.env
def instanceName = instance_options.instance
def appName = instance_options.appName
def tempDir = instance_options.temp
def app = instance_options.app ?: 'CPLS_ASIA'
def isDevLocal = instance_options.isDevLocal?.toString()?.toBoolean() ?: false
def instanceClasspath = [
file("src/main/config/quantum/$asset/$region/$country/$env"),
file("src/main/config/quantum/$asset/$region/$country/"),
file("src/main/config/quantum/$asset/$region/$country/$env/$instanceName"),
file("src/main/config/dds/$asset/$region/$country/$env/$instanceName"),
file('src/main/config'),
toolsJarFile
]
def cfgFileName = 'CFG.' + appName + '.xml'
def cplsConfigFile = file("src/main/config/quantum/$asset/$region/$country/$env/cplsConfig.xml")
def cplsFile = file("src/main/config/dds/$asset/$region/$country/$env/$instanceName/$cfgFileName")
def cplsDir = file("src/main/config/quantum/$asset/$region/$country/$env/$instanceName")
def loggingConfig = file("src/main/config/quantum/$asset/$region/$country/$env/logging.properties.txt")
def cpacs = files("src/main/config/quantum/$asset/$region/$country/$env/cpacs/cpacs.xml", "src/main/config/quantum/$asset/$region/$country/$env/cpacs.xml")
def cpacsFile = cpacs.find { it.exists() } ?: ""
def aleConfig = file("src/main/config/quantum/$asset/$region/$country/$env/alefcg")
def securityFile = file("src/main/config/resources/security.dat")
doFirst {
logger.info "task: " + task_name + " started execution"
if (System.properties.'os.name'.toLowerCase().contains("linux")){
System.properties.'java.io.tmpdir' = '/opt/lgohome'
logger.info "Setting [java.io.tmpdir] to [$System.properties.'java.io.tmpdir']"
} else if (System.properties.'os.name'.toLowerCase().contains("windows")){
System.properties.'java.io.tmpdir' = 'C:/temp'
logger.info "Setting [java.io.tmpdir] to [$System.properties.'java.io.tmpdir']"
}
['dds','log','store'].each { String i ->
new File("${System.properties.'java.io.tmpdir'}/$tempDir/$i").mkdirs()
}
if (isDevLocal) {
copy {
from "src/main/config/quantum/$asset/$region/$env/$instanceName/configService.xml"
into "${System.properties.'java.io.tmpdir'}/$tempDir/dds/"
filter { line ->
line.replaceAll('<file-cache location=".*"/>', "<file-cache location=\"${System.properties.'java.io.tmpdir'}/$tempDir/dds/\"/>")
}
rename('configService.xml', 'devConfigService.xml')
}
}
jvmArgs = [
"-Xms26M", "-Xmx46M", "-Xss256k",
"-Djava.library.path=" + file('lib').absolutePath,
"-Dcom.citigroup.project.config.filename=$cplsConfigFile",
"-Dapplication=$app",
"-Dinstance=$instanceName",
"-Ddds.tmpdir=${System.properties.'java.io.tmpdir'}/$tempDir/dds/",
"-Dcpls.path.store.dir=${System.properties.'java.io.tmpdir'}/$tempDir/store/",
"-Djava.io.tmpdir=${System.properties.'java.io.tmpdir'}/$tempDir/log/",
"-Dcom.citi.get.etsf.config.DDsConfigurationImpl.local.file=$cplsFile",
"-Dcpls.path.asset.region=$asset/$region${country ? "/$country" : ""}/$env",
"-Dcpls.path.springqas.dir=$cplsDir",
"-Djava.util.logging.config.file=$loggingConfig",
"-Dcom.citigroup.cpacs.util.preferences.systemFileName=$cpacsFile",
"-DALE_CONFIGFILE=$aleConfig",
"-DALE_SECURITYFILE=$securityFile",
"-Dcom.citi.get.etsf.appName=$appName"
]
if (isDevLocal) jvmArgs += "-Ddev_local=true"
}
def quantumJarFile = sourceSets.main.runtimeClasspath.filter {
it.name.endsWith('.jar') && it.name.contains("quantum")
}
classpath = files(instanceClasspath) + quantumJarFile + (sourceSets.main.runtimeClasspath + files("${System.properties.'java.io.tmpdir'}/$tempDir/dds") - quantumJarFile)
// Preserved println
classpath.each { file -> println 'classpath: ' + file }
main = 'com.citi.DebugLauncher'
args 'file://' + file("src/main/config/quantum/$asset/$region/$country/$env").absolutePath, instanceName, 'dummy'
workingDir file('src/main/config')
standardInput = System.in
doLast {
logger.info 'task: ' + task_name + ' completes execution'
}
}
}
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)