Assesment needed on Switching to OpenJDK (TRUNK-5488)

Hello commuity , An assesment of switching to OpenJDK (TRUNK-5488) is quickly needed, so that work on this feature can commence as this is one of the key features priotized by the community to be part of platform 2.3.0. See Platform 2.3.0 release wiki page.

cc @dkayiwa @darius @samuel34 @burke @ruhanga

Does the platform compile and run as it is using OpenJDK? I think that would be the first step to evaluate. If we’re already compatible, then this task would primarily involve ensuring CI uses OpenJDK and advertising/promoting to devs to develop against OpenJDK by default.

Are people already using OpenJDK to build & deploy the platform? If not, the first step would be to recruit volunteer(s) to try it out.

1 Like

Looks like we are still using the Oracle JDK 8 in our build pipeline, those I use OpenJDK to build locally and haven’t run into any issues that I know of.

1 Like

@burke, so do we then conclude that our platform is already compatible with openJDK from @mogoodrich’s experience?? then we should now focus on reconfiguring CI to use openjdk too.

Anyone else with experience building the Platform against OpenJDK – good or bag?

@cintiadr, how hard would it be to migrate our CI builds to use OpenJDK instead of Oracle’s JDK?

In the CI build configurations, OpenJDK is one of the options.

We’ve only had OpenJDK in our agents for a while (since we migrated to ubuntu 16). I printed all the options, and this is the result: https://ci.openmrs.org/browse/RELEASE-TES-13/log

We are on ubuntu 16. Any java version easily installable from apt (even a ppa) is trivial. Note we don’t have JDK 11 or 12 (I don’t know how available they are in ubuntu).


But, last time I tried to install OpenJDK locally (OSX), I gave up. It was so hard I just used Oracle’s, and everything else was OpenJDK.

@cintiadr, in other words you’ve never had an experience compiling the platform locally with openjdk . Things failed just right with installing openjdk its self locally . right??

@cintiadr we have not yet supported Java 11 or 12

Hi @mozzy,

I’ve never compiled platform at all locally. Remember, not a developer :slight_smile:

Installing OpenJDK locally on OSX was nearly impossible, requiring all sort of magical tricks I wasn’t willing to make. But that was years ago.

@mogoodrich , @dkayiwa @cintiadr @burke @ruhanga i think we can now conclude that our platform is already compatible with openJDK. more testing has been done and confirmed . see this this talk

Now we are onlly remaining to to migrate our CI builds to use OpenJDK. .

@mozzy I would be fine with that…

1 Like

Which CI builds?

@dkayiwa our CI . though from the discussion it seems our CI is already configured to optionaly use openJDK.

@cintiadr, is there any more work needed to migrate our ci builds to openJDK?.

Or rather its enough just having it as one of the options?? cc @burke

It should be set as the default.

1 Like

I’ve already mentioned, the other ones are just aliases.

They are all openjdk.

I don’t have oracle jdk installed in bamboo agents.

Builds in Bamboo migrated to OpenJDK more than a year ago.

1 Like