[GRADLE-3187] Gradle commands are executed relative to the root project instead of the current directory project if -c switch is used to explicitly set config file location Created: 28/Oct/14  Updated: 10/Feb/17  Resolved: 10/Feb/17

Status: Resolved
Project: Gradle
Affects Version/s: 2.1
Fix Version/s: None

Type: Bug
Reporter: Gradle Forums Assignee: Unassigned
Resolution: Won't Fix Votes: 0


 Description   

Hello,

in our gradle build environment, we have different projects in independent directories. I defined all projects and their directories in settings.gradle. Running on Gradle 2.0, the build was running fine. That is, running from a subproject directory, only this subproject and all dependencies were built. Starting with Gradle 2.1 (and also current 2.2 nightly), running gradle with some task (e.g. compileJava) from a subproject directory leads to the task with this name being run for all projects. Is this change in behaviour considered a bug or what can I do to get the old behaviour back?

My Setup: I declare all projects in settings.gradle and run gradle with "-c /absolutePathATo/gradleSettings/settings.gradle". The build logic is defined in a root project. I could reproduce the issue with the following (minimal) gradle files.

  • /absolutePathATo/gradleSettings/settings.gradle:

include ':proj1', ':proj2'

project(':proj2').projectDir = new File("/absolutePathDTo/gradleproj2")

project(':proj1').projectDir = new File("/absolutePathCTo/gradleproj1")

//project(':proj1:sub').projectDir = new File("/absolutePathETo/gradleproj1sub")

rootProject.projectDir = new File("/absolutePathBTo//gradleroot")
/absolutePathTo/gradle/gradleroot/build.gradle:

subprojects {

apply plugin: 'java'

}

  • /absolutePathCTo/gradleproj1/build.gradle is empty
  • /absolutePathDTo/gradleproj2/build.gradle:

dependencies {

compile project(':proj1')

}

On Gradle 2.0, running "gradle -c /absolutePathTo/gradle/gradlesettings/settings.gradle compileJava" from /absolutePathTo/gradle/gradleproj1 will lead to only proj1 being built, while on Gradle 2.1 all projects will be built.

Thank you in advance,
Thomas



 Comments   
Comment by Gradle Forums [ 28/Oct/14 ]

I'm still very much trying to find a solution. We're in the process of evaluating to switch from ant to gradle. Since I cannot change our directory structure, I'm stuck with this issue.

Is there any other way to setup a multi-project build with a completely custom directory structure which still works in gradle 2.1 and newer? Or is this change in behavior from gradle 2.0 to 2.1 considered a bug and will be fixed?

Comment by Benjamin Muschko [ 15/Nov/16 ]

As announced on the Gradle blog we are planning to completely migrate issues from JIRA to GitHub.

We intend to prioritize issues that are actionable and impactful while working more closely with the community. Many of our JIRA issues are inactionable or irrelevant. We would like to request your help to ensure we can appropriately prioritize JIRA issues you’ve contributed to.

Please confirm that you still advocate for your JIRA issue before December 10th, 2016 by:

  • Checking that your issues contain requisite context, impact, behaviors, and examples as described in our published guidelines.
  • Leave a comment on the JIRA issue or open a new GitHub issue confirming that the above is complete.

We look forward to collaborating with you more closely on GitHub. Thank you for your contribution to Gradle!

Comment by Benjamin Muschko [ 10/Feb/17 ]

Thanks again for reporting this issue. We haven't heard back from you after our inquiry from November 15th. We are closing this issue now. Please create an issue on GitHub if you still feel passionate about getting it resolved.

Generated at Wed Jun 30 12:42:16 CDT 2021 using Jira 8.4.2#804003-sha1:d21414fc212e3af190e92c2d2ac41299b89402cf.