Gradle: pre-import check added

This commit is contained in:
Vladislav.Soroka
2014-01-09 18:59:07 +04:00
parent b20f87d110
commit 3ee557a91b
4 changed files with 19 additions and 3 deletions
@@ -152,4 +152,8 @@ public abstract class AbstractProjectResolverExtension implements GradleProjectR
@Override
public void enhanceLocalProcessing(@NotNull List<URL> urls) {
}
@Override
public void preImportCheck() {
}
}
@@ -309,6 +309,10 @@ public class BaseGradleProjectResolverExtension implements GradleProjectResolver
return myErrorHandler.getUserFriendlyError(error, projectPath, buildFilePath);
}
@Override
public void preImportCheck() {
}
@Override
public void enhanceRemoteProcessing(@NotNull SimpleJavaParameters parameters) throws ExecutionException {
PathsList classPath = parameters.getClassPath();
@@ -138,17 +138,20 @@ public class GradleProjectResolver implements ExternalSystemProjectResolver<Grad
final ProjectImportAction projectImportAction = new ProjectImportAction(resolverCtx.isPreviewMode());
// inject ProjectResolverContext into gradle project resolver extensions
// collect extra JVM arguments provided by gradle project resolver extensions
// and register classes of extra gradle project models required for extensions (e.g. com.android.builder.model.AndroidProject)
final List<KeyValue<String, String>> extraJvmArgs = new ArrayList<KeyValue<String, String>>();
for (GradleProjectResolverExtension resolverExtension = projectResolverChain;
resolverExtension != null;
resolverExtension = resolverExtension.getNext()) {
// inject ProjectResolverContext into gradle project resolver extensions
resolverExtension.setProjectResolverContext(resolverCtx);
// pre-import checks
resolverExtension.preImportCheck();
// register classes of extra gradle project models required for extensions (e.g. com.android.builder.model.AndroidProject)
projectImportAction.addExtraProjectModelClasses(resolverExtension.getExtraProjectModelClasses());
// collect extra JVM arguments provided by gradle project resolver extensions
extraJvmArgs.addAll(resolverExtension.getExtraJvmArgs());
}
final ParametersList parametersList = new ParametersList();
for (KeyValue<String, String> jvmArg : extraJvmArgs) {
parametersList.addProperty(jvmArg.getKey(), jvmArg.getValue());
@@ -105,4 +105,9 @@ public interface GradleProjectResolverExtension extends ParametersEnhancer {
@NotNull
ExternalSystemException getUserFriendlyError(@NotNull Throwable error, @NotNull String projectPath, @Nullable String buildFilePath);
/**
* Performs project configuration and other checks before the actual project import (before invocation of gradle tooling API).
*/
void preImportCheck();
}