public List<String> getIncludedVariantNames() { assert isVariantSpecific(); List<String> names = new ArrayList<>(); if (variants != null) { for (Variant variant : variants) { names.add(variant.getName()); } } Collections.sort(names); return names; }
public List<String> getExcludedVariantNames() { assert isVariantSpecific(); Collection<Variant> variants = gradleProject.getVariants(); Set<String> allVariants = new HashSet<>(variants.size()); for (Variant variant : variants) { allVariants.add(variant.getName()); } Set<String> included = new HashSet<>(getIncludedVariantNames()); Set<String> excluded = Sets.difference(allVariants, included); List<String> sorted = Lists.newArrayList(excluded); Collections.sort(sorted); return sorted; }
private static Variant findVariant(@NonNull AndroidProject project, @Nullable String variantName) { if (variantName != null) { for (Variant variant : project.getVariants()) { if (variantName.equals(variant.getName())) { return variant; } } } if (!project.getVariants().isEmpty()) { return project.getVariants().iterator().next(); } return null; } }
public void setVariantName(@NonNull String variantName) { ensureInitialized(); // For something like debugFreeSubscription, set the variant's build type // to "debug", and the flavor set to ["free", "subscription"] when(variant.getName()).thenReturn(variantName); Splitter splitter = Splitter.on('_'); List<String> flavors = Lists.newArrayList(); for (String s : splitter.split(SdkVersionInfo.camelCaseToUnderlines(variantName))) { BuildType buildType = getBuildType(s, false); //noinspection VariableNotUsedInsideIf if (buildType != null) { when(variant.getBuildType()).thenReturn(s); } else { ProductFlavor flavor = getProductFlavor(s, false); //noinspection VariableNotUsedInsideIf if (flavor != null) { flavors.add(s); } } } when(variant.getProductFlavors()).thenReturn(flavors); }
@TaskAction public void lint() throws IOException { AndroidProject modelProject = createAndroidProject(getProject()); if (getVariantName() != null && !getVariantName().isEmpty()) { for (Variant variant : modelProject.getVariants()) { if (variant.getName().equals(getVariantName())) { lintSingleVariant(modelProject, variant); } } } else { lintAllVariants(modelProject); } }
variant.getName()); if (project != null) { libraryProjects.put(library, project);
@Override @NonNull protected LintRequest createLintRequest(@NonNull List<File> files) { LintRequest lintRequest = new LintRequest(this, files); if (Lint.MODEL_LIBRARIES) { LintGradleProject.ProjectSearch search = new LintGradleProject.ProjectSearch(); Project project = search.getProject(this, gradleProject, variant.getName()); lintRequest.setProjects(Collections.singletonList(project)); setCustomRules(search.customViewRuleJars); } else { Pair<LintGradleProject,List<File>> result = LintGradleProject.create( this, modelProject, variant, gradleProject); lintRequest.setProjects(Collections.singletonList(result.getFirst())); setCustomRules(result.getSecond()); } return lintRequest; }
Collection<Variant> variants = androidProject.getVariants(); for (Variant variant : variants) { if (variantName.equals(variant.getName())) { return getProject(lintClient, androidProject, variant, gradleProject);
private static void syncOptions( @NonNull LintOptions options, @NonNull LintGradleClient client, @NonNull LintCliFlags flags, @Nullable Variant variant, @NonNull Project project, @Nullable File reportsDir, boolean report, boolean fatalOnly) { options.syncTo(client, flags, variant != null ? variant.getName() : null, project, reportsDir, report); boolean displayEmpty = !(fatalOnly || flags.isQuiet()); for (Reporter reporter : flags.getReporters()) { reporter.setDisplayEmpty(displayEmpty); } }