@Override protected BaseVariant getBaseVariant() { LibraryExtension libraryExtension = (LibraryExtension) getAndroidExtension(); Optional<LibraryVariant> baseVariantOptional = libraryExtension .getLibraryVariants() .stream() .filter(variant -> variant.getName().equals(getName())) .findFirst(); Preconditions.checkArgument(baseVariantOptional.isPresent()); return baseVariantOptional.get(); }
@Override Map<String, String> getResVariantDirs() { Map<String, String> variantDirs = new HashMap<>(); getLibraryVariant() .getSourceSets() .forEach( provider -> getAvailable(provider.getResDirectories()) .forEach(dir -> variantDirs.put(dir, provider.getName()))); return variantDirs; }
@Override protected BaseVariant getBaseVariant() { return getLibraryVariant().getTestVariant(); }
@Override protected void configurePlugin() { getProject().getDependencies().add(CONFIGURATION, "org.aspectj:aspectjrt:" + ASPECTJ_VERSION); getProject().getDependencies().add(CONFIGURATION, "com.quanturium.bouquet:bouquet-runtime:" + BOUQUET_VERSION); getProject().getDependencies().add(CONFIGURATION, "com.quanturium.bouquet:bouquet-runtime-android:" + BOUQUET_VERSION); BaseExtension androidExtension = (BaseExtension) getProject().getExtensions().getByName("android"); if (!((BouquetExtension) getProject().getExtensions().getByName(BOUQUET_EXTENSION)).isEnabled()) { getProject().getLogger().debug("Skipping weaving. Bouquet is not enabled"); return; } AspectJAndroidTransform aspectJAndroidTransform = new AspectJAndroidTransform(getProject(), androidExtension); androidExtension.registerTransform(aspectJAndroidTransform); // Add variants that we want to weave if (getProjectType() == ProjectType.ANDROID_APP) { ((AppExtension) androidExtension).getApplicationVariants().all(applicationVariant -> { if (applicationVariant.getBuildType().isDebuggable()) { aspectJAndroidTransform.addVariant(applicationVariant); } }); } else if (getProjectType() == ProjectType.ANDROID_LIBRARY) { ((LibraryExtension) androidExtension).getLibraryVariants().all(libraryVariant -> { if (libraryVariant.getBuildType().isDebuggable()) { aspectJAndroidTransform.addVariant(libraryVariant); } }); } }
private LibraryVariant getLibraryVariant() { LibraryExtension libraryExtension = (LibraryExtension) getAndroidExtension(); Set<LibraryVariant> libraryVariants = libraryExtension .getLibraryVariants() .matching( libraryVariant -> libraryVariant.getName().equals(getMainTargetName(getName()))); Preconditions.checkArgument(libraryVariants.size() > 0); return libraryVariants.iterator().next(); } }
t = ((ApplicationVariant) v).getTestVariant(); } else { t = ((LibraryVariant) v).getTestVariant();
.collect( ImmutableMap.toImmutableMap( BaseVariant::getName, v -> new AndroidLibTarget(project, v.getName()))); break; case KOTLIN_LIB: