From e3cf383e61b2e5779a5f65d8c2fd8f80bdb04dd6 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 19 Aug 2015 13:26:01 +0300 Subject: [PATCH] build scripts: reuse 'zipSourcesOfModules' method, don't fail if source root doesn't exist --- build/scripts/utils.gant | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/build/scripts/utils.gant b/build/scripts/utils.gant index a96722fd3bb0..0317193ce6c3 100644 --- a/build/scripts/utils.gant +++ b/build/scripts/utils.gant @@ -18,6 +18,7 @@ import com.intellij.openapi.util.SystemInfo import com.intellij.openapi.util.io.FileUtil import org.jetbrains.jps.gant.JpsGantTool import org.jetbrains.jps.gant.TeamCityBuildInfoPrinter +import org.jetbrains.jps.model.java.JavaResourceRootType import org.jetbrains.jps.model.java.JavaSourceRootType import org.jetbrains.jps.model.java.JdkVersionDetector import org.jetbrains.jps.model.java.JpsJavaExtensionService @@ -737,7 +738,7 @@ binding.setVariable("zipSources", { String home, String targetDir -> notifyArtifactBuilt(sources) }) -binding.setVariable("zipSourcesOfModules", { String home, String targetFilePath, Collection modules -> +binding.setVariable("zipSourcesOfModules", { String targetFilePath, Collection modules -> projectBuilder.stage("zip sources of ${modules.size()} modules to $targetFilePath") ant.mkdir(dir: new File(targetFilePath).getParent()) @@ -745,8 +746,11 @@ binding.setVariable("zipSourcesOfModules", { String home, String targetFilePath, ant.zip(destfile: targetFilePath) { modules.each { JpsModule module = findModule(it) - module.getSourceRoots(JavaSourceRootType.SOURCE).flatten().collect {it.file}.each { File srcRoot -> - zipfileset(prefix: module.name, dir: srcRoot.absolutePath) + module.getSourceRoots(JavaSourceRootType.SOURCE).each { root -> + ant.zipfileset(dir: root.file.absolutePath, prefix: root.properties.packagePrefix.replace('.', '/'), erroronmissingdir: false) + } + module.getSourceRoots(JavaResourceRootType.RESOURCE).each { root -> + ant.zipfileset(dir: root.file.absolutePath, prefix: root.properties.relativeOutputPath, erroronmissingdir: false) } } }