diff --git a/archetype-module-content/src/main/resources/META-INF/maven/archetype-metadata.xml b/archetype-module-content/src/main/resources/META-INF/maven/archetype-metadata.xml
index 611a77ae..9933cdf3 100644
--- a/archetype-module-content/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/archetype-module-content/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -18,7 +18,6 @@
-
diff --git a/archetype-module-content/src/main/resources/archetype-resources/pom.xml b/archetype-module-content/src/main/resources/archetype-resources/pom.xml
index ca113c39..cf649283 100644
--- a/archetype-module-content/src/main/resources/archetype-resources/pom.xml
+++ b/archetype-module-content/src/main/resources/archetype-resources/pom.xml
@@ -3,8 +3,9 @@
${groupId}
${artifactId}
${version}
- {moduleName}
pom
+ ${moduleName}
+ ${moduleDescription}
OpenMRS
diff --git a/archetype-module-content/src/test/resources/projects/basic/archetype.properties b/archetype-module-content/src/test/resources/projects/basic/archetype.properties
index 06b3357f..4dc32909 100644
--- a/archetype-module-content/src/test/resources/projects/basic/archetype.properties
+++ b/archetype-module-content/src/test/resources/projects/basic/archetype.properties
@@ -1,7 +1,6 @@
-moduleName=basic
+moduleName=content package
moduleDescription=Basic Content Package Module. Useful for creating other Content Packages i.e hiv,...
groupId=org.openmrs.content
artifactId=content-package
-openmrsContentPackageVersion=1.0.0
package=org.openmrs.content.content-package
version=1.0.0-SNAPSHOT
diff --git a/archetype-module-content/src/test/resources/projects/basic/reference/pom.xml b/archetype-module-content/src/test/resources/projects/basic/reference/pom.xml
index f8e1ef12..967acd62 100644
--- a/archetype-module-content/src/test/resources/projects/basic/reference/pom.xml
+++ b/archetype-module-content/src/test/resources/projects/basic/reference/pom.xml
@@ -3,8 +3,9 @@
org.openmrs.content
content-package
1.0.0-SNAPSHOT
- {moduleName}
pom
+ content package
+ Basic Content Package Module. Useful for creating other Content Packages i.e hiv,...
OpenMRS
diff --git a/maven-plugin/src/main/java/org/openmrs/maven/plugins/CreateProject.java b/maven-plugin/src/main/java/org/openmrs/maven/plugins/CreateProject.java
index e776f484..e60cf636 100644
--- a/maven-plugin/src/main/java/org/openmrs/maven/plugins/CreateProject.java
+++ b/maven-plugin/src/main/java/org/openmrs/maven/plugins/CreateProject.java
@@ -68,6 +68,13 @@ public class CreateProject extends AbstractTask {
"as an artifactId. The version should follow maven versioning convention, \n" +
"which in short is: major.minor.maintenance(-SNAPSHOT).";
+ private static final String CONTENT_MAVEN_INFO =
+ "GroupId, artifactId and version combined together identify your module in the maven repository. \n\n" +
+ "By convention the OpenMRS Content Packages modules use 'org.openmrs.content' as a groupId \n" +
+ "(must follow convention for naming java packages) and the module id \n" +
+ "as an artifactId. The version should follow maven versioning convention, \n" +
+ "which in short is: major.minor.maintenance(-SNAPSHOT).";
+
private static final String DESCRIPTION_PROMPT_TMPL = "Describe your module in a few sentences";
private static final String GROUP_ID_PROMPT_TMPL = "Please specify %s";
@@ -255,14 +262,26 @@ private void createModule() throws MojoExecutionException {
moduleDescription = wizard
.promptForValueIfMissingWithDefault(DESCRIPTION_PROMPT_TMPL, moduleDescription, "", "no description");
- wizard.showMessage(MAVEN_INFO);
- groupId = wizard.promptForValueIfMissingWithDefault(GROUP_ID_PROMPT_TMPL, groupId, "groupId", "org.openmrs.module");
- while (!groupId.matches("[a-z][a-z0-9.]*")) {
- wizard.showError("The specified groupId " + groupId
- + " is not valid. It must start from a letter and can contain only alphanumerics and dots.");
- groupId = null;
- groupId = wizard
- .promptForValueIfMissingWithDefault(GROUP_ID_PROMPT_TMPL, groupId, "groupId", "org.openmrs.module");
+ if (TYPE_CONTENT_PACKAGE.equals(type)) {
+ wizard.showMessage(CONTENT_MAVEN_INFO);
+ groupId = wizard.promptForValueIfMissingWithDefault(GROUP_ID_PROMPT_TMPL, groupId, "groupId", "org.openmrs.content");
+ while (!groupId.matches("[a-z][a-z0-9.]*")) {
+ wizard.showError("The specified groupId " + groupId
+ + " is not valid. It must start from a letter and can contain only alphanumerics and dots.");
+ groupId = null;
+ groupId = wizard
+ .promptForValueIfMissingWithDefault(GROUP_ID_PROMPT_TMPL, groupId, "groupId", "org.openmrs.content");
+ }
+ } else {
+ wizard.showMessage(MAVEN_INFO);
+ groupId = wizard.promptForValueIfMissingWithDefault(GROUP_ID_PROMPT_TMPL, groupId, "groupId", "org.openmrs.module");
+ while (!groupId.matches("[a-z][a-z0-9.]*")) {
+ wizard.showError("The specified groupId " + groupId
+ + " is not valid. It must start from a letter and can contain only alphanumerics and dots.");
+ groupId = null;
+ groupId = wizard
+ .promptForValueIfMissingWithDefault(GROUP_ID_PROMPT_TMPL, groupId, "groupId", "org.openmrs.module");
+ }
}
artifactId = moduleId;
@@ -281,14 +300,13 @@ private void createModule() throws MojoExecutionException {
"2.4");
archetypeArtifactId = SDKConstants.REFAPP_ARCH_ARTIFACT_ID;
} else if (TYPE_CONTENT_PACKAGE.equals(type)) {
- contentpackage = wizard.promptForValueIfMissingWithDefault("What version of the content package (-D%s) do you want to support?", contentpackage, "contentpackage", "1.0.0");
archetypeArtifactId = SDKConstants.CONTENT_PACKAGE_ARCH_ARTIFACT_ID;
} else {
throw new MojoExecutionException("Invalid project type");
}
archetypeVersion = getSdkVersion();
- packageName = "org.openmrs.module." + artifactId;
+ packageName = TYPE_CONTENT_PACKAGE.equals(type) ? "org.openmrs.content." + artifactId : "org.openmrs.module." + artifactId;
Properties properties = new Properties();
properties.setProperty("artifactId", artifactId);
@@ -303,8 +321,6 @@ private void createModule() throws MojoExecutionException {
} else if (refapp != null) {
properties.setProperty("openmrsRefappVersion", refapp);
properties.setProperty("moduleClassnamePrefix", moduleClassnamePrefix);
- } else if (contentpackage != null) {
- properties.setProperty("openmrsContentPackageVersion", contentpackage);
}
properties.setProperty("package", packageName);
mavenSession.getUserProperties().putAll(properties);