apply plugin: ‘java’
apply plugin: ‘war’
group = ‘com.netisys’
version = ‘0.1’
allprojects {
apply plugin: ‘java’
sourceCompatibility = 1.6
targetCompatibility = 1.6
repositories {
jcenter()
}
}
compileJava {
options.forkOptions.executable = “C:/Program Files/Java/jre6/bin/javac”
}
ext.environments = [
dev:
[cerbere:‘webapp/WEB-INF/cerbere-filtre.xml’,
repoData:‘installation/installation-klee-re7-repository_database.xml’,
telechargement:‘installation/installation-klee-re7-telechargements.properties’,
web:‘webapp/WEB-INF/web.xml’,
initCache:‘webapp/WEB-INF/classes/initialisationCache-Test.properties’
]
,
rec:
[cerbere:‘installation/cerbere-filtre-test.xml’,
repoData:‘installation/installation-test-repository_database.xml’,
telechargement:‘installation/installation-test-telechargements.properties’,
web:‘webapp/WEB-INF/web.xml’,
initCache:‘webapp/WEB-INF/classes/initialisationCache-Test.properties’
]
,
prod:
[cerbere:‘installation/cerbere-filtre-prod.xml’,
repoData:‘installation/installation-prod-repository_database.xml’,
telechargement:‘installation/installation-prod-telechargements.properties’,
web:‘installation/web-prod.xml’,
initCache:‘webapp/WEB-INF/classes/initialisationCache-Prod.properties’
]
]
dependencies {
compileOnly fileTree(“libTomcat”)
compile fileTree(“webapp/WEB-INF/lib”)
compile project(‘:HabitatIndigne_ClientRecherches’)
}
sourceSets {
main {
java {
srcDir 'webapp/WEB-INF/src/'
exclude 'WEB-INF/classes/fr*'
}
}
}
clean {
delete “./livrable”
}
task addEnvFiles << {
copy {
from “${configEnv.web}”
into (“${buildDir}/tmp/war/WEB-INF”)
rename (“${configEnv.web}”.tokenize(‘/’)[-1], ‘web.xml’)
}
copy {
from “${configEnv.cerbere}”
into (“${buildDir}/tmp/war/WEB-INF”)
rename (“${configEnv.cerbere}”.tokenize(‘/’)[-1], ‘cerbere-filtre.xml’)
}
copy {
from “${configEnv.repoData}”
into (“${buildDir}/tmp/war/WEB-INF/classes”)
rename (“${configEnv.repoData}”.tokenize(‘/’)[-1], ‘repository_database.xml’)
}
copy {
from “${configEnv.telechargement}”
into (“${buildDir}/tmp/war/WEB-INF/classes”)
rename (“${configEnv.telechargement}”.tokenize(‘/’)[-1], ‘telechargements.properties’)
}
copy {
from “${configEnv.initCache}”
into (“${buildDir}/tmp/war/WEB-INF/classes”)
rename (“${configEnv.initCache}”.tokenize(‘/’)[-1], ‘initialisationCache.properties’)
}
}
[‘dev’,‘rec’,‘prod’].each { targetName →
task “war$targetName” (type: War) {
group ‘package’
ext.configEnv = environments.“${targetName}”
addEnvFiles
from (‘webapp’) {
exclude (‘**/.class’,'WEB-INF/src’,‘WEB-INF/cerbere-filtre.xml’,‘WEB-INF/web.xml’,‘WEB-INF/lib*’
,‘WEB-INF/classes/repository_database.xml’,‘WEB-INF/classes/telechargements.properties’
,‘WEB-INF/classes/initialisationCache*.properties’)
}
from (“${buildDir}/tmp/war”)
destinationDir = file("./livrable")
archiveName "HabitatIndigne${targetName}.war"
}
}
task livrer (type: Zip) {
group ‘package’
dependsOn warrec
dependsOn warprod
from "./livraisonResources"
def date = new Date()
def formattedDate = date.format('yyyy-MM-dd')
destinationDir = file("./livrable")
archiveName "${formattedDate} Livraison.zip"
metadataCharset 'utf-8'
}