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(); } }
public static void forEachVariant(BaseExtension extension, Action<BaseVariant> action) { if (extension instanceof AppExtension) { ((AppExtension)extension).getApplicationVariants().all(action); } else if (extension instanceof LibraryExtension) { ((LibraryExtension)extension).getLibraryVariants().all(action); if (extension instanceof FeatureExtension) { ((FeatureExtension)extension).getFeatureVariants().all(action); } } else if (extension instanceof TestExtension) { ((TestExtension)extension).getApplicationVariants().all(action); } if (extension instanceof TestedExtension) { ((TestedExtension)extension).getTestVariants().all(action); ((TestedExtension)extension).getUnitTestVariants().all(action); } }
@Override protected <S extends T> DefaultDomainObjectSet<S> filtered(CollectionFilter<S> filter) { return new DefaultDomainObjectSet<S>(this, filter); }
@Override public DomainObjectSet<T> matching(Spec<? super T> spec) { return filtered(createFilter(spec)); }
protected DefaultDomainObjectSet(DefaultDomainObjectSet<? super T> store, CollectionFilter<T> filter) { this(filter.getType(), store.filteredStore(filter), store.filteredEvents(filter)); }
} else if(project.getPlugins().hasPlugin(LibraryPlugin.class)) { LibraryExtension android1 = project.getExtensions().getByType(LibraryExtension.class); android1.getLibraryVariants().all(variant -> addGeneratorTask(variant, generatorTask, genDir));
/** * Wraps the given items in a mutable domain object set. */ public static <T> DomainObjectSet<T> toDomainObjectSet(Class<T> type, T... items) { return new DefaultDomainObjectSet<T>(type, toSet(items)); }
@Override public <S extends T> DomainObjectSet<S> withType(Class<S> type) { return filtered(createFilter(type)); }
private void useHackedAndroidJar(BaseExtension android) { if (android instanceof LibraryExtension) { ((LibraryExtension)android).getLibraryVariants().all(libraryVariant -> useHackedAndroidJar(libraryVariant)); ((LibraryExtension)android).getTestVariants().all(testVariant -> useHackedAndroidJar(testVariant)); ((LibraryExtension)android).getUnitTestVariants().all(unitTestVariant -> useHackedAndroidJar(unitTestVariant)); } else if (android instanceof AppExtension) { ((AppExtension)android).getApplicationVariants().all(applicationVariant -> useHackedAndroidJar(applicationVariant)); ((AppExtension)android).getTestVariants().all(testVariant -> useHackedAndroidJar(testVariant)); ((AppExtension)android).getUnitTestVariants().all(unitTestVariant -> useHackedAndroidJar(unitTestVariant)); } else if (android instanceof TestExtension) { ((TestExtension)android).getApplicationVariants().all(applicationVariant -> useHackedAndroidJar(applicationVariant)); } else { System.err.println("Skipping extension of type " + android.getClass().getSimpleName()); } }
public DomainObjectSet<PluginWithId> pluginsForId(String id) { PluginId pluginId = DefaultPluginId.unvalidated(id); DomainObjectSet<PluginWithId> pluginsForId = idMappings.get(pluginId); if (pluginsForId == null) { pluginsForId = new DefaultDomainObjectSet<PluginWithId>(PluginWithId.class, Sets.<PluginWithId>newLinkedHashSet()); idMappings.put(pluginId, pluginsForId); for (PluginImplementation<?> plugin : plugins.values()) { if (plugin.isAlsoKnownAs(pluginId)) { pluginsForId.add(new PluginWithId(pluginId, plugin.asClass())); } } } return pluginsForId; }
@Override public DomainObjectSet<T> matching(Closure spec) { return matching(Specs.<T>convertClosureToSpec(spec)); }
@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); } }); } }
public static <T> CompositeDomainObjectSet<T> create(Class<T> type, DomainObjectCollection<? extends T>... collections) { //noinspection unchecked DefaultDomainObjectSet<T> backingSet = new DefaultDomainObjectSet<T>(type, new DomainObjectCompositeCollection()); CompositeDomainObjectSet<T> out = new CompositeDomainObjectSet<T>(backingSet); for (DomainObjectCollection<? extends T> c : collections) { out.addCollection(c); } return out; }