use of com.android.builder.model.AndroidProject in project kotlin by JetBrains.
the class RegistrationDetector method reportMissing.
private static void reportMissing(@NonNull JavaContext context, @NonNull PsiClass node, @NonNull String className, @NonNull String tag) {
if (tag.equals(TAG_RECEIVER)) {
// Receivers can be registered in code; don't flag these.
return;
}
// Don't flag activities registered in test source sets
if (context.getProject().isGradleProject()) {
AndroidProject model = context.getProject().getGradleProjectModel();
if (model != null) {
String javaSource = context.file.getPath();
for (SourceProviderContainer extra : model.getDefaultConfig().getExtraSourceProviders()) {
String artifactName = extra.getArtifactName();
if (AndroidProject.ARTIFACT_ANDROID_TEST.equals(artifactName)) {
for (File file : extra.getSourceProvider().getJavaDirectories()) {
if (SdkUtils.startsWithIgnoreCase(javaSource, file.getPath())) {
return;
}
}
}
}
for (ProductFlavorContainer container : model.getProductFlavors()) {
for (SourceProviderContainer extra : container.getExtraSourceProviders()) {
String artifactName = extra.getArtifactName();
if (AndroidProject.ARTIFACT_ANDROID_TEST.equals(artifactName)) {
for (File file : extra.getSourceProvider().getJavaDirectories()) {
if (SdkUtils.startsWithIgnoreCase(javaSource, file.getPath())) {
return;
}
}
}
}
}
}
}
Location location = context.getNameLocation(node);
String message = String.format("The `<%1$s> %2$s` is not registered in the manifest", tag, className);
context.report(ISSUE, node, location, message);
}
use of com.android.builder.model.AndroidProject in project gradle by gradle.
the class GetModel method execute.
@Override
public Map<String, AndroidProject> execute(BuildController controller) {
System.out.println("* Building models");
Timer timer = new Timer();
GradleBuild build = controller.getBuildModel();
Map<String, AndroidProject> result = new TreeMap<String, AndroidProject>();
for (BasicGradleProject project : build.getProjects()) {
AndroidProject androidProject = controller.findModel(project, AndroidProject.class);
result.put(project.getPath(), androidProject);
}
timer.stop();
System.out.println("building models took " + timer.duration());
// new Inspector().inspectModel(result);
return result;
}
Aggregations