which server do I select/Problem setting up 3.3.0-SNAPSHOT using instructions

mvn openmrs-sdk:setup Version Number: 3.3.0-SNAPSHOT

Question: I am following these instructions. https://openmrs.atlassian.net/wiki/spaces/docs/pages/25477418/Set+Up+OpenMRS+Server+with+OpenMRS+SDK+and+Docker

I am using jdk 1.8.0 and for purposes of this note am directly setting JAVA_HOME below (normally it’s aliased)

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 mvn openmrs-sdk:setup

In the section Set Up OpenMRS Server, when running the openmrs-sdk:setup target, instruction 3 says “Select 1 for distribution”. This could use an image or something specific. It’s covered in the picture for instruction 4, except that doesn’t match the prompt.

I am selecting O3 Distribution, which isn’t listed

The image under item 4, a different instruction, shows the available choices, but only shows “Distribution” and “Platform”.

Under version choice, I then select 3.3.0-SNAPSHOT.

Maven runs for a bit and then reports Build Failure.

[INFO] Configured Artifact: org.openmrs.content:referenceapplication:1.0.0-SNAPSHOT:zip [INFO] Unpacking /root/.m2/repository/org/openmrs/content/referenceapplication/1.0.0-SNAPSHOT/referenceapplication-1.0.0-SNAPSHOT.zip to /tmp/openmrs-sdk-referenceapplication5931784586745135491 with includes “” and excludes “” [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 09:52 min [INFO] Finished at: 2025-01-24T10:03:03-05:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.openmrs.maven.plugins:openmrs-sdk-maven-plugin:6.0.0:setup (default-cli) on project standalone-pom: Failed to setup server: Error: Frontend configuration folder not found. → [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] MojoExecutionException - Apache Maven - Apache Software Foundation root@pop-os:~#

Rerunning it with -X gives me a stack trace to go with that but not much else.

Selecting a 2.x Server does not run into this problem.

Selecting 3.2.1-rc4 does not run into this problem either.

I can make progress with 3.2.1-rc4 for the moment. I am just starting out.

1 Like

@wikumc can you look into this?

The same problem @wikumc

Sure, I’ll take a look at this.

I’ve released the latest version of the OpenMRS SDK, which now supports creating servers with newer versions of O3. You could update your SDK by running

mvn openmrs-sdk:setup-sdk

However, please note that the content package for the reference application is incomplete and may cause server issues. Therefore, I strongly recommend using the latest stable release of the 3.x distribution, which is 3.2.1.

@jayasanka do you happen to have any comments on this?

We’ve shifted some of the config to the reference application content packages, so any setup should work as long as it includes config from the distro (like before) along with the config from the content package.

Currently, it seems the SDK ignores configurations within the distro if the distro.properties file for that distro includes a content package.

Should we update the SDK to merge configurations from both the distro and content packages?

cc: @ibacher, @mseaton, @mherman22

@wikumc - no, this is a hack that is only in place because published distributions did not follow established conventions, or is in place for backwards compatibility

Any newly developed and published distributions should be explicit about what content packages they include by adding those content packages declaratively to the openmrs-distro.properties file

3 Likes

@wikumc what i get from @mseaton is that let us simply go ahead and fill content packages with whatever is missing such that it is as complete as what we used to get from the configurations folder.

1 Like