mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
build scripts: publish modules which required to build IntelliJ IDEA from sources as Maven artifacts (IDEA-194151)
Newly introduced 'intellij.tools.jps.buildScriptDependencies' module contains all dependencies which are required to invoke build scripts for IntelliJ-based IDEs. The build scripts was updated to support generation of Maven artifacts from modules without sources. antlayout.jar was rebuilt from sources to include changes in JarContainer.
This commit is contained in:
Generated
+1
@@ -687,6 +687,7 @@
|
||||
<module fileurl="file://$PROJECT_DIR$/tools/index-tools/intellij.tools.index.iml" filepath="$PROJECT_DIR$/tools/index-tools/intellij.tools.index.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/antLayout/intellij.tools.jps.antTasks.iml" filepath="$PROJECT_DIR$/jps/antLayout/intellij.tools.jps.antTasks.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/standalone-builder/intellij.tools.jps.build.standalone.iml" filepath="$PROJECT_DIR$/jps/standalone-builder/intellij.tools.jps.build.standalone.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/build-scripts/intellij.tools.jps.buildScriptDependencies.iml" filepath="$PROJECT_DIR$/platform/build-scripts/intellij.tools.jps.buildScriptDependencies.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/testFramework/bootstrap/intellij.tools.testsBootstrap.iml" filepath="$PROJECT_DIR$/platform/testFramework/bootstrap/intellij.tools.testsBootstrap.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/ui-designer-core/intellij.uiDesigner.iml" filepath="$PROJECT_DIR$/plugins/ui-designer-core/intellij.uiDesigner.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/changeReminder/intellij.vcs.changeReminder.iml" filepath="$PROJECT_DIR$/plugins/changeReminder/intellij.vcs.changeReminder.iml" />
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -7,7 +7,6 @@
|
||||
</content>
|
||||
<orderEntry type="jdk" jdkName="IDEA jdk" jdkType="JavaSDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="Ant" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Ant" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
|
||||
</module>
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.jps.build" exported="" />
|
||||
<orderEntry type="module" module-name="intellij.platform.jps.model" />
|
||||
<orderEntry type="library" name="cli-parser" level="project" />
|
||||
<orderEntry type="library" name="Ant" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Ant" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.jps.model.serialization" exported="" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="gant-groovy" level="project" />
|
||||
<orderEntry type="library" name="Log4J" level="project" />
|
||||
|
||||
+10
-5
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module" module-name="intellij.tools.jps.build.standalone" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.groovy.jps" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.groovy.rt" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.java.guiForms.jps" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.tools.jps.antTasks" scope="RUNTIME" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="gant-groovy" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="gson" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
Reference in New Issue
Block a user