buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath 'org.xapek.yvesf:gradle-download-task:0.1-SNAPSHOT' } } plugins { id "nebula.ospackage" version "3.2.0" } ext { sshKeyfile = new File(System.getProperty('user.home'), '.ssh/id_rsa') sshKnownHosts = new File(System.getProperty('user.home'), '.ssh/known_hosts') sshUser = 'yvesf' sshHost = 'xapek.org' sshTargetDir = 'public_html/public/debian/files' sshReindexCommand = 'cd public_html/public/debian && make' } allprojects { configurations { sshAntTask } repositories { mavenLocal() mavenCentral() } dependencies { sshAntTask 'org.apache.ant:ant-jsch:1.9.2' } } def reindex = tasks.create('reindex') reindex << { ant.taskdef( name: 'antSsh', classname: 'org.apache.tools.ant.taskdefs.optional.ssh.SSHExec', classpath: configurations.sshAntTask.asPath) ant.antSsh( host: sshHost, username: sshUser, keyfile: file(sshKeyfile), knownhosts: file(sshKnownHosts), command: sshReindexCommand, verbose: true) } subprojects { group 'org.xapek.yvesf.debian' version '1.0-SNAPSHOT' apply plugin: 'nebula.ospackage' ant.taskdef( name: 'antScp', classname: 'org.apache.tools.ant.taskdefs.optional.ssh.Scp', classpath: configurations.sshAntTask.asPath) ospackage { user = 'root' } def buildDeb = project.getTasks().getByName('buildDeb') def upload = tasks.create('upload') upload << { ant.antScp( file: buildDeb.archivePath, todir: "${sshUser}@${sshHost}:${sshTargetDir}", keyfile: file(sshKeyfile), knownhosts: file(sshKnownHosts), verbose: true) } upload.group = 'build' upload.dependsOn(buildDeb) project.afterEvaluate { ospackage.version = "${project.version}-${new Date().format("yyyyMMdd-HHmmss")}" } }