-
Notifications
You must be signed in to change notification settings - Fork 345
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
Lake now selects a different executable when there are multiple with the same name. #2548
Comments
@semorrison Ah, the problem here is packages and executable now have a strict order and the current package is at the end of that order (because it is a topological ordering of dependencies). Previously, they had no defined order and it was just pure luck that Mathlib won (likely because it is alphabetically before Std and Lake uses an |
@semorrison Also note the correct one can also be run disambiguated via |
@semorrison Oh, and the name of the executable can be changed independently of the target via the Finally, did this turn out to be a blocker? Or can a fix wait for later? |
No, no blocker. I just renamed the Mathlib In the longer term we've realised that Std's and Mathlib's So I think the low-urgency resolution to this issue should be:
|
Closes #2548. Later packages and libraries in the dependency tree are now preferred over earlier ones. That is, the later ones "shadow" the earlier ones. Such an ordering is more consistent with how declarations generally work in programming languages. This will break any package that relied on the previous ordering. Also includes a related fix to `findModule?` that mistakenly treated executable roots as importable.
Std
andMathlib
have both previously had alean_exe
calledrunLinter
.Prior to
v4.1.0-rc1
, in Mathlib, runningrunLinter
would run the Mathlib one. Afterv4.1.0-rc1
, it instead runs the Std one.This had the unfortunate effect of allowing us to merge the first attempted bump to
v4.1.0-rc1
while linting was actually failing, because this change had effectively disabled linting in CI!As a workaround for now, I have renamed
runLinter
to Mathlib torunMathlibLinter
.Proposed change:
This issue may be sufficient to cut a new release candidate, depending on how strongly people feel about the naming of the linter executable.
The text was updated successfully, but these errors were encountered: