Skip to content

Conversation

mattdailis
Copy link
Collaborator

  • Tickets addressed: N/A
  • Review: By commit
  • Merge strategy: Merge (no squash)

Description

This is a follow-up to #1700

Currently, users cannot use orchestration-utils without pulling in merlin-server. We don't typically publish merlin-server (#1700 was an exception to that). This PR removes merlin-server from the orchestration-utils dependencies.

There were four things in merlin-server that orchestration-utils needed:

  • pgTimestampP
  • activityArgumentsP
  • simulationArgumentsP
  • realDynamicsP
  • EventGraphFlattener

This PR creates a new Parsers.java file under the gov.nasa.jpl.aerie.merlin.driver.json and moves the four parsers above from merlin-server to this new file.

This PR moves EventGraphFlattener into gov.nasa.jpl.aerie.merlin.driver.timeline alongside the definition of EventGraph itself.

Verification

It compiles!

Documentation

I couldn't find any docs on stateless aerie - if someone knows otherwise, let me know.

Future work

There are a number of duplicated parsers and parsing functions across merlin-server and scheduler-server. I think we can take a careful look at them and move some of them to this new Parsers.java class.

There are a few copy/pasted implementations of the parseJson function that I think can be unified by adding a static method to JsonParser in parsing-utilities. I took a stab at that, but then decided that it would be better for this PR to be minimal. That first attempt is in the branch called dailis/orchestration-utils-dependency-refactor-take-1

@mattdailis mattdailis requested a review from a team as a code owner June 26, 2025 20:30
@mattdailis mattdailis requested review from Mythicaeda and removed request for adrienmaillard June 26, 2025 20:30
@mattdailis mattdailis force-pushed the orchestration-utils-remove-merlin-server-dependency branch from f784aae to 6d9467b Compare June 26, 2025 20:36
@mattdailis mattdailis force-pushed the orchestration-utils-remove-merlin-server-dependency branch from 6d9467b to fea1af1 Compare June 26, 2025 20:37
@mattdailis mattdailis force-pushed the orchestration-utils-remove-merlin-server-dependency branch from fea1af1 to 94cf1b3 Compare June 26, 2025 20:38
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
29.7% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@dandelany dandelany added the breaking change A change that will require updating downstream code label Aug 13, 2025
@dandelany dandelany force-pushed the orchestration-utils-remove-merlin-server-dependency branch from 94cf1b3 to 1127928 Compare August 13, 2025 22:49
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
29.7% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change A change that will require updating downstream code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants