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

Fix resolution issues with aggregating projects. #22

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jmcclell
Copy link

Fixes #21

@sjrd
Copy link
Member

sjrd commented Feb 21, 2024

Is there any guarantee that the one you request is always last?

@jmcclell
Copy link
Author

jmcclell commented Feb 22, 2024

@sjrd You'd probably need to direct that query to the SBT maintainers :) It's the observable behavior that I see in my own testing. Much like any output from SBT, it's possible a newer version could alter the output format.

One could attempt to parse the output, matching the project identifier in an attempt to make sure the appropriate path is collected? Might be a bit overkill?

Okay, did some digging. The SBT manual states

Note: aggregation will run the aggregated tasks in parallel and with no defined ordering between them.

I've not observed a case where the output order differed, but it sounds like some amount of parsing would be prudent. Let me take a stab at it.

@jmcclell
Copy link
Author

@sjrd Baking the workaround directly in seems to be a reasonable approach, so I did that.

Attempting to parse quickly proves overly tricky -- too many edge cases with the difference between input and output of tasks re: implicit axes (e.g. "fastLinkJSOutput" and "root / fastLinkJSOutput" tasks come out as "Compile / fastLinkJSOutput")

I am unaware of any cases where setting aggregate on a key should fail. I also couldn't think of any use case for needing the aggregation to happen when attempting to retrieve the value.

Thoughts?

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.

Resolution of scalajs:* files fails if the containing project aggregates another scalaJS project
2 participants