Details
-
Type:
Bug
-
Status:
Open
-
Resolution: Unresolved
-
Affects Version/s: 1.0-milestone-6
-
Fix Version/s: None
Description
The Tooling API doesn't allow to get information about unresolved third-party dependencies. Here is a simple test that illustrates that:
- Go to $GRADLE_HOME/samples/java/quickstart;
- Define, say, version '10.2' for 'commons-collections' dependency at 'build.gradle' there;
- Start the program below:
package org.jetbrains.plugins.gradle; import org.gradle.tooling.GradleConnector; import org.gradle.tooling.ModelBuilder; import org.gradle.tooling.ProjectConnection; import org.gradle.tooling.model.idea.*; import java.io.File; /** * @author Denis Zhdanov * @since 12/8/11 5:07 PM */ public class GradleStartClass { private static final String GRADLE_PROJECT_PATH = "/home/denis/dev/gradle/gradle-1.0-milestone-6/samples/java/quickstart"; public static void main(String[] args) { test("/home/denis/dev/gradle/gradle-1.0-milestone-6"); // Don't expect exception here } private static void test(String gradleHome) { GradleConnector connector = GradleConnector.newConnector(); connector.useInstallation(new File(gradleHome)); connector.forProjectDirectory(new File(GRADLE_PROJECT_PATH)); ProjectConnection connection = connector.connect(); ModelBuilder<? extends IdeaProject> modelBuilder = connection.model(IdeaProject.class); IdeaProject project = modelBuilder.get(); for (IdeaModule module : project.getModules()) { for (IdeaDependency dependency : module.getDependencies()) { if (dependency instanceof IdeaModuleDependency) { continue; } System.out.printf("Dependency: %s%n", ((IdeaSingleEntryLibraryDependency)dependency).getFile()); } } } }
Output:
Dependency: unresolved dependency - commons-collections#commons-collections;10.2 Dependency: /home/denis/.gradle/caches/artifacts-4/junit/junit/c12498cf18507aa6433a94eb7d3e77d5/jars/junit-4.10.jar Dependency: /home/denis/.gradle/caches/artifacts-4/org.hamcrest/hamcrest-core/c12498cf18507aa6433a94eb7d3e77d5/jars/hamcrest-core-1.1.jar
Activity
Adam Murdoch
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Component/s | Idea [ 10024 ] | |
| Component/s | IDE integration [ 10015 ] |
Luke Daley
made changes -
| Workflow | jira with pivotal tracker [ 15151 ] | jira with pivotal tracker (no resolved, only closed) [ 18586 ] |
Luke Daley
made changes -
| Workflow | jira with pivotal tracker (no resolved, only closed) [ 18586 ] | Copy of jira with pivotal tracker (no closed, only resolved) [ 21188 ] |
Unable to get TeamCity builds: No active plugin license is found! Please visit http://stiltsoft.com/teamcity for details
What do you mean explictly? If the dependency type has a flag isResolved() (or something like that, e.g. information about the resolution result) is it good enough?