Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a Java API #30

Merged
merged 2 commits into from
Jun 17, 2019
Merged

Add a Java API #30

merged 2 commits into from
Jun 17, 2019

Conversation

TheThirdOne
Copy link
Owner

This has been mostly done for a while as work towards #13, but I have let it stew in my mind and don't think that I'm going to get a much better design without significantly more work.

The core interface is the rars/api/Program class. However, the Memory class leaked into the interface a little. I am planning to make some changes to Memory in the future, but I don't think people are likely to be significantly affected by the changes whenever I make them in the future.

The /Test class demonstrates how to use the Program class in a very simple way. rars/Launch also shows how to use it. I would not be opposed to quickly writing another example to fit someones usecase if needed.

I'd like to give this a chance to be reviewed before I merge it in and finalize the decision as I plan to keep it backward compatible (assuming the documentation is followed).

This release has a build of the Jar if that helps.

@martinberger

The goal of this is to make automated testing much faster because the
JVM doesn't have to start up a bunch.
This is approximately a 10x speedup on the test suite including
compilation.
@TheThirdOne TheThirdOne merged commit b661ecf into master Jun 17, 2019
@TheThirdOne
Copy link
Owner Author

Merged this in because no one voiced any concerns. Refer to #13 for future discussion.

@TheThirdOne TheThirdOne deleted the api branch June 17, 2019 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant