import org.xapek.yvesf.gradle.DownloadTask subprojects { task download(type: DownloadTask) {} task untar(type: Copy) { into file("${buildDir}/unpacked/dist") eachFile { FileCopyDetails fcd -> fcd.path = fcd.path.substring(path.indexOf('/')+1) } } untar.dependsOn(download) ospackage { into "/opt/${project.name}" from untar.outputs.files } project.afterEvaluate { download.source "https://download.jetbrains.com/idea/ideaIU-${project.version}.tar.gz" untar.from tarTree(download.destFile) } }