| 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 |
| } |
| } |
| } |
| } |