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

WIP: Native client #4057

Draft
wants to merge 20 commits into
base: main
Choose a base branch
from
Draft

WIP: Native client #4057

wants to merge 20 commits into from

Conversation

Quafadas
Copy link
Contributor

@Quafadas Quafadas commented Dec 1, 2024

The start of an effort, to get a mill Scala Native client.

Here's what (seems) to be in place.

  1. Converted java -> scala
  2. Removed api calls which are not native koscher
  3. Proved nativeLink works
  4. Tests are runnable

Unfortunately, I think this might be quite some way from a solution.

I've observed that the native client, appears to fire up a new server on every incarnation. Increasingly, I believe this may come down to some difference / bug / expected behaviour in how Scala Native interacts with files.

I can't seem to port some of the tests which handle file tailing operations, which seems to lend support to that idea.

If someone wants to play - on the branch of this PR branch.

mill runner.client.nativeLink

will emit a file at

out/runner/client/nativeLink.dest/out.

If I run an installLocalCache and run that file in the root of (say) a clone of upickle. I appear to get a (semi) functioning mill client. That starts a server every time (!)... but it does compile and run things. And it starts very quickly, so there;s that I guess.

for #4016

@Quafadas
Copy link
Contributor Author

Quafadas commented Dec 1, 2024

@lihaoyi lihaoyi marked this pull request as draft December 3, 2024 06:29
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