-
Notifications
You must be signed in to change notification settings - Fork 323
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
Stub Out the Parser Interface #1065
Conversation
# Conflicts: # build.sbt
build.sbt
Outdated
lazy val parser = (project in file("lib/scala/parser")) | ||
.settings( | ||
fork := true, | ||
javaOptions += { | ||
val root = baseDirectory.value.getParentFile.getParentFile.getParentFile | ||
s"-Djava.library.path=$root/target/rust/debug" | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understand that currently no projects depend on the parser
, but in the future, at least runtime
will, right?
Is there a plan on how to include these binary dependencies in the distribution of runtime
? Will they be packaged in some native_lib
directory or inside the JAR? How should users/programs launching the runtime
handle the java.library.path
?
I feel like this should be documented. I guess it may be added when runtime
really becomes dependent on the new parser
, but I'm worried we may forget to do so then, so maybe at least a general plan on how this will happen would be good?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should definitely be documented now, both in the parser documentation (the why), and the distribution documentation (the what).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A good start, but it's lacking in documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice improvements, but there's more stuff that needs fixing.
build.sbt
Outdated
fork := true, | ||
Cargo.rustVersion := rustVersion, | ||
Compile / compile / compileInputs := (Compile / compile / compileInputs) | ||
.dependsOn(Cargo("build -p parser")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.dependsOn(Cargo("build -p parser")) | |
.dependsOn(Cargo("build --project parser")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks really great! I especially like the documentation explaining the Rust infrastructure.
Still it would be cool if these few functions in the project/
directory got at least some short summaries.
Also, I'm not sure if this is in scope in this pull request, but we need to keep in mind that, at some point before starting to use the new parser, we need to:
- add the
native-libraries
to the build workflows (both thescala.yml
for CI builds andrelease.yml
for releases) - update information on compiling the legal information regarding the licences that are used in the dependencies that we distribute.
It may be worth creating separate issues for these, I guess. What do you think @iamrecursion ?
Pull Request Description
Closes #1006
Checklist
Please include the following checklist in your PR: