Remove merlin-server as a dependency of orchestration-utils #1705
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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:
This PR creates a new
Parsers.java
file under thegov.nasa.jpl.aerie.merlin.driver.json
and moves the four parsers above from merlin-server to this new file.This PR moves
EventGraphFlattener
intogov.nasa.jpl.aerie.merlin.driver.timeline
alongside the definition ofEventGraph
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 calleddailis/orchestration-utils-dependency-refactor-take-1