blob: 4b2a969e9510ad6161a564c208be024110e8f577 [file] [log] [blame]
configurations {
archives
updates
}
dependencies {
archives project(path: ':plugins:org.eclipse.etrice.generator.c', configuration: 'archive')
archives project(path: ':plugins:org.eclipse.etrice.generator.cpp', configuration: 'archive')
archives project(path: ':plugins:org.eclipse.etrice.generator.java', configuration: 'archive')
archives project(path: ':plugins:org.eclipse.etrice.generator.doc', configuration: 'archive')
updates project(path: ':releng:org.eclipse.etrice.site', configuration: 'archive')
}
def versionDir = scmVersion.version.endsWith('SNAPSHOT') ? 'nightly' : scmVersion.version
def downloadDir = '/home/data/httpd/download.eclipse.org/etrice'
def promoteDir = "$downloadDir/$versionDir"
def assembleDir = "$buildDir/$versionDir"
remotes {
projectsStorage {
host = 'projects-storage.eclipse.org'
user = 'genie.etrice'
}
}
ssh.settings {
agent = true
fileTransfer = 'scp'
}
task assembleArtifacts(type: Sync) {
from([configurations.archives, configurations.updates]) {
into 'archives'
}
if(!configurations.updates.empty) {
from(zipTree(configurations.updates.singleFile)) {
into 'updates'
}
} else {
doFirst {
throw new GradleException("etrice update site is missing - execute tycho/maven 'package' first")
}
}
into assembleDir
}
assemble.dependsOn assembleArtifacts
task promote {
dependsOn assembleArtifacts
doLast {
ssh.run {
session(remotes.projectsStorage) {
logger.info "clean download area"
remove promoteDir
execute "mkdir $promoteDir"
logger.info "promote archives"
put from: "$assembleDir/archives", into: promoteDir
logger.info "promote update site"
put from: "$assembleDir/updates", into: promoteDir
}
}
}
}