diff --git a/build/groovy/org/jetbrains/intellij/build/IdeaCommunityBuilder.groovy b/build/groovy/org/jetbrains/intellij/build/IdeaCommunityBuilder.groovy index c08dceb9ac7e..676a83e4104d 100644 --- a/build/groovy/org/jetbrains/intellij/build/IdeaCommunityBuilder.groovy +++ b/build/groovy/org/jetbrains/intellij/build/IdeaCommunityBuilder.groovy @@ -40,6 +40,14 @@ class IdeaCommunityBuilder { BuildTasks.create(buildContext).compileProjectAndTests(["jps-builders"]) } + void buildIntelliJCore() { + buildContext.projectBuilder.targetFolder = buildContext.options.outputRootPath + BuildTasks.create(buildContext).compileModules(binding["analysisApiModules"] + binding["analysisImplModules"]) + + def layouts = binding["includeFile"]("$buildContext.paths.communityHome/build/scripts/layouts.gant") + layoutIntelliJCore(layouts) + } + void buildDistJars() { BuildTasks.create(buildContext).buildDistributions() layoutAdditionalArtifacts() @@ -58,6 +66,17 @@ class IdeaCommunityBuilder { void layoutAdditionalArtifacts(boolean buildJps = false) { def layouts = binding["includeFile"]("$buildContext.paths.communityHome/build/scripts/layouts.gant") + layoutIntelliJCore(layouts) + if (buildJps) { + buildContext.messages.block("Build standalone JPS") { + String jpsArtifactDir = "$buildContext.paths.artifacts/jps" + layouts.layoutJps(buildContext.paths.communityHome, jpsArtifactDir, buildContext.fullBuildNumber, {}) + buildContext.notifyArtifactBuilt(jpsArtifactDir) + } + } + } + + private void layoutIntelliJCore(layouts) { buildContext.messages.block("Build intellij-core") { String coreArtifactDir = "$buildContext.paths.artifacts/core" buildContext.ant.mkdir(dir: coreArtifactDir) @@ -70,12 +89,5 @@ class IdeaCommunityBuilder { } buildContext.notifyArtifactBuilt(intellijCoreZip) } - if (buildJps) { - buildContext.messages.block("Build standalone JPS") { - String jpsArtifactDir = "$buildContext.paths.artifacts/jps" - layouts.layoutJps(buildContext.paths.communityHome, jpsArtifactDir, buildContext.fullBuildNumber, {}) - buildContext.notifyArtifactBuilt(jpsArtifactDir) - } - } } } \ No newline at end of file diff --git a/build/scripts/dist.gant b/build/scripts/dist.gant index 1e6791fffd83..499e152e2a96 100644 --- a/build/scripts/dist.gant +++ b/build/scripts/dist.gant @@ -48,6 +48,12 @@ target('build-dist-jars' : 'Target to build jars from locally compiled classes') new IdeaCommunityBuilder(home, binding, options).buildDistJars() } +target('build-intellij-core' : 'Build intellij-core.zip') { + def options = new BuildOptions() + options.outputRootPath = out + new IdeaCommunityBuilder(home, binding, options).buildIntelliJCore() +} + target('update-from-sources': 'Update locally installed distribution from compiled classes') { def options = new BuildOptions() options.useCompiledClassesFromProjectOutput = true diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant index fc44782ab5f8..116f6449b42d 100644 --- a/build/scripts/layouts.gant +++ b/build/scripts/layouts.gant @@ -131,6 +131,7 @@ def layout_core(String home, String target) { } fileset(dir: "$home/lib") { + include(name: "asm-all.jar") include(name: "guava-19.0.jar") include(name: "picocontainer.jar") include(name: "trove4j.jar") diff --git a/build/update.xml b/build/update.xml index 97a6ce6cc93b..6a1a2a0eda36 100644 --- a/build/update.xml +++ b/build/update.xml @@ -69,4 +69,10 @@ target="build-dist-jars" deploy="${project.home}/out/deploy"/> + + + + \ No newline at end of file