-
Notifications
You must be signed in to change notification settings - Fork 14
Handle composite builds #122
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
Conversation
👍. If it's possible, would you mind separate the display name handling change to another PR? |
I've submitted another PR. When that's merged I'll rebase this PR onto it. |
bb4ffd7
to
0bdcb95
Compare
rebased |
0bdcb95
to
27f089c
Compare
rebased |
I tried this change with a sample in Gradle document site: https://docs.gradle.org/current/samples/sample_composite_builds_basics.html, but it's not working:
It happens when calling Maybe it's another issue about how we fetch the classpath, not related with how we handling the include build. |
I may have to rethink how this works. I hadn't taken into account dependency substitutions. Even though it looks like a maven dependency, |
Hi @Arthurm1 |
@Tanish-Ranjan You're welcome to take over. The main thing is that dependencies into included builds aren't handled as stated here |
Okay, I'll start from there. |
@Tanish-Ranjan Hi. Are you working on this? No rush - I just noticed that it's a bit tricky to create the project dependencies |
Hi @Arthurm1, what kind of issue are you facing? |
No issue really - I just noticed that we'll have to move the project dependency collection out of The archive output jars will also have to be returned by the I was going to have a go but wasn't sure if @Tanish-Ranjan was working on it. |
I see. Just to heads up, @Tanish-Ranjan is a participant for the event GSoC (Google Summer of Code). He will work on this open source project during the summer. The composite build is one of the tasks he would like to take. @Tanish-Ranjan, please let us know if you would like to keep doing this task. If yes, @Arthurm1 is a very experienced and active contributor to this project, and I believe he can definitely give you some guidance for this issue. To me, I hope we can address this issue ASAP since this will increase the Gradle project import success rate in our VS Code extensions. My plan is to fix it in June. |
Yes @jdneo, I'm happy to take on this task for fixing composite builds. I've been preparing myself by researching composite builds and familiarizing myself with the relevant code. I'd also like to reach out to @Arthurm1 for his guidance. Given his experience with the project, I am confident we would be able to resolve this issue soon. |
May I ask how to handle the problem mentioned in #122 (comment)? Since we still need to get the normal dependencies. |
If the archive dirs are returned in the GradleSourceSet (currently they are not) then in GradleAPIConnector we can check whether they feature in any project's compile classpath. If they do then we can add a project dependency between those 2 projects. |
This PR extracts source sets for composite builds - previously, included builds would be ignored.
I've had to get rid of the unique display name code and go with
project [sourceset]
for all target display names. It just gets far too complicated for little reward when composite builds are added into the mix.Composite builds have to be handled in the
GradleAPIConnector
as each included build requires a newProjectConnection