diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 07986a2b..7c785992 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -42,9 +42,5 @@
hamcrest-library
test
-
- org.mockito
- mockito-core
-
diff --git a/maven-plugin/src/main/java/org/openmrs/maven/plugins/RemoveDependency.java b/maven-plugin/src/main/java/org/openmrs/maven/plugins/RemoveDependency.java
index 726ff58f..cf65f35d 100644
--- a/maven-plugin/src/main/java/org/openmrs/maven/plugins/RemoveDependency.java
+++ b/maven-plugin/src/main/java/org/openmrs/maven/plugins/RemoveDependency.java
@@ -8,10 +8,9 @@
import org.openmrs.maven.plugins.model.DistroProperties;
import java.io.File;
-import java.util.Properties;
-import java.util.stream.Collectors;
+import java.util.ArrayList;
-@Mojo(name = "rm-dependency", requiresProject = false)
+@Mojo(name = "remove", requiresProject = false)
public class RemoveDependency extends AbstractTask {
/**
@@ -34,28 +33,33 @@ public void executeTask() throws MojoExecutionException, MojoFailureException {
File distroFile = new File(userDir, DistroProperties.DISTRO_FILE_NAME);
if (distroFile.exists()) {
distro = distroFile.getAbsolutePath();
+ } else {
+ throw new MojoFailureException("Please specify a distro file");
}
}
- Properties properties = new Properties();
+ DistroProperties properties = null;
if (StringUtils.isNotBlank(distro)) {
- properties = distroHelper.resolveDistroPropertiesForStringSpecifier(distro, versionsHelper).getProperties();
+ properties = distroHelper.resolveDistroPropertiesForStringSpecifier(distro, versionsHelper);
}
+ if (properties == null) {
+ throw new MojoFailureException("Invalid distro file");
+ }
+
if (StringUtils.isBlank(property)) {
property = wizard.promptForMissingValueWithOptions("Enter the property you want to remove",
- null, null, properties.keySet().stream().map(prop -> (String) prop).collect(Collectors.toList()));
+ null, null, new ArrayList<>(properties.getPropertyNames()));
}
if (StringUtils.isNotBlank(property)) {
- if (!properties.containsKey(property)) {
+ if (!properties.getPropertyNames().contains(property)) {
throw new MojoExecutionException("The property " + property + " was not found in the distro");
}
- properties.remove(property);
- DistroProperties distroProperties = new DistroProperties(properties);
- distroProperties.saveTo(new File(distro).getParentFile());
+ properties.removeProperty(property);
+ properties.saveTo(new File(distro).getParentFile());
}
}
}
diff --git a/sdk-commons/src/main/java/org/openmrs/maven/plugins/model/DistroProperties.java b/sdk-commons/src/main/java/org/openmrs/maven/plugins/model/DistroProperties.java
index d57ddad1..9c6f8b7e 100644
--- a/sdk-commons/src/main/java/org/openmrs/maven/plugins/model/DistroProperties.java
+++ b/sdk-commons/src/main/java/org/openmrs/maven/plugins/model/DistroProperties.java
@@ -271,8 +271,12 @@ public List getExclusions() {
return Arrays.asList(exclusions.split(","));
}
- public Properties getProperties() {
- return properties;
+ public Set getPropertyNames() {
+ return properties.stringPropertyNames();
+ }
+
+ public void removeProperty(String property) {
+ properties.remove(property);
}
private String getPlaceholderKey(String string){