mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
build scripts: create new AntBuilder's instance instead of getting it from GantBinding
This simplifies code and reduces dependency on Gant.
This commit is contained in:
@@ -20,17 +20,13 @@ import org.codehaus.gant.GantBinding
|
||||
* @author nik
|
||||
*/
|
||||
class IdeaCommunityBuilder {
|
||||
private final GantBinding binding
|
||||
private final BuildContext buildContext
|
||||
|
||||
IdeaCommunityBuilder(String home, GantBinding binding, BuildOptions options = new BuildOptions(), String projectHome = home) {
|
||||
this.binding = binding
|
||||
buildContext = BuildContext.createContext(binding.ant, home, projectHome, new IdeaCommunityProperties(home), ProprietaryBuildTools.DUMMY,
|
||||
options)
|
||||
buildContext = BuildContext.createContext(home, projectHome, new IdeaCommunityProperties(home), ProprietaryBuildTools.DUMMY, options)
|
||||
}
|
||||
|
||||
IdeaCommunityBuilder(GantBinding binding, BuildContext buildContext) {
|
||||
this.binding = binding
|
||||
this.buildContext = buildContext
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,6 @@ import org.jetbrains.jps.idea.IdeaProjectLoader
|
||||
target("default": "Run tests") {
|
||||
String home = IdeaProjectLoader.guessHome(this)
|
||||
String outputDir = "$home/out/tests"
|
||||
def context = CompilationContextImpl.create(home, home, outputDir, this)
|
||||
def context = CompilationContextImpl.create(home, home, outputDir)
|
||||
TestingTasks.create(context).runTests([], "community-main", null)
|
||||
}
|
||||
|
||||
@@ -86,20 +86,20 @@ abstract class BuildContext implements CompilationContext {
|
||||
|
||||
abstract boolean shouldBuildDistributionForOS(String os)
|
||||
|
||||
static BuildContext createContext(AntBuilder ant, String communityHome, String projectHome, ProductProperties productProperties,
|
||||
static BuildContext createContext(String communityHome, String projectHome, ProductProperties productProperties,
|
||||
ProprietaryBuildTools proprietaryBuildTools = ProprietaryBuildTools.DUMMY,
|
||||
BuildOptions options = new BuildOptions()) {
|
||||
return BuildContextImpl.create(ant, communityHome, projectHome, productProperties, proprietaryBuildTools, options)
|
||||
return BuildContextImpl.create(communityHome, projectHome, productProperties, proprietaryBuildTools, options)
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #createContext(AntBuilder, String, String, ProductProperties, ProprietaryBuildTools, BuildOptions)} instead
|
||||
* @deprecated use {@link #createContext(String, String, ProductProperties, ProprietaryBuildTools, BuildOptions)} instead
|
||||
*/
|
||||
static BuildContext createContext(AntBuilder ant, JpsGantProjectBuilder projectBuilder, JpsProject project, JpsGlobal global,
|
||||
String communityHome, String projectHome, ProductProperties productProperties,
|
||||
ProprietaryBuildTools proprietaryBuildTools = ProprietaryBuildTools.DUMMY,
|
||||
BuildOptions options = new BuildOptions()) {
|
||||
return BuildContextImpl.create(ant, communityHome, projectHome, productProperties, proprietaryBuildTools, options)
|
||||
String communityHome, String projectHome, ProductProperties productProperties,
|
||||
ProprietaryBuildTools proprietaryBuildTools = ProprietaryBuildTools.DUMMY,
|
||||
BuildOptions options = new BuildOptions()) {
|
||||
return BuildContextImpl.create(communityHome, projectHome, productProperties, proprietaryBuildTools, options)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -90,7 +90,7 @@ abstract class BuildTasks {
|
||||
BuildUtils.addToClassPath("$projectHome/$it", binding.ant)
|
||||
}
|
||||
ProductProperties productProperties = (ProductProperties) Class.forName(productPropertiesClassName).constructors[0].newInstance(projectHome)
|
||||
BuildContext context = BuildContext.createContext(binding.ant, "$projectHome/$communityHomeRelativePath", projectHome,
|
||||
BuildContext context = BuildContext.createContext("$projectHome/$communityHomeRelativePath", projectHome,
|
||||
productProperties, proprietaryBuildTools)
|
||||
return context
|
||||
}
|
||||
|
||||
+2
-2
@@ -37,13 +37,13 @@ class BuildContextImpl extends BuildContext {
|
||||
private final JpsGlobal global
|
||||
private final CompilationContextImpl compilationContext
|
||||
|
||||
static BuildContextImpl create(AntBuilder ant, String communityHome, String projectHome, ProductProperties productProperties,
|
||||
static BuildContextImpl create(String communityHome, String projectHome, ProductProperties productProperties,
|
||||
ProprietaryBuildTools proprietaryBuildTools, BuildOptions options) {
|
||||
WindowsDistributionCustomizer windowsDistributionCustomizer = productProperties.createWindowsCustomizer(projectHome)
|
||||
LinuxDistributionCustomizer linuxDistributionCustomizer = productProperties.createLinuxCustomizer(projectHome)
|
||||
MacDistributionCustomizer macDistributionCustomizer = productProperties.createMacCustomizer(projectHome)
|
||||
|
||||
def compilationContext = CompilationContextImpl.create(ant, communityHome, projectHome,
|
||||
def compilationContext = CompilationContextImpl.create(communityHome, projectHome,
|
||||
createBuildOutputRootEvaluator(projectHome, productProperties), options)
|
||||
def context = new BuildContextImpl(compilationContext, productProperties,
|
||||
windowsDistributionCustomizer, linuxDistributionCustomizer, macDistributionCustomizer,
|
||||
|
||||
+5
-6
@@ -18,7 +18,6 @@ package org.jetbrains.intellij.build.impl
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import groovy.transform.CompileDynamic
|
||||
import groovy.transform.CompileStatic
|
||||
import org.codehaus.gant.GantBinding
|
||||
import org.jetbrains.intellij.build.*
|
||||
import org.jetbrains.jps.gant.JpsGantProjectBuilder
|
||||
import org.jetbrains.jps.model.JpsElementFactory
|
||||
@@ -52,15 +51,15 @@ class CompilationContextImpl implements CompilationContext {
|
||||
|
||||
@SuppressWarnings("GrUnresolvedAccess")
|
||||
@CompileDynamic
|
||||
static CompilationContextImpl create(String communityHome, String projectHome, String defaultOutputRoot, Script gantScript) {
|
||||
GantBinding binding = (GantBinding) gantScript.binding
|
||||
static CompilationContextImpl create(String communityHome, String projectHome, String defaultOutputRoot) {
|
||||
//noinspection GroovyAssignabilityCheck
|
||||
return create(binding.ant, communityHome, projectHome,
|
||||
{ p, m -> defaultOutputRoot } as BiFunction<JpsProject, BuildMessages, String>, new BuildOptions())
|
||||
return create(communityHome, projectHome,
|
||||
{ p, m -> defaultOutputRoot } as BiFunction<JpsProject, BuildMessages, String>, new BuildOptions())
|
||||
}
|
||||
|
||||
static CompilationContextImpl create(AntBuilder ant, String communityHome, String projectHome,
|
||||
static CompilationContextImpl create(String communityHome, String projectHome,
|
||||
BiFunction<JpsProject, BuildMessages, String> buildOutputRootEvaluator, BuildOptions options) {
|
||||
AntBuilder ant = new AntBuilder()
|
||||
def messages = BuildMessagesImpl.create(ant.project)
|
||||
communityHome = toCanonicalPath(communityHome)
|
||||
if (["platform/build-scripts", "bin/log.xml", "build.txt"].any { !new File(communityHome, it).exists() }) {
|
||||
|
||||
+1
-2
@@ -36,8 +36,7 @@ class PythonCommunityPluginBuilder {
|
||||
def build() {
|
||||
def pluginBuildNumber = System.getProperty("build.number", "SNAPSHOT")
|
||||
def options = new BuildOptions(targetOS: BuildOptions.OS_NONE, buildNumber: pluginBuildNumber, outputRootPath: "$home/out/pycharmCE")
|
||||
def buildContext = BuildContext.createContext(binding.ant, home, home, new PythonCommunityPluginProperties(),
|
||||
ProprietaryBuildTools.DUMMY, options)
|
||||
def buildContext = BuildContext.createContext(home, home, new PythonCommunityPluginProperties(), ProprietaryBuildTools.DUMMY, options)
|
||||
def buildTasks = BuildTasks.create(buildContext)
|
||||
buildTasks.buildDistributions()
|
||||
def pluginsPaths = new File("$buildContext.paths.buildOutputRoot/plugins-paths.txt")
|
||||
|
||||
Reference in New Issue
Block a user