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);