GSoC 2023: Improving the OpenMRS Developer Experience: Updating the SDK
Primary mentor | @Daniel Kayiwa |
Backup mentor | @Joshua Nsereko |
Assigned to | @Wikum Weerakutti |
Abstract
OpenMRS has a powerful SDK, which contains many useful features for developing OpenMRS. However, as OpenMRS has continued to evolve, the SDK has grown increasingly brittle. This project seeks to revamp the SDK to better support OpenMRS's needs going forward. The main goal here is to revamp the tooling so that it better supports newer versions of OpenMRS while providing a legacy interface for the things that work today.
Required Skills
Excellent Java skills
Some experience with Maven (having written a Maven plugin before is a huge plus)
Experience with or desire to learn about refactoring
Project Rating and length
Long
350 hours
Objectives
Spin-off a version of the SDK to support OpenMRS 1.x releases based on Java 7
Revamp the SDK to take advantage of Java 8 features
Upgrade the SDK to use a recent version of Maven as the core
Improve the documentation system for all plugins
Rework the build-distro and setup commands so that we can specify per-version customizations. For instance, for OpenMRS versions from 2.0 - 2.3, the SDK should default to producing Docker images based on Java 8. For 2.4+, basing Docker images on Java 11, etc.