Skip to content

Commit dc8593b

Browse files
authored
Merge branch 'master' into pom-multiple-license
2 parents 51fe67f + 2f233d0 commit dc8593b

File tree

4 files changed

+83
-3
lines changed

4 files changed

+83
-3
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.idea/
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
## Changelog
2+
To see the changelog please visit the [Firebase Website](https://firebase.google.com/support/release-notes/android).

oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ class DependencyTask extends DefaultTask {
4545
private static final String ANDROID_TEST_PREFIX = "androidTest"
4646
private static final Set<String> TEST_COMPILE = ["testCompile",
4747
"androidTestCompile"]
48+
49+
private static final Set<String> PACKAGED_DEPENDENCIES_PREFIXES = ["compile",
50+
"implementation",
51+
"api"]
52+
4853
@Input
4954
public ConfigurationContainer configurations
5055

@@ -149,13 +154,28 @@ class DependencyTask extends DefaultTask {
149154
return isTestConfiguration
150155
}
151156

157+
/**
158+
* Checks if the configuration is for a packaged dependency (rather than e.g. a build or test time dependency)
159+
* @param configuration
160+
* @return true if the configuration is in the set of @link #BINARY_DEPENDENCIES
161+
*/
162+
protected boolean isPackagedDependency(Configuration configuration) {
163+
boolean isPackagedDependency = PACKAGED_DEPENDENCIES_PREFIXES.any {
164+
configuration.name.startsWith(it)
165+
}
166+
167+
return isPackagedDependency
168+
}
169+
152170
protected Set<ResolvedArtifact> getResolvedArtifacts(
153171
Configuration configuration) {
154172
/**
155-
* skip the configurations that are either cannot be resolved in
156-
* newer version of gradle api or are tests.
173+
* skip the configurations that, cannot be resolved in
174+
* newer version of gradle api, are tests, or are not packaged dependencies.
157175
*/
158-
if (!canBeResolved(configuration) || isTest(configuration)) {
176+
if (!canBeResolved(configuration)
177+
|| isTest(configuration)
178+
|| !isPackagedDependency(configuration)) {
159179
return null
160180
}
161181

oss-licenses-plugin/src/test/java/com/google/android/gms/oss/licenses/plugin/DependencyTaskTest.java

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,63 @@ public void testGetResolvedArtifacts_isTest() {
124124
assertThat(dependencyTask.getResolvedArtifacts(configuration), is(nullValue()));
125125
}
126126

127+
@Test
128+
public void testGetResolvedArtifacts_isNotPackaged() {
129+
Set<ResolvedArtifact> artifactSet = (Set<ResolvedArtifact>) mock(Set.class);
130+
ResolvedConfiguration resolvedConfiguration = mock(ResolvedConfiguration.class);
131+
when(resolvedConfiguration.getResolvedArtifacts()).thenReturn(artifactSet);
132+
133+
Configuration configuration = mock(Configuration.class);
134+
when(configuration.getName()).thenReturn("annotationProcessor");
135+
when(configuration.isCanBeResolved()).thenReturn(true);
136+
when(configuration.getResolvedConfiguration()).thenReturn(resolvedConfiguration);
137+
138+
assertThat(dependencyTask.getResolvedArtifacts(configuration), is(nullValue()));
139+
}
140+
141+
@Test
142+
public void testGetResolvedArtifacts_isPackagedApi() {
143+
Set<ResolvedArtifact> artifactSet = (Set<ResolvedArtifact>) mock(Set.class);
144+
ResolvedConfiguration resolvedConfiguration = mock(ResolvedConfiguration.class);
145+
when(resolvedConfiguration.getResolvedArtifacts()).thenReturn(artifactSet);
146+
147+
Configuration configuration = mock(Configuration.class);
148+
when(configuration.getName()).thenReturn("api");
149+
when(configuration.isCanBeResolved()).thenReturn(true);
150+
when(configuration.getResolvedConfiguration()).thenReturn(resolvedConfiguration);
151+
152+
assertThat(dependencyTask.getResolvedArtifacts(configuration), is(artifactSet));
153+
}
154+
155+
@Test
156+
public void testGetResolvedArtifacts_isPackagedImplementation() {
157+
Set<ResolvedArtifact> artifactSet = (Set<ResolvedArtifact>) mock(Set.class);
158+
ResolvedConfiguration resolvedConfiguration = mock(ResolvedConfiguration.class);
159+
when(resolvedConfiguration.getResolvedArtifacts()).thenReturn(artifactSet);
160+
161+
Configuration configuration = mock(Configuration.class);
162+
when(configuration.getName()).thenReturn("implementation");
163+
when(configuration.isCanBeResolved()).thenReturn(true);
164+
when(configuration.getResolvedConfiguration()).thenReturn(resolvedConfiguration);
165+
166+
assertThat(dependencyTask.getResolvedArtifacts(configuration), is(artifactSet));
167+
}
168+
169+
@Test
170+
public void testGetResolvedArtifacts_isPackagedCompile() {
171+
Set<ResolvedArtifact> artifactSet = (Set<ResolvedArtifact>) mock(Set.class);
172+
ResolvedConfiguration resolvedConfiguration = mock(ResolvedConfiguration.class);
173+
when(resolvedConfiguration.getResolvedArtifacts()).thenReturn(artifactSet);
174+
175+
Configuration configuration = mock(Configuration.class);
176+
when(configuration.getName()).thenReturn("compile");
177+
when(configuration.isCanBeResolved()).thenReturn(true);
178+
when(configuration.getResolvedConfiguration()).thenReturn(resolvedConfiguration);
179+
180+
assertThat(dependencyTask.getResolvedArtifacts(configuration), is(artifactSet));
181+
}
182+
183+
127184
@Test
128185
public void testGetResolvedArtifacts_ResolveException() {
129186
ResolvedConfiguration resolvedConfiguration = mock(ResolvedConfiguration.class);

0 commit comments

Comments
 (0)