Skip to main content
aboutsummaryrefslogblamecommitdiffstats
blob: c3ad58b49afde1f661444cbc5c6398b4087c8fe3 (plain) (tree)
1
2
3
4



                                              













                                                                                                      
                                             
                        
                

                              
                                                                
                                           
                                         
 












                                                     


                                                                 







                                                                                                                        
         



















                                                                                   
 
plugins {
	id 'org.hidetake.ssh' version '2.10.1'
}

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 isSnapshot = version.endsWith('SNAPSHOT')
def versionDir = version
if(isSnapshot) {
	versionDir = 'nightly'
}
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
}

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

Back to the top