gradle: dependencies component metadata resolve

This commit is contained in:
Vladislav.Soroka
2016-12-06 17:30:45 +03:00
parent de5da1e1a6
commit dc7b96c0d2
2 changed files with 15 additions and 0 deletions
@@ -35,6 +35,9 @@ public final class GradleCommonClassNames {
@NonNls public static final String GRADLE_API_ARTIFACT_HANDLER = "org.gradle.api.artifacts.dsl.ArtifactHandler";
@NonNls public static final String GRADLE_API_PUBLISH_ARTIFACT = "org.gradle.api.artifacts.PublishArtifact";
@NonNls public static final String GRADLE_API_DEPENDENCY_HANDLER = "org.gradle.api.artifacts.dsl.DependencyHandler";
@NonNls public static final String GRADLE_API_COMPONENT_METADATA_HANDLER = "org.gradle.api.artifacts.dsl.ComponentMetadataHandler";
@NonNls public static final String GRADLE_API_COMPONENT_MODULE_METADATA_HANDLER = "org.gradle.api.artifacts.dsl.ComponentModuleMetadataHandler";
@NonNls public static final String GRADLE_API_COMPONENT_MODULE_METADATA_DETAILS = "org.gradle.api.artifacts.ComponentModuleMetadataDetails";
@NonNls public static final String GRADLE_API_ARTIFACTS_EXTERNAL_MODULE_DEPENDENCY = "org.gradle.api.artifacts.ExternalModuleDependency";
@NonNls public static final String GRADLE_API_ARTIFACTS_CLIENT_MODULE_DEPENDENCY = "org.gradle.api.artifacts.ClientModule";
@NonNls public static final String GRADLE_API_ARTIFACTS_MODULE_DEPENDENCY = "org.gradle.api.artifacts.ModuleDependency";
@@ -44,6 +44,9 @@ class GradleDependenciesContributor : GradleMethodContextContributor {
psiMethod(GRADLE_API_SCRIPT_HANDLER, "dependencies")))
val dependencyConfigurationClosure = groovyClosure().inMethod(psiMethod(GRADLE_API_DEPENDENCY_HANDLER, "add"))
val moduleDependencyConfigurationClosure = groovyClosure().inMethod(psiMethod(GRADLE_API_DEPENDENCY_HANDLER, "module"))
val modulesClosure = groovyClosure().inMethod(psiMethod(GRADLE_API_DEPENDENCY_HANDLER, "modules"))
val componentsClosure = groovyClosure().inMethod(psiMethod(GRADLE_API_DEPENDENCY_HANDLER, "components"))
val moduleClosure = groovyClosure().inMethod(psiMethod(GRADLE_API_COMPONENT_MODULE_METADATA_HANDLER, "module"))
}
override fun getDelegatesToInfo(closure: GrClosableBlock): DelegatesToInfo? {
@@ -56,6 +59,15 @@ class GradleDependenciesContributor : GradleMethodContextContributor {
if (dependenciesClosure.accepts(closure)) {
return DelegatesToInfo(TypesUtil.createType(GRADLE_API_DEPENDENCY_HANDLER, closure), Closure.DELEGATE_FIRST)
}
if (modulesClosure.accepts(closure)) {
return DelegatesToInfo(TypesUtil.createType(GRADLE_API_COMPONENT_MODULE_METADATA_HANDLER, closure), Closure.DELEGATE_FIRST)
}
if (moduleClosure.accepts(closure)) {
return DelegatesToInfo(TypesUtil.createType(GRADLE_API_COMPONENT_MODULE_METADATA_DETAILS, closure), Closure.DELEGATE_FIRST)
}
if (componentsClosure.accepts(closure)) {
return DelegatesToInfo(TypesUtil.createType(GRADLE_API_COMPONENT_METADATA_HANDLER, closure), Closure.DELEGATE_FIRST)
}
return null
}