[GRADLE-2133] Eclipse plugin doesn't attach source for the gradleApi() dependency Created: 28/Feb/12 Updated: 10/Feb/17 Resolved: 10/Feb/17 |
|
Status: | Resolved |
Project: | Gradle |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | Bug | ||
Reporter: | Gradle Forums | Assignee: | Unassigned |
Resolution: | Won't Fix | Votes: | 4 |
Issue Links: |
|
Description |
Hi, The eclipse plugin usually downloads all source code and attaches to the artifacts within eclipse by default. This seems to work whenever source code is available, which is great. However, I'm developing Gradle Tasks / Plugins and am using the special "gradleApi()" dependency which doesn't seem to attach the gradle sources within eclipse, which doesn't make sense since the gradle-all distribution includes the gradle sources. Having the gradle sources attached within eclipse would make task / plugin development a lot easier. Best regards, |
Comments |
Comment by Gradle Forums [ 28/Feb/12 ] |
As a workaround, you can attach the sources from the gradle distribution if you have downloaded them: import org.gradle.plugins.ide.eclipse.model.* eclipse { cp.entries.each {ClasspathEntry entry -> Cheers, |
Comment by Gradle Forums [ 28/Feb/12 ] |
Thanks for your workaround, Rolf. That worked for me. Of course, it would be desirable for Gradle to do that automatically before 1.0 is released Best regards, |
Comment by Thomas Heilbronner [ 08/Jul/12 ] |
Seems to be a duplicate of |
Comment by Janneth Malibago [ 08/Jan/14 ] |
When using the Gradle Wrapper then only the binary version of Gradle is downloaded to $GRADLE_USER_HOME (e.g. C:\Users\<user>\.gradle\wrapper\dists) Thus, when using the Gradle Wrapper we need to improve the workaround described above: task wrapper(type: Wrapper) { gradleVersion = '1.10' // Get gradle-all distribution that contains not only the binaries but also the sources. distributionUrl = 'http://services.gradle.org/distributions/gradle-1.10-all.zip' } import org.gradle.plugins.ide.eclipse.model.* eclipse { classpath { file { whenMerged {Classpath cp -> String gradleHome = gradle.getGradleHomeDir().absolutePath.replace(File.separator, '/') String gradleSrc = "${gradleHome}/src" cp.entries.each {ClasspathEntry entry -> if ((entry in AbstractLibrary) && (entry.library.file.name.startsWith('gradle-'))) { def matcher = entry.library.file.name =~ "gradle-(.*)-(.*)" String sourcePath= gradleSrc + '/' + matcher[0][1]; entry.sourcePath = new org.gradle.plugins.ide.eclipse.model.internal.FileReferenceFactory().fromPath(sourcePath) } } } } } } |
Comment by Sebastien Tardif [ 25/Feb/14 ] |
I'm not sure it's 100% related, but there is a known bug about not seeing source code of third party dependencies, and a workaround is listed here -> http://stackoverflow.com/questions/12836089/why-is-eclipse-not-attaching-3rd-party-libs-source-files-to-a-wtp-faceted-gradle |
Comment by Oliver Trosien [ 02/May/16 ] |
While IntelliJ seems to be able to attach sources, eclipse still does not. Is that maybe a bug to be filed at the Buildship bugtracker? |
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:
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. |