-
Notifications
You must be signed in to change notification settings - Fork 17
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
Remove as much dependencies as possible #172
Conversation
Looking through the docs extensions were only added in 1.9. The proposed changes would be breaking for earlier versions. I'll work on a PR that supports both to avoid an unnecessary breaking change. |
Is it possible to approve tests on this branch? I looked at the Compat dependency and it is not used directly (at a first glance). At the moment only Mmap was moved to an extension, while being unconditionally loaded in Julia versions without extension support. The rest of removed packages were replaced by similar functionality (Printf is now a string concatenation, uuid4 is a 4-line function) |
No, I can approve, but I need to re-enable the GH actions. I'm just gonna test locally on an older Julia release. We also need to move the test.jl file into an extension. Are you fine with leaving Dates as is though? It's probably the largest dep, but it's also the most intertwined. |
Yeah, Dates is a necessary dependency, nothing to do there |
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.
These change don't run for me on 1.6 or 1.10.
Btw, tests also fail on 1.11, I'm looking what is causing those failures |
Compat is necessary for julia versions < 1.6, because they add a new method for the errors in 1.11 were because of JuliaLang/julia#53699, that defines and exports i also migrated the all tests seems to pass now: https://github.com/longemen3000/FilePathsBase.jl/actions/runs/10544795318 |
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.
Awesome work! Looks pretty good to me. Most of my feedback is git related.
- Did you want to cleanup the history a bit (ie: rebase and squash some of the debug commits)?
- Could you move the CI and gitignore changes to a separate PR since they're unrelated to this PR, AFAICT?
- I think using
git mv
forsrc/test
would make the PR a lot cleaner, and easier to review for potentially breaking changes. Especially sincesrc/test
is basically just a stub now. - I have my own formatting preferences, but at this point I'll just make a separate PR that makes those changes and adds a JuliaFormatter CI job. I suspect the Blue style guide is pretty close to what I'm already doing.
Oh, do you have an idea of how much these change improve load times where these standard libs aren't in the system image anymore?
on 1.11-rc2: master:
this PR:
seems that the overall effect is positive in loading times, this does not include the time not spent loading testing code. |
dfcd8f4
to
4880e45
Compare
Awesome, thanks for all the hard work on this! Looks like a pretty clean set of changes now 👍🏻 I'll merge the other PRs and tag a release later today. |
work on #171