diff --git a/.idea/modules.xml b/.idea/modules.xml index ae599362c22c..aa7251843c6f 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -687,6 +687,7 @@ + diff --git a/build/groovy/org/jetbrains/intellij/build/IdeaCommunityProperties.groovy b/build/groovy/org/jetbrains/intellij/build/IdeaCommunityProperties.groovy index b19fc90de331..ef2699e9d11f 100644 --- a/build/groovy/org/jetbrains/intellij/build/IdeaCommunityProperties.groovy +++ b/build/groovy/org/jetbrains/intellij/build/IdeaCommunityProperties.groovy @@ -37,6 +37,7 @@ class IdeaCommunityProperties extends BaseIdeaProperties { productLayout.classesLoadingOrderFilePath = "$home/build/order.txt" mavenArtifacts.forIdeModules = true + mavenArtifacts.additionalModules = ["intellij.tools.jps.buildScriptDependencies"] versionCheckerConfig = CE_CLASS_VERSIONS } diff --git a/build/lib/jps/antlayout.jar b/build/lib/jps/antlayout.jar index 56a2d9c0e646..9bd055ccd6f6 100644 Binary files a/build/lib/jps/antlayout.jar and b/build/lib/jps/antlayout.jar differ diff --git a/jps/antLayout/intellij.tools.jps.antTasks.iml b/jps/antLayout/intellij.tools.jps.antTasks.iml index 11a70982363f..3c5ffcbcfae8 100644 --- a/jps/antLayout/intellij.tools.jps.antTasks.iml +++ b/jps/antLayout/intellij.tools.jps.antTasks.iml @@ -7,7 +7,6 @@ - + - - + \ No newline at end of file diff --git a/jps/antLayout/src/jetbrains/antlayout/datatypes/JarContainer.java b/jps/antLayout/src/jetbrains/antlayout/datatypes/JarContainer.java index c9bf8bef7388..8f50b5724637 100644 --- a/jps/antLayout/src/jetbrains/antlayout/datatypes/JarContainer.java +++ b/jps/antLayout/src/jetbrains/antlayout/datatypes/JarContainer.java @@ -56,6 +56,10 @@ public class JarContainer extends ZipContainer { ((Jar) task).setFilesetmanifest(config); } + public void setWhenmanifestonly(Zip.WhenEmpty we) { + ((Jar)task).setWhenmanifestonly(we); + } + public void addConfiguredManifest(Manifest newManifest) throws ManifestException { ((Jar) task).addConfiguredManifest(newManifest); } diff --git a/jps/standalone-builder/intellij.tools.jps.build.standalone.iml b/jps/standalone-builder/intellij.tools.jps.build.standalone.iml index 9e85120cc6cf..bd9dfde44b24 100644 --- a/jps/standalone-builder/intellij.tools.jps.build.standalone.iml +++ b/jps/standalone-builder/intellij.tools.jps.build.standalone.iml @@ -11,7 +11,7 @@ - + diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.groovy index ed802fcacc09..0f6466f8083b 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.groovy @@ -64,15 +64,20 @@ class MavenArtifactsBuilder { modulesToPublish.each { aModule, artifactData -> dir(artifactData.coordinates.directoryPath) { ant.fileset(file: pomXmlFiles[aModule]) - jar(artifactData.coordinates.getFileName("", "jar")) { - module(aModule.name) + def javaSourceRoots = aModule.getSourceRoots(JavaSourceRootType.SOURCE).toList() + def javaResourceRoots = aModule.getSourceRoots(JavaResourceRootType.RESOURCE).toList() + def hasSources = !(javaSourceRoots.isEmpty() && javaResourceRoots.isEmpty()) + ant.jar(name: artifactData.coordinates.getFileName("", "jar"), duplicate: "fail", whenmanifestonly: "create") { + if (hasSources) { + module(aModule.name) + } } - if (publishSourcesFilter.test(aModule, buildContext)) { + if (publishSourcesFilter.test(aModule, buildContext) && hasSources) { zip(artifactData.coordinates.getFileName("sources", "jar")) { - aModule.getSourceRoots(JavaSourceRootType.SOURCE).each { root -> + javaSourceRoots.each { root -> ant.zipfileset(dir: root.file.absolutePath, prefix: root.properties.packagePrefix.replace('.', '/')) } - aModule.getSourceRoots(JavaResourceRootType.RESOURCE).each { root -> + javaResourceRoots.each { root -> ant.zipfileset(dir: root.file.absolutePath, prefix: root.properties.relativeOutputPath) } } diff --git a/platform/build-scripts/intellij.tools.jps.buildScriptDependencies.iml b/platform/build-scripts/intellij.tools.jps.buildScriptDependencies.iml new file mode 100644 index 000000000000..f4b6b06ddf4e --- /dev/null +++ b/platform/build-scripts/intellij.tools.jps.buildScriptDependencies.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file