[GRADLE-1780] Classpath for Eclipse plugin and Tooling API is incomplete Created: 01/Sep/11  Updated: 10/Feb/17  Resolved: 10/Feb/17

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

Type: Bug
Reporter: Kris De Volder Assignee: Unassigned
Resolution: Won't Fix Votes: 3

Attachments: Zip Archive sample-gradle.zip    

 Description   

This problem can reproduced either by calling the tooling API or running the gradle eclipse task.

I'll attach a small sample project which is derived from the gradle build scripts of Grails core.
Grails core uses the idiom that causes problems in a number of places, so in order for Grails-core
projects to work well inside of Eclipse using the tooling API, this bug is a blocker.

The following build.gradle file shows the idiom:

apply plugin: 'java'
apply plugin: 'eclipse'

repositories {
	mavenCentral()
}

configurations {
    special.extendsFrom compile
}

dependencies {
   special "junit:junit:4.8"
   compile "commons-lang:commons-lang:2.4"
}

sourceSets {
	main {
		compileClasspath = files(configurations.special)
	}
}

Salient features:

  • The 'special' configuration is defined as 'compile' configuration plus one extra jar.
  • compileClassPath of main sourceset is defined to use 'special' dependencies rather than 'compile'
    dependencies (so compile + one special jar).

When a build a project that has source code referring to classes in both jars, using 'gradle assemble' it compiles without problems.

When we import such a project in Eclipse (either using 'gradle eclipse' plugin or STS tool support based on tooling
API, the classpath container will only contain 'compile' dependencies. The 'special' dependencies are not included.
This results in compilation problems in the IDE.



 Comments   
Comment by Kris De Volder [ 01/Sep/11 ]

Sample project

Comment by Kris De Volder [ 01/Sep/11 ]

Reproduced with M3 and also
http://repo.gradle.org/gradle/distributions-snapshots/gradle-1.0-milestone-5-20110902000040+0200-all.zip

Comment by Kris De Volder [ 01/Sep/11 ]

Related STS issue: https://issuetracker.springsource.com/browse/STS-1822

Comment by Adam Murdoch [ 04/Sep/11 ]

A workaround:

eclipse {
    classpath {
        plusConfigurations << configurations.special
    }
}
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:04:10 CDT 2021 using Jira 8.4.2#804003-sha1:d21414fc212e3af190e92c2d2ac41299b89402cf.