diff --git a/build/groovy/org/jetbrains/intellij/build/BuildTasks.groovy b/build/groovy/org/jetbrains/intellij/build/BuildTasks.groovy index 7b66dabe87e6..2f5bf5c79eff 100644 --- a/build/groovy/org/jetbrains/intellij/build/BuildTasks.groovy +++ b/build/groovy/org/jetbrains/intellij/build/BuildTasks.groovy @@ -72,6 +72,8 @@ abstract class BuildTasks { abstract void buildUpdaterJar() + abstract void buildUnpackedDistribution(String targetDirectory) + static BuildTasks create(BuildContext context) { return new BuildTasksImpl(context) } diff --git a/build/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy b/build/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy index 2be84bc2b9ac..8725faf06c69 100644 --- a/build/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy +++ b/build/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy @@ -271,6 +271,7 @@ idea.fatal.error.notification=disabled compileModules(buildContext.productProperties.productLayout.includedPluginModules + distributionJARsBuilder.platformModules) buildContext.messages.block("Build platform and plugin JARs") { distributionJARsBuilder.buildJARs() + distributionJARsBuilder.buildAdditionalArtifacts() } if (buildContext.productProperties.scrambleMainJar) { if (buildContext.proprietaryBuildTools.scrambleTool != null) { @@ -448,6 +449,35 @@ idea.fatal.error.notification=disabled } } + @Override + void buildUnpackedDistribution(String targetDirectory) { + def jarsBuilder = new DistributionJARsBuilder(buildContext) + jarsBuilder.buildJARs() +/* + //todo[nik] uncomment this to update os-specific files (e.g. in 'bin' directory) as well + layoutShared() + def propertiesFile = patchIdeaPropertiesFile() + OsSpecificDistributionBuilder builder; + if (SystemInfo.isWindows) { + builder = new WindowsDistributionBuilder(buildContext, buildContext.windowsDistributionCustomizer, propertiesFile) + } + else if (SystemInfo.isLinux) { + builder = new LinuxDistributionBuilder(buildContext, buildContext.linuxDistributionCustomizer, propertiesFile) + } + else if (SystemInfo.isMac) { + builder = new MacDistributionBuilder(buildContext, buildContext.macDistributionCustomizer, propertiesFile) + } + else { + buildContext.messages.error("Update from source isn't supported for '$SystemInfo.OS_NAME'") + return + } + def osSpecificDistPath = builder.copyFilesForOsDistribution() +*/ + buildContext.ant.copy(todir: targetDirectory) { + fileset(dir: buildContext.paths.distAll) + } + } + private abstract static class BuildTaskRunnable { final String taskName diff --git a/build/groovy/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.groovy b/build/groovy/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.groovy index 3d1e245e825b..996a69370716 100644 --- a/build/groovy/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.groovy +++ b/build/groovy/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.groovy @@ -136,7 +136,9 @@ class DistributionJARsBuilder { void buildJARs() { buildLib() buildPlugins() + } + void buildAdditionalArtifacts() { def productProperties = buildContext.productProperties if (productProperties.generateLibrariesLicensesTable) { buildContext.messages.block("Generate table of licenses for used third-party libraries") {