@InputFiles @Classpath FileCollection getJarDependencies() { //Thanks to Xavier Durcrohet for this //https://android.googlesource.com/platform/tools/base/+/gradle_3.0.0/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/scope/VariantScopeImpl.java#1037 Action<AttributeContainer> attributes = container -> container.attribute(ARTIFACT_TYPE, AndroidArtifacts.ArtifactType.CLASSES.getType()); boolean lenientMode = false; return variant .getCompileConfiguration() .getIncoming() .artifactView( config -> { config.attributes(attributes); config.lenient(lenientMode); }) .getArtifacts() .getArtifactFiles(); }
private static Set<ResolvedArtifactResult> getArtifacts( Configuration configuration, String value, Spec<ComponentIdentifier> filter) { return configuration .getIncoming() .artifactView( config -> { config.attributes( container -> container.attribute(Attribute.of("artifactType", String.class), value)); config.componentFilter(filter); }) .getArtifacts() .getArtifacts(); }