As reported by one of IntelliJ IDEA users:
When I create a vanilla griffon project using griffon 1.3 doing:
1. griffon create-app myApp
2. griffon integrate-with --gradle
3. startup intellij and opening the build.gradle
Intellij can't see that griffon is a declared dependency and asks for me to add it manually.
Target build.gradle looks as below:
buildscript {
repositories {
mavenCentral()
mavenRepo name: 'Codehaus',
url: 'http://repository.codehaus.org'
mavenRepo name: 'SpringSource',
url: 'http://repository.springsource.com/maven/bundles/release'
mavenRepo name: 'Sonaytpe',
url: 'http://repository.sonatype.org/content/groups/public'
mavenRepo name: 'Grails Central', url: 'http://repo.grails.org/grails/core/'
mavenRepo name: 'JavaNet',
url: 'http://download.java.net/maven/2/'
}
dependencies {
classpath('org.codehaus.griffon:gradle-griffon-plugin:1.1.0')
classpath('org.codehaus.griffon:griffon-scripts:1.3.0')
}
}
ext.griffonVersion = '1.3.0'
version = '0.1'
apply plugin: 'griffon'
repositories {
mavenLocal()
mavenCentral()
mavenRepo name: 'Codehaus', url: 'http://repository.codehaus.org/'
}
dependencies {
compile("org.codehaus.griffon:griffon-rt:$griffonVersion")
compile("dk.flight.information:flightInformation:1.0")
}
A simple program below illustrates that no information about compile dependencies is exposed via the tooling api:
package org.denis;
import org.gradle.tooling.GradleConnector;
import org.gradle.tooling.ModelBuilder;
import org.gradle.tooling.ProjectConnection;
import org.gradle.tooling.internal.consumer.DefaultGradleConnector;
import org.gradle.tooling.model.idea.IdeaDependency;
import org.gradle.tooling.model.idea.IdeaModule;
import org.gradle.tooling.model.idea.IdeaProject;
import java.io.File;
/**
* @author Denis Zhdanov
* @since 7/23/13 3:10 PM
*/
public class Test {
public static void main(String[] args) {
File file = new File("/home/denis/Downloads");
GradleConnector connector = GradleConnector.newConnector();
DefaultGradleConnector c = (DefaultGradleConnector) connector;
//
c.embedded(true);
c.setVerboseLogging(true);
connector.useInstallation(new File("/home/denis/dev/gradle/gradle-1.6"));
connector.forProjectDirectory(file);
ProjectConnection connection = connector.connect();
ModelBuilder<IdeaProject> builder = connection.model(IdeaProject.class);
IdeaProject project = builder.get();
for (IdeaModule module : project.getModules()) {
for (IdeaDependency dependency : module.getDependencies()) {
System.out.println(dependency);
}
}
}
}
‘gradle dependencies’ from console shows a bunch of dependencies however.