From 1dc83a996f452de159a2446e5fe3cdf1360ae53f Mon Sep 17 00:00:00 2001 From: Alex Ruiz Date: Fri, 6 Jun 2014 15:02:28 -0700 Subject: [PATCH] Added ability to pass command-line args to Gradle on project sync/refresh. This is necessary for passing project properties when syncing and building Gradle-based Android projects. Change-Id: I5db0878f473edde36ab9f625e112ea90162ddd5a --- .../service/project/AbstractProjectResolverExtension.java | 6 ++++++ .../service/project/BaseGradleProjectResolverExtension.java | 6 ++++++ .../gradle/service/project/GradleProjectResolver.java | 5 ++++- .../service/project/GradleProjectResolverExtension.java | 3 +++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/AbstractProjectResolverExtension.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/AbstractProjectResolverExtension.java index 2c51b29b1564..946b00b1f126 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/AbstractProjectResolverExtension.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/AbstractProjectResolverExtension.java @@ -137,6 +137,12 @@ public abstract class AbstractProjectResolverExtension implements GradleProjectR return Collections.emptyList(); } + @NotNull + @Override + public List getExtraCommandLineArgs() { + return Collections.emptyList(); + } + @NotNull @Override public ExternalSystemException getUserFriendlyError(@NotNull Throwable error, diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java index be3df4b1c824..8873f25c4157 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java @@ -342,6 +342,12 @@ public class BaseGradleProjectResolverExtension implements GradleProjectResolver return Collections.emptyList(); } + @NotNull + @Override + public List getExtraCommandLineArgs() { + return Collections.emptyList(); + } + @NotNull @Override public ExternalSystemException getUserFriendlyError(@NotNull Throwable error, diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolver.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolver.java index 01e1c2295fac..1df5e1e2ef9e 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolver.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolver.java @@ -144,6 +144,8 @@ public class GradleProjectResolver implements ExternalSystemProjectResolver> extraJvmArgs = new ArrayList>(); + final List commandLineArgs = ContainerUtil.newArrayList(); + for (GradleProjectResolverExtension resolverExtension = projectResolverChain; resolverExtension != null; resolverExtension = resolverExtension.getNext()) { @@ -155,6 +157,8 @@ public class GradleProjectResolver implements ExternalSystemProjectResolver buildActionExecutor = resolverCtx.getConnection().action(projectImportAction); - final List commandLineArgs = ContainerUtil.newArrayList(); // TODO [vlad] remove the check if (!GradleEnvironment.DISABLE_ENHANCED_TOOLING_API) { File initScript = GradleExecutionHelper.generateInitScript(isBuildSrcProject); diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverExtension.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverExtension.java index 1b0af6841869..145225ce45d4 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverExtension.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverExtension.java @@ -101,6 +101,9 @@ public interface GradleProjectResolverExtension extends ParametersEnhancer { @NotNull List> getExtraJvmArgs(); + @NotNull + List getExtraCommandLineArgs(); + @NotNull ExternalSystemException getUserFriendlyError(@NotNull Throwable error, @NotNull String projectPath, @Nullable String buildFilePath);