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' sshRebuildCommand = 'public_html/public/debian/rebuild.sh' } allprojects { configurations { sshAntTask } repositories { mavenLocal() mavenCentral() } dependencies { sshAntTask 'org.apache.ant:ant-jsch:1.9.2' } } task rebuildRepositoryIndex() << { ant.taskdef( name: 'ssh', classname: 'org.apache.tools.ant.taskdefs.optional.ssh.SSHExec', classpath: configurations.sshAntTask.asPath) ant.ssh(host: sshHost, username: sshUser, keyfile: file(sshKeyfile), knownhosts: file(sshKnownHosts), command: sshRebuildCommand, verbose: true) } subprojects { group 'org.xapek.yvesf.debian' version '1.0-SNAPSHOT' apply plugin: 'nebula.ospackage' def buildDeb = project.getTasks().getByName('buildDeb') task upload() << { ant.taskdef( name: 'scp', classname: 'org.apache.tools.ant.taskdefs.optional.ssh.Scp', classpath: configurations.sshAntTask.asPath) ant.scp(file: new File(project.buildDir, "distributions/${buildDeb.assembleArchiveName()}"), todir: "${sshUser}@${sshHost}:${sshTargetDir}", keyfile: file(sshKeyfile), knownhosts: file(sshKnownHosts), verbose: true) } upload.dependsOn(buildDeb) ospackage { release new Date().format("yyyyMMdd-hhmmss") } }