-
-
Notifications
You must be signed in to change notification settings - Fork 404
Making Paths more consistent using variable substitution #4870
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
base: main
Are you sure you want to change the base?
Conversation
Please leave this as a draft until you are done working on it |
It appears, for whatever reason, the new changes rebased in have made the compiling using -Duser.home not work.
|
The PR is mostly finished, all tests, and the ones that fail are the ones which also fail on main. It was quite tricky as a first project, but this should work. There is one issue however. I cant get the example to compile with -Duser.home on either HEAD/MAIN or in mine, and it has nothing to do with the paths being normalized.
This was working last week, now its not, and im confused. |
Made to the specification in:
#3660 (comment)
3 substitutions:
JavaHome (usually os.home), CoursierCache, and the WorkingDirectory, usually out/. A forth one should potentially be made for IvyDeps, but I think that can be more dangerous.
Substitutions are done in this format. "$VarName. E.g "$WorkingDirectory". This is done because this makes the paths illegal on Windows,, however, not on macOS or Linux. There really aren't any illegal characters on these platforms....
Additionally, I only tested so far on Linux. Ubuntus 24.04.
The test is relatively simple. It recursively looks through all JSON files in the out folders, and where paths are found, compares the two. It makes sure the keys are the same, and that all the strings are the same/.
As you may not know me, this is my first contribution to a Scala project, and I am not familiar with all of the formatting requirements. I apologize if I made any mistakes, I basically just copied what I learned from reviewing the codebase, combined with my Nim syntax knowledge.