blob: 49a0386e4c2e376fc63921ceac1a618be45e8758 [file] [log] [blame]
import org.apache.tools.ant.filters.ReplaceTokens
import static virgobuild.VirgoToolsPlugin.installProduct
import static virgobuild.VirgoToolsPlugin.publishProduct
apply plugin: 'distribution'
distributions {
main {
baseName = 'virgo-tomcat-server'
contents {
from ( 'src/main/filtered' ) {
include ( '**/*.properties' )
include ( '**/.version' )
filter(ReplaceTokens, tokens: tokenMap) // tokens are used in e.g. oev.kernel.userregion.properties
}
from ( 'src/main/filtered' ) {
include ( 'bin/*.sh' )
fileMode 0755
}
from ( 'src/main/filtered' ) {
include ( '**/*.libd' )
include ( '**/*.plan' )
filter(ReplaceTokens, tokens: tokenMap)
}
from ( "${buildDir}/VTS/tomcat-server/" ) { exclude ( 'Eclipse.app' ) }
from ( "${buildDir}/common_resources/" )
}
}
}
task ('assembleTomcatServer', dependsOn: [
'installProductTomcatServer',
'packageResourcesAndProducts'
]) {
installDist.dependsOn(['assembleTomcatServer'])
distZip.dependsOn(['assembleTomcatServer'])
}
task ('packageResourcesAndProducts', dependsOn: [
':kernel:org.eclipse.virgo.kernel.equinox.extensions:jar',
':kernel:org.eclipse.virgo.management.console:war',
':nano:org.eclipse.virgo.nano.authentication:jar',
':nano:org.eclipse.virgo.nano.shutdown:jar',
':util:org.eclipse.virgo.util.env:jar',
]) {
doLast {
packageConfiguration('lib', configurations.nanoLib, file("${buildDir}/common_resources/lib/"))
packageConfiguration('libPersistence', configurations.nanoLibPersistence, file("${buildDir}/common_resources/lib/persistence/"))
packageConfiguration('libEndorsed', configurations.nanoLibEndorsed, file("${buildDir}/common_resources/lib/endorsed/"))
packageConfiguration('pluginsExtras', configurations.kernelPluginsExtras, file("${buildDir}/common_resources/plugins/"))
packageConfiguration('repositoryExt', configurations.repositoryExt, file("${buildDir}/common_resources/repository/ext/"))
packageConfiguration('pickup', configurations.nanoPickup, file("${buildDir}/common_resources/pickup/"))
}
}
task ('publishTomcatServer', dependsOn: [
':org.eclipse.virgo.site:publishBase',
':org.eclipse.virgo.site:publishKernelBase',
]) {
description = "Publishes a product to a p2 repository. The publishing uses ANY environment configurations."
def product = 'tomcat-server'
def productFileLocation = file("${projectDir}/publish_resources/products/${product}/${product}.product")
doLast() { publishProduct(project, productFileLocation) }
}
task ('installProductTomcatServer', dependsOn: ['publishTomcatServer',]) {
description = "Installs a Virgo product to a desired destination. Default profile(roaming) is VIRGOProfile, the environment cofigurations are ANY."
def product = 'tomcat-server'
def shortProduct = 'VTS'
def destinationDir = file("${buildDir}/${shortProduct}/${product}")
def productIu = "${product}.product"
doLast() { installProduct(project, productIu, destinationDir) }
}