in analyzer/src/main/java/com/android/tools/sizereduction/analyzer/suggesters/bundles/BundleSplitSuggester.java [138:210]
public ImmutableList<Suggestion> processProject(GradleContext context, File projectDir) {
ImmutableList.Builder<Suggestion> suggestions = ImmutableList.builder();
if (context.getPluginType() != GradleContext.PluginType.APPLICATION) {
return suggestions.build();
}
AndroidPluginVersion pluginVersion = context.getAndroidPluginVersion();
if (pluginVersion != null) {
System.out.println(pluginVersion.getMajorVersion());
System.out.println(pluginVersion.getMinorVersion());
}
System.out.println(pluginVersion);
if (pluginVersion != null
&& pluginVersion.compareTo(AndroidPluginVersion.create("3.2.0")) < 0) {
suggestions.add(
Suggestion.create(
IssueType.BUNDLES_OLD_GRADLE_PLUGIN,
Category.BUNDLE_CONFIG,
Payload.getDefaultInstance(),
OLD_GRADLE_PLUGIN_MESSAGE,
/* estimatedBytesSaved= */ null,
/* autoFix= */ null));
return suggestions.build();
}
BundleConfig bundleConfig = context.getBundleConfig();
if (!bundleConfig.getAbiSplitEnabled()) {
suggestions.add(
Suggestion.create(
IssueType.BUNDLES_NO_ABI_SPLITTING,
Category.BUNDLE_CONFIG,
Payload.getDefaultInstance(),
NO_ABI_SPLITTING_MESSAGE,
/* estimatedBytesSaved= */ null,
new BundleSplitAutoFix(
projectDir,
context.getBundleConfig().getBundleConfigLocation().getAbiSplitLineNumber())));
}
if (!bundleConfig.getDensitySplitEnabled()) {
suggestions.add(
Suggestion.create(
IssueType.BUNDLES_NO_DENSITY_SPLITTING,
Category.BUNDLE_CONFIG,
Payload.getDefaultInstance(),
NO_DISPLAY_DENSITY_SPLITTING_MESSAGE,
/* estimatedBytesSaved= */ null,
new BundleSplitAutoFix(
projectDir,
context
.getBundleConfig()
.getBundleConfigLocation()
.getDensitySplitLineNumber())));
}
if (!bundleConfig.getLanguageSplitEnabled()) {
suggestions.add(
Suggestion.create(
IssueType.BUNDLES_NO_LANGUAGE_SPLITTING,
Category.BUNDLE_CONFIG,
Payload.getDefaultInstance(),
NO_LANGUAGE_SPLITTING_MESSAGE,
/* estimatedBytesSaved= */ null,
new BundleSplitAutoFix(
projectDir,
context
.getBundleConfig()
.getBundleConfigLocation()
.getLanguageSplitLineNumber())));
}
return suggestions.build();
}