Skip to content

Commit 7ea418f

Browse files
committed
Remove Guava dependency
This is used by recentest Maven with android flavor. We don't really know when Guava will break things (even if they have changed their mind these years...). There was no strong usage on it so we will be better without an additional dependency 😇.
1 parent f99c56f commit 7ea418f

12 files changed

+187
-72
lines changed

pom.xml

-5
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,6 @@
7474
<artifactId>maven-plugin-annotations</artifactId>
7575
<scope>provided</scope>
7676
</dependency>
77-
<dependency>
78-
<groupId>com.google.guava</groupId>
79-
<artifactId>guava</artifactId>
80-
<version>11.0.2</version>
81-
</dependency>
8277
</dependencies>
8378

8479
<build>

src/main/java/org/codehaus/mojo/buildplan/Groups.java

+11-12
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,18 @@
1515
*/
1616
package org.codehaus.mojo.buildplan;
1717

18-
import com.google.common.base.Strings;
19-
import com.google.common.collect.LinkedListMultimap;
20-
import com.google.common.collect.Multimap;
18+
import static org.codehaus.mojo.buildplan.util.Objects.firstNonNull;
19+
import static org.codehaus.plexus.util.StringUtils.isEmpty;
20+
21+
import java.util.Collections;
22+
import java.util.List;
2123
import org.apache.maven.lifecycle.DefaultLifecycles;
2224
import org.apache.maven.lifecycle.Lifecycle;
2325
import org.apache.maven.plugin.MojoExecution;
26+
import org.codehaus.mojo.buildplan.util.LinkedMultimap;
27+
import org.codehaus.mojo.buildplan.util.Multimap;
2428
import org.codehaus.plexus.logging.console.ConsoleLogger;
2529

26-
import java.util.Collections;
27-
import java.util.List;
28-
29-
import static com.google.common.base.Objects.firstNonNull;
30-
3130
public class Groups {
3231

3332
public static class ByPlugin {
@@ -37,8 +36,8 @@ public static Multimap<String, MojoExecution> of(List<MojoExecution> executions)
3736
}
3837

3938
public static Multimap<String,MojoExecution> of(List<MojoExecution> executions, String artifactIdFilter) {
40-
Multimap<String, MojoExecution> result = LinkedListMultimap.create();
41-
boolean notFiltering = Strings.isNullOrEmpty(artifactIdFilter);
39+
Multimap<String, MojoExecution> result = new LinkedMultimap<>();
40+
boolean notFiltering = isEmpty(artifactIdFilter);
4241
for (MojoExecution execution : executions) {
4342
if (notFiltering || execution.getArtifactId().equalsIgnoreCase(artifactIdFilter)) {
4443
result.put(execution.getArtifactId(), execution);
@@ -59,8 +58,8 @@ public static Multimap<String, MojoExecution> of(List<MojoExecution> executions,
5958
}
6059

6160
public static Multimap<String, MojoExecution> of(List<MojoExecution> executions, Options options) {
62-
Multimap<String, MojoExecution> result = LinkedListMultimap.create();
63-
boolean notFiltering = Strings.isNullOrEmpty(options.phase);
61+
Multimap<String, MojoExecution> result = new LinkedMultimap<>();
62+
boolean notFiltering = isEmpty(options.phase);
6463
for (MojoExecution execution : executions) {
6564
String phase = firstNonNull(execution.getLifecyclePhase(), "<no phase>");
6665
if (options.showingAllPhases) {

src/main/java/org/codehaus/mojo/buildplan/ListMojo.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package org.codehaus.mojo.buildplan;
1717

18-
import com.google.common.base.Strings;
1918

2019
import static org.codehaus.mojo.buildplan.display.Output.lineSeparator;
2120
import static org.codehaus.mojo.buildplan.display.TableColumn.ARTIFACT_ID;
@@ -32,6 +31,7 @@
3231
import org.codehaus.mojo.buildplan.display.ListTableDescriptor;
3332
import org.codehaus.mojo.buildplan.display.MojoExecutionDisplay;
3433
import org.codehaus.mojo.buildplan.display.TableDescriptor;
34+
import org.codehaus.plexus.util.StringUtils;
3535

3636
/**
3737
* List plugin executions for the current project.
@@ -99,6 +99,6 @@ private String tableHead(String row) {
9999
}
100100

101101
private String titleSeparator(TableDescriptor descriptor) {
102-
return Strings.repeat("-", descriptor.width());
102+
return StringUtils.repeat("-", descriptor.width());
103103
}
104104
}

src/main/java/org/codehaus/mojo/buildplan/ListPhaseMojo.java

+8-10
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,12 @@
1515
*/
1616
package org.codehaus.mojo.buildplan;
1717

18-
import com.google.common.base.Strings;
19-
import com.google.common.collect.Multimap;
18+
import static java.util.Collections.emptyList;
19+
import static java.util.Collections.emptyMap;
20+
import static org.codehaus.mojo.buildplan.display.Output.lineSeparator;
2021

22+
import java.util.Collection;
23+
import java.util.Map;
2124
import org.apache.maven.lifecycle.Lifecycle;
2225
import org.apache.maven.plugin.MojoExecution;
2326
import org.apache.maven.plugin.MojoFailureException;
@@ -26,13 +29,8 @@
2629
import org.codehaus.mojo.buildplan.display.ListPhaseTableDescriptor;
2730
import org.codehaus.mojo.buildplan.display.MojoExecutionDisplay;
2831
import org.codehaus.mojo.buildplan.display.TableDescriptor;
29-
30-
import java.util.Collection;
31-
import java.util.Map;
32-
33-
import static java.util.Collections.emptyList;
34-
import static java.util.Collections.emptyMap;
35-
import static org.codehaus.mojo.buildplan.display.Output.lineSeparator;
32+
import org.codehaus.mojo.buildplan.util.Multimap;
33+
import org.codehaus.plexus.util.StringUtils;
3634

3735
/**
3836
* List plugin executions by phase for the current project.
@@ -100,6 +98,6 @@ private String line(String rowFormat, MojoExecution execution) {
10098
}
10199

102100
private String phaseTitleLine(TableDescriptor descriptor, String key) {
103-
return key + " " + Strings.repeat("-", descriptor.width() - key.length());
101+
return key + " " + StringUtils.repeat("-", descriptor.width() - key.length());
104102
}
105103
}

src/main/java/org/codehaus/mojo/buildplan/ListPluginMojo.java

+7-8
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,20 @@
1515
*/
1616
package org.codehaus.mojo.buildplan;
1717

18-
import com.google.common.base.Strings;
19-
import com.google.common.collect.Multimap;
18+
import static org.codehaus.mojo.buildplan.display.Output.lineSeparator;
2019

20+
import java.util.Collection;
21+
import java.util.Map;
2122
import org.apache.maven.plugin.MojoExecution;
2223
import org.apache.maven.plugin.MojoFailureException;
2324
import org.apache.maven.plugins.annotations.Mojo;
2425
import org.apache.maven.plugins.annotations.Parameter;
26+
import org.codehaus.mojo.buildplan.Groups.ByPlugin;
2527
import org.codehaus.mojo.buildplan.display.ListPluginTableDescriptor;
2628
import org.codehaus.mojo.buildplan.display.MojoExecutionDisplay;
2729
import org.codehaus.mojo.buildplan.display.TableDescriptor;
28-
29-
import static org.codehaus.mojo.buildplan.display.Output.lineSeparator;
30-
31-
import java.util.Collection;
32-
import java.util.Map;
30+
import org.codehaus.mojo.buildplan.util.Multimap;
31+
import org.codehaus.plexus.util.StringUtils;
3332

3433
/**
3534
* List plugin executions by plugin for the current project.
@@ -74,6 +73,6 @@ private String line(String rowFormat, MojoExecution execution) {
7473
}
7574

7675
private String pluginTitleLine(TableDescriptor descriptor, String key) {
77-
return key + " " + Strings.repeat("-", descriptor.width() - key.length());
76+
return key + " " + StringUtils.repeat("-", descriptor.width() - key.length());
7877
}
7978
}

src/main/java/org/codehaus/mojo/buildplan/display/AbstractTableDescriptor.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,26 @@
1515
*/
1616
package org.codehaus.mojo.buildplan.display;
1717

18-
import com.google.common.base.Strings;
19-
import com.google.common.collect.ArrayListMultimap;
20-
import com.google.common.collect.Multimap;
21-
import org.apache.maven.lifecycle.DefaultLifecycles;
22-
import org.apache.maven.lifecycle.Lifecycle;
23-
import org.apache.maven.plugin.MojoExecution;
24-
import org.apache.maven.plugin.descriptor.MojoDescriptor;
18+
import static org.codehaus.plexus.util.StringUtils.defaultString;
2519

2620
import java.util.Collection;
2721
import java.util.Collections;
2822
import java.util.HashMap;
2923
import java.util.Map;
24+
import org.apache.maven.lifecycle.DefaultLifecycles;
25+
import org.apache.maven.lifecycle.Lifecycle;
26+
import org.apache.maven.plugin.MojoExecution;
27+
import org.apache.maven.plugin.descriptor.MojoDescriptor;
28+
import org.codehaus.mojo.buildplan.util.LinkedMultimap;
29+
import org.codehaus.mojo.buildplan.util.Multimap;
3030

3131
public abstract class AbstractTableDescriptor implements TableDescriptor {
3232

3333
protected static Map<TableColumn, Integer> findMaxSize(Collection<MojoExecution> executions, DefaultLifecycles defaultLifecycles, TableColumn... columns) {
3434

3535
Map<TableColumn, Integer> result = new HashMap<>();
3636

37-
Multimap<TableColumn, Integer> count = ArrayListMultimap.create();
37+
Multimap<TableColumn, Integer> count = new LinkedMultimap<>();
3838
for (MojoExecution execution : executions) {
3939
for (TableColumn column : columns) {
4040
switch (column) {
@@ -76,6 +76,6 @@ public static String phase(MojoExecution execution) {
7676
}
7777

7878
private static int safeLength(String string) {
79-
return Strings.nullToEmpty(string).length();
79+
return defaultString(string).length();
8080
}
8181
}

src/main/java/org/codehaus/mojo/buildplan/display/ListTableDescriptor.java

+12-12
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,11 @@
1515
*/
1616
package org.codehaus.mojo.buildplan.display;
1717

18-
import org.apache.maven.lifecycle.DefaultLifecycles;
19-
import org.apache.maven.plugin.MojoExecution;
20-
2118
import java.util.Collection;
2219
import java.util.Map;
23-
24-
import static com.google.common.base.Objects.toStringHelper;
20+
import java.util.StringJoiner;
21+
import org.apache.maven.lifecycle.DefaultLifecycles;
22+
import org.apache.maven.plugin.MojoExecution;
2523

2624
public class ListTableDescriptor extends AbstractTableDescriptor {
2725

@@ -66,13 +64,15 @@ public int width() {
6664

6765
@Override
6866
public String toString() {
69-
return toStringHelper(this).add("Plugin column size", getPluginSize())
70-
.add("Phase column size", getPhaseSize())
71-
.add("Lifecycle column size", getLifecycleSize())
72-
.add("Execution ID column size", getExecutionIdSize())
73-
.add("Goal column size", getGoalSize())
74-
.add("width", width())
75-
.toString();
67+
return new StringJoiner(", ", ListTableDescriptor.class.getSimpleName() + "[", "]")
68+
.add("Plugin column size=" + pluginSize)
69+
.add("Phase column size=" + phaseSize)
70+
.add("Lifecycle column size=" + lifecycleSize)
71+
.add("Execution ID column size=" + executionIdSize)
72+
.add("Goal column size=" + goalSize)
73+
.add("width=" + width())
74+
.toString();
75+
7676
}
7777

7878
public int getPluginSize() {

src/main/java/org/codehaus/mojo/buildplan/display/MojoExecutionDisplay.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
*/
1616
package org.codehaus.mojo.buildplan.display;
1717

18+
import static org.codehaus.plexus.util.StringUtils.defaultString;
19+
1820
import org.apache.maven.lifecycle.DefaultLifecycles;
1921
import org.apache.maven.lifecycle.Lifecycle;
2022
import org.apache.maven.plugin.MojoExecution;
2123

22-
import static com.google.common.base.Strings.nullToEmpty;
23-
2424
public class MojoExecutionDisplay {
2525

2626
private final MojoExecution execution;
@@ -30,23 +30,23 @@ public MojoExecutionDisplay(MojoExecution execution) {
3030
}
3131

3232
public String getPhase() {
33-
return nullToEmpty(execution.getLifecyclePhase());
33+
return defaultString(execution.getLifecyclePhase());
3434
}
3535

3636
public String getLifecycle(DefaultLifecycles defaultLifecycles) {
3737
Lifecycle lifecycle = defaultLifecycles.get(execution.getLifecyclePhase());
38-
return nullToEmpty(lifecycle == null ? null : lifecycle.getId());
38+
return defaultString(lifecycle == null ? null : lifecycle.getId());
3939
}
4040

4141
public String getArtifactId() {
42-
return nullToEmpty(execution.getArtifactId());
42+
return defaultString(execution.getArtifactId());
4343
}
4444

4545
public String getGoal() {
46-
return nullToEmpty(execution.getGoal());
46+
return defaultString(execution.getGoal());
4747
}
4848

4949
public String getExecutionId() {
50-
return nullToEmpty(execution.getExecutionId());
50+
return defaultString(execution.getExecutionId());
5151
}
5252
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
/**
2+
* Copyright (C) 2012 Jean-Christophe Gay (contact@jeanchristophegay.com)
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package org.codehaus.mojo.buildplan.util;
17+
18+
import static java.util.stream.Collectors.toList;
19+
20+
import java.util.ArrayList;
21+
import java.util.Collection;
22+
import java.util.LinkedHashMap;
23+
import java.util.Map;
24+
import java.util.Set;
25+
26+
public class LinkedMultimap<K, V> implements Multimap<K, V> {
27+
28+
private final Map<K, Collection<V>> map = new LinkedHashMap<>();
29+
30+
@Override
31+
public Set<K> keySet() {
32+
return map.keySet();
33+
}
34+
35+
@Override
36+
public Collection<V> get(K key) {
37+
return map.get(key);
38+
}
39+
40+
@Override
41+
public boolean put(K key, V value) {
42+
map.computeIfAbsent(key, k -> new ArrayList<>());
43+
return map.get(key).add(value);
44+
}
45+
46+
@Override
47+
public Map<K, Collection<V>> asMap() {
48+
return map;
49+
}
50+
51+
@Override
52+
public boolean isEmpty() {
53+
return map.isEmpty();
54+
}
55+
56+
@Override
57+
public Collection<V> values() {
58+
return map.values().stream()
59+
.flatMap(Collection::stream)
60+
.collect(toList());
61+
}
62+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* Copyright (C) 2012 Jean-Christophe Gay (contact@jeanchristophegay.com)
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package org.codehaus.mojo.buildplan.util;
17+
18+
import java.util.Collection;
19+
import java.util.Map;
20+
import java.util.Set;
21+
22+
public interface Multimap<K, V> {
23+
24+
Set<K> keySet();
25+
26+
Collection<V> get(K key);
27+
28+
boolean put(K key, V value);
29+
30+
Map<K, Collection<V>> asMap();
31+
32+
boolean isEmpty();
33+
34+
Collection<V> values();
35+
}

0 commit comments

Comments
 (0)