Skip to content

Commit 3b2a221

Browse files
Only process Java-related configurations (#195)
1 parent f4606c5 commit 3b2a221

File tree

4 files changed

+18
-17
lines changed

4 files changed

+18
-17
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,14 @@ Gradle can be used to build projects developed in various programming languages.
6666

6767
```
6868
plugins {
69-
id 'org.sonatype.gradle.plugins.scan' version '3.1.0' // Update the version as needed
69+
id 'org.sonatype.gradle.plugins.scan' version '3.1.1' // Update the version as needed
7070
}
7171
```
7272

7373
- Or `build.gradle.kts`:
7474
```
7575
plugins {
76-
id ("org.sonatype.gradle.plugins.scan") version "3.1.0" // Update the version as needed
76+
id ("org.sonatype.gradle.plugins.scan") version "3.1.1" // Update the version as needed
7777
}
7878
```
7979

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@
1515
#
1616

1717
group=org.sonatype.gradle.plugins
18-
version=3.1.0-SNAPSHOT
18+
version=3.1.1-SNAPSHOT
1919
release.useAutomaticVersion=true

src/main/java/org/sonatype/gradle/plugins/scan/common/DependenciesFinder.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import org.gradle.api.artifacts.ResolvedArtifact;
4343
import org.gradle.api.artifacts.ResolvedDependency;
4444
import org.gradle.api.attributes.Attribute;
45+
import org.gradle.api.attributes.Usage;
4546
import org.gradle.api.plugins.PluginContainer;
4647
import org.gradle.internal.impldep.com.google.common.annotations.VisibleForTesting;
4748

@@ -276,6 +277,11 @@ private boolean isParent(
276277
}
277278

278279
private boolean isAcceptableConfiguration(Configuration configuration, boolean allConfigurations) {
280+
Usage usage = configuration.getAttributes().getAttribute(Usage.USAGE_ATTRIBUTE);
281+
if (usage != null && !usage.getName().equals(Usage.JAVA_API) && !usage.getName().equals(Usage.JAVA_RUNTIME)) {
282+
return false;
283+
}
284+
279285
if (allConfigurations) {
280286
return configuration.isCanBeResolved();
281287
}

src/test/java/org/sonatype/gradle/plugins/scan/common/DependenciesFinderTest.java

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,18 @@
2020
import java.util.HashSet;
2121
import java.util.List;
2222
import java.util.Set;
23-
import java.util.stream.Stream;
2423

2524
import com.sonatype.insight.scan.module.model.Artifact;
2625
import com.sonatype.insight.scan.module.model.Dependency;
2726
import com.sonatype.insight.scan.module.model.Module;
2827

2928
import com.google.common.collect.Sets;
3029
import org.gradle.api.Project;
31-
import org.gradle.api.artifacts.Configuration;
32-
import org.gradle.api.artifacts.ConfigurationContainer;
33-
import org.gradle.api.artifacts.ResolveException;
3430
import org.gradle.api.artifacts.ResolvedArtifact;
3531
import org.gradle.api.artifacts.ResolvedDependency;
3632
import org.gradle.api.artifacts.dsl.DependencyHandler;
33+
import org.gradle.api.attributes.Usage;
34+
import org.gradle.api.model.ObjectFactory;
3735
import org.gradle.testfixtures.ProjectBuilder;
3836
import org.junit.Before;
3937
import org.junit.Test;
@@ -46,7 +44,6 @@
4644
import static org.gradle.api.plugins.JavaPlugin.RUNTIME_ONLY_CONFIGURATION_NAME;
4745
import static org.gradle.api.plugins.JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME;
4846
import static org.mockito.Mockito.mock;
49-
import static org.mockito.Mockito.spy;
5047
import static org.mockito.Mockito.when;
5148

5249
public class DependenciesFinderTest
@@ -168,18 +165,16 @@ public void testFindResolvedDependencies_multiModuleProject() {
168165
}
169166

170167
@Test
171-
public void testFindResolvedDependencies_copyConfigurationAfterResolveException() {
172-
Project project = spy(buildProject(IMPLEMENTATION_CONFIGURATION_NAME, false));
173-
ConfigurationContainer configurationContainer = spy(project.getConfigurations());
174-
Configuration configuration = spy(configurationContainer.iterator().next());
168+
public void testFindResolvedDependencies_excludeNonJavaConfiguration() {
169+
Project project = buildProject("implementationDependenciesMetadata", true);
175170

176-
when(configuration.getResolvedConfiguration()).thenThrow(ResolveException.class);
177-
when(configurationContainer.stream()).thenReturn(Stream.of(configuration));
178-
when(project.getConfigurations()).thenReturn(configurationContainer);
179-
when(project.getAllprojects()).thenReturn(Sets.newHashSet(project));
171+
project.getConfigurations().getByName("implementationDependenciesMetadata").attributes(attributeContainer -> {
172+
ObjectFactory factory = project.getObjects();
173+
attributeContainer.attribute(Usage.USAGE_ATTRIBUTE, factory.named(Usage.class, Usage.NATIVE_LINK));
174+
});
180175

181176
Set<ResolvedDependency> result = finder.findResolvedDependencies(project, true, emptyMap(), false);
182-
assertThat(result).hasSize(1);
177+
assertThat(result).isEmpty();
183178
}
184179

185180
@Test

0 commit comments

Comments
 (0)