Skip to content

Commit

Permalink
O3-3776: Add fix for content package archetype (#294)
Browse files Browse the repository at this point in the history
  • Loading branch information
mherman22 authored Sep 26, 2024
1 parent 954cce5 commit 9782465
Show file tree
Hide file tree
Showing 8 changed files with 81 additions and 17 deletions.
1 change: 1 addition & 0 deletions archetype-module-content/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
<configuration>
<ignoreEOLStyle>true</ignoreEOLStyle>
<debug>true</debug>
<useDefaultExcludes>false</useDefaultExcludes>
</configuration>
</plugin>
</plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
</requiredProperty>
<requiredProperty key="moduleName" />
<requiredProperty key="moduleDescription"/>
<requiredProperty key="openmrsContentPackageVersion"/>
</requiredProperties>

<fileSets>
Expand All @@ -32,6 +31,7 @@
<directory/>
<includes>
<include>assembly.xml</include>
<include>.gitignore</include>
<include>content.properties</include>
<include>pom.xml</include>
<include>README.md</include>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/

.idea/
*.iws
*.iml
*.ipr

.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

.vscode/

.DS_Store
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<name>{moduleName}</name>
<packaging>pom</packaging>
<name>${moduleName}</name>
<description>${moduleDescription}</description>
<developers>
<developer>
<name>OpenMRS</name>
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/

.idea/
*.iws
*.iml
*.ipr

.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

.vscode/

.DS_Store
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
<groupId>org.openmrs.content</groupId>
<artifactId>content-package</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>{moduleName}</name>
<packaging>pom</packaging>
<name>content package</name>
<description>Basic Content Package Module. Useful for creating other Content Packages i.e hiv,...</description>
<developers>
<developer>
<name>OpenMRS</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -255,14 +262,12 @@ 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)) {
groupId = "org.openmrs.content";
wizard.showMessage(CONTENT_MAVEN_INFO);
} else {
groupId = "org.openmrs.module";
wizard.showMessage(CONTENT_MAVEN_INFO);
}

artifactId = moduleId;
Expand All @@ -281,14 +286,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 = groupId + "." + artifactId;

Properties properties = new Properties();
properties.setProperty("artifactId", artifactId);
Expand All @@ -303,8 +307,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);
Expand Down

0 comments on commit 9782465

Please sign in to comment.