Git Product home page Git Product logo

eclipse-integration-gradle's Introduction

eclipse-integration-gradle is no longer actively maintained by VMware, Inc.

Eclipse Integration Gradle

This project is no longer under active development. Please use BuildShip instead.

The Eclipse-Integration-Gradle project brings you developer tooling for Gradle into Eclipse.

It comes with Spring UAA (User Agent Analysis), an optional component that help us to collect some usage data. This is completely anonymous and helps us to understand better how the tooling is used and how to improve it in the future.

It also comes with the SpringSource Dashboard as an optional component, which brings you up-to-date information about SpringSource-related projects as well as an easy-to-use extension install to get additional tooling add-ons, like the tc Server Integration for Eclipse, the Cloud Foundry Integration for Eclipse, Grails IDE and Groovy Eclipse.

Requirements (for version 3.0.0 of the Gradle tooling)

Either one of the following:

  • An instance of STS 3.0.0 or later based on Eclipse 3.7 or 4.2.
  • An instance of Eclipse 3.7.2 or later. (Earlier versions of Eclipse such as Eclipse 3.6 probably also work but have not been
    tested).

If you want support for editing .gradle files a compatible Groovy Eclipse installation is required. STS 3.0.0 requires Groovy Eclipse 2.7.0. The Gradle tooling should be usable without Groovy Eclipse, but some functionality (related to editing gradle files) will not work.

Documentation

Documentation for the functionality offered by Eclipse-Integration-Gradle tooling is available from our project's GitHub Wiki.

Installation instructions:

Installing from the STS dashboard:

The easiest way to install is from the STS Dashboard "Extensions" page.

  1. First download and install a recent release of STS or Groovy and Grails Toolsuite (GGTS) version 3.0.0 or later.
  2. Open the Dashboard and select the 'Extensions' Tab.
  3. Search for "Gradle" or "Groovy" depending on what you are installing, select it and click "Install".
  4. Review the list of software that will be installed and click "Next".
  5. Review and accept licence agreements and click "Finish".

Installing Gradle Tooling from update site

Alternatively you can install from update sites. The following update sites are available:

Pasting the above URLs into a web browser will not work. You need to follow the instructions given below to use an Eclipse update site.

  1. In Eclipse Open Help >> Install New Software
  2. Paste a Gradle update site link into the "Work with" text box.
  3. Click the Add button at the top of the screen.
  4. Ensure that the option "Group Items by Category" is enabled.
  5. Select the top-level node 'Extensions / Gradle Integration'.
  6. Click "Next". This may take a while.
  7. Review the list of software that will be installed. Click "Next" again.
  8. Review and accept licence agreements and Click "Finish".

If you follow this installation procedure in a plain Eclipse, this will install the STS Dashboard. This gives you an easy way to subsequently install Groovy Eclipse as well. See instructions on Installing from the STS Dashboard above.

Offline Installation

Use Update Site Archive for STS from https://spring.io/tools/sts/all

Questions and bug reports:

If you have a question that Google can't answer, the best way is to go to the StackOverflow.

There you can also ask questions and search for other people with related or similar problems (and solutions).

With regards to bug reports, please go to the Github issue tracker.

Developing Eclipse Integration Gradle

The remainder of this documents expects a familiarity with Eclipse architecture and how plugin development works. If you are not already familiar with Eclipse development, then you may want to read some tutorials about the Eclipse plugin architecture and how to develop with it. A good start is here: https://www.ibm.com/developerworks/library/os-eclipse-plugindev1/.

Setting up the Development Environment and Target Platform

The instructions here are tested starting with a 'clean' copy of Eclipse 4.4 JEE. It is also possible to setup a similar environment based on older versions of Eclipse.

First we will start by setting up a suitable instance of Eclipse. This instance will serve a double purpose:

  • it will be our development environment.
  • it will serve as the 'target platform' against which Eclipse can compile and run our code.

Steps:

  1. download and install Eclipse for Java EE Developers from eclipse.org.
  2. install egit support (e.g. from the Eclipse Market Place). This step is optional, you can also use git commandline tools.
  3. install Groovy Eclipse from this update site: https://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e4.2/
    • install everything on the update site except 'm2e Configurator ...'
    • make sure you do install 'Groovy Eclipse Test Feature' if you want to be able to compile and run the Gradle IDE regressions tests.
  4. install Eclipse Integration Gradle tooling from this update site: https://dist.springsource.com/snapshot/TOOLS/gradle/nightly

Getting the source code

The source code for this project is hosted on github. You can use egit (Eclipse Integration for Git) or commandline git tools to get the source code on to your machine.

To get the source code onto your machine:

git clone git://github.com/SpringSource/eclipse-integration-gradle.git

or if you are a committer:

git clone [email protected]:SpringSource/eclipse-integration-gradle.git

Importing the source code into Eclipse

The source code consists of a single root project and several sub-projects nested within it. You can use either 'EGit' or the generic Eclipse 'Import Existing Projects' wizard. However both wizards are tripped up by the nested project structure. As soon as the Wizard sees the root .project file it will stop looking for nested projects. To side-step this problem simply delete the root .project file before importing the subprojects.

cd eclipse-integration-gradle
rm .project

After importing the sub-projects, reinstate the root .project file:

git checkout .project

If you want to, you can now import the root project as well.

Getting and Updating the Tooling API Jars

At this point you likely have errors in your workspace like 'The project cannot be build until build path errors are resolved'.

Our tools are built on top of the Gradle Tooling API. However the Tooling API jars are not included in the git repository. They have to be downloaded and placed into org.springsource.ide.eclipse.gradle.core/lib. This is accomplished by using gradle itself to download the libraries.

Open the 'Gradle Tasks' View (via Window >> Show View menu).

  • select project toolingapi.
  • run the publish task.
  • run the updateLibs task.

You can also do this on the commandline:

cd toolingapi/
./gradlew

This runs both publish and updateLibs as they have been preselected as the default tasks in the Gradle script.

If you do this on the commandline you will need to manually refresh the org.springsource.ide.eclipse.gradle.core project in the Eclipse workspace afterwards. If you use the 'Gradle Tasks View' then the refresh is automatic.

Note that the script only downloads the jars and updates the plugin MANIFEST.MF but it does not automatically update the .classpath file in the project. Normally neither of these files changes unless the Tooling API version has changed. In this case no further action is required. However if MANIFEST.MF did change then you will have to force Eclipse to update the .classpath file as well. To do this, right click the project and select 'Plugin Tools >> Update Classpath' (note: in Eclipse 3.7 the menu is called 'PDE Tools').

After this all compile errors should disappear. (Note: In Eclipse 4.2 I have on occasion noticed that you need to force a workspace rebuild by cleaning the project before errors actually disappear).

Running the tests inside of Eclipse

To run the regression tests inside of Eclipse. Find the class 'AllGradleCoreTests' and run it as a 'Junit Plugin Test'. You can also run the smaller testsuites individually in the same way.

Notes:

  • testImportSpringSecurity will fail if you have followed these instructions exactly.

    This is expected because the spring-security-code that is imported in this test requires a very specific version of the Groovy Compiler (1.7 at the time of this writing) You can ignore this error or edit the launch configuration to disable all but the 1.7 version of the org.codehouse.groovy bundles.

Building Gradle IDE

The Gradle IDE project uses Maven Tycho to do continuous integration builds and to produce p2 repos and update sites. To build the project yourself, you can execute:

mvn -Pe42 -Dmaven.test.skip=true clean install 

This will use maven to compile all Gradle-IDE plugins, excluding test bundles and package them up to produce an update site for a snapshot build. The update site will be located in gradle-ide/org.springsource.ide.eclipse.gradle.site/target.

If you want to run tests during your build, then remove -Dmaven.test.skip=true. If you want to also build test bundles but not run tests then replace -Dmaven.test.skip=true with -DskipTests. If you want to build against Eclipse 3.7 instead of Eclipse 4.2 than use -Pe37 instead of -Pe42.

Contributing

Code of Conduct

This project adheres to the Contributor Covenant link:CODE_OF_CONDUCT.adoc[code of conduct]. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].

Get Involved

Here are some ways for you to get involved in the community:

  • Get involved with the Spring community on the Spring Community Forums. Please help out on the forum by responding to questions and joining the debate.
  • Create JIRA tickets for bugs and new features and comment and vote on the ones that you are interested in.
  • Github is for social coding: if you want to write code, we encourage contributions through pull requests from forks of this repository. If you want to contribute code this way, please reference a JIRA ticket as well covering the specific issue you are addressing.
  • Watch for upcoming articles on Spring by subscribing to springframework.org

Contributor License Agreement

Before we accept a patch or pull request we will need you to sign the contributor's agreement. Signing the contributor's agreement does not grant anyone commit rights to the main repository, but it does mean that we can accept your contributions, and you will get an author credit if we do. Active contributors might be asked to join the core team, and given the ability to merge pull requests.

eclipse-integration-gradle's People

Contributors

kdvolder avatar martinlippert avatar BoykoAlex avatar jkschneider avatar andrask avatar spring-operator avatar gamerson avatar a1dutch avatar aclement avatar bryant1410 avatar shanman190 avatar trevormarshall avatar

Stargazers

weg avatar Sascha Xander avatar Keany Vy KHUN avatar Dimitrij Pinneker avatar Beto Cuevas avatar totig avatar  avatar Flyman avatar  avatar  avatar Gabriel Martinez avatar Kiran Marturu avatar Adam avatar Abdullah Chowdhery avatar  avatar Warren Wei avatar Lyon1994 avatar Siro Díaz Palazón avatar  avatar  avatar Pablo Reinoso avatar  avatar Eak Netpanya avatar Matteo Baiguini avatar  avatar whcrow avatar Emanuele Pugliese avatar Jun Nakamura avatar 于先笙 avatar leung avatar  avatar Nish avatar Mauricio Carvalho avatar Souvc avatar  avatar  avatar Mason Lee avatar Jerry avatar Gordon Guo avatar Nick Tan avatar jia chen avatar Arisono avatar bassy avatar  avatar  avatar  avatar Viraj G. Kulkarni (विराज गु. कुलकर्णी) avatar lucasyue avatar  avatar Yida Chen avatar joy.you avatar  avatar kdyzm avatar Muhammet ÇAĞATAY avatar MALT avatar  avatar Dalu Feng avatar Andrew Keturi avatar glacier avatar Carrie Guts Oh avatar Saulo José Gil avatar  avatar zw1127 avatar  avatar Redacted avatar  avatar  avatar David Luu avatar Cary Wu avatar Mike Shorter avatar  avatar guoming avatar Kishorekumar Neelamegam avatar zhujin avatar Eason Lin avatar  avatar Thomas avatar  avatar Krissada Ingarn avatar Cqshinn avatar Jeff avatar  avatar  avatar Kashinath Lagdive avatar yancong liu avatar Ryan O'Meara avatar  avatar  avatar Simon avatar  avatar Gabriel Freire avatar anjuncc avatar xiaofeng jia avatar Stephen Haberman avatar Zakharov Roman avatar  avatar QSKOBE24 avatar guysung kim avatar S Gong avatar Christopher Zhong avatar

Watchers

Ryan Morgan avatar Josh Long avatar Tobias Letschka avatar Martin Lippert avatar Oliver Drotbohm avatar Mark Fisher avatar Wayne Lund avatar davidwei_001 avatar Ronald Hötschl avatar  avatar Craig Walls avatar Steve Bohlen avatar Ryo Murai avatar Andy Clement avatar Chris Richardson avatar Thomas Darimont avatar Jeremy Grelle avatar Michael Glauche avatar Jeremy Kuhnash avatar Gregory Amerson avatar Glenn Renfro avatar  avatar James Cloos avatar  avatar Slavomír Varchula avatar Haytham Mohamed avatar Kris De Volder avatar Jarred Li avatar Ken Guzik avatar  avatar  avatar Nieraj Singh avatar Brian Dussault avatar Frère Jac avatar  avatar  avatar  avatar Richard.Wang avatar joy.you avatar Will Schipp avatar Stark Geng avatar  avatar Gareth Clay avatar Olga Maciaszek-Sharma avatar liang.xu avatar  avatar  avatar Ye FengChun 叶逢春 avatar Weiwei Chen avatar  avatar Oleh Dokuka avatar Rida Ikki avatar  avatar Alex Boyko avatar  avatar  avatar Boris avatar Rong avatar  avatar  avatar  avatar  avatar 周家鑫 avatar  avatar Joe Grandja avatar Jeffrey D. Pound Sr. avatar  avatar  avatar

eclipse-integration-gradle's Issues

Spring Boot web apps are deployed incorrectly to Tomcat

I've been investigating an issue reported against Spring Boot and think I've identified that the problem's caused by the Gradle plugin in STS 3.6.0.RELEASE.

Spring Boot supports the concept of an executable war file; a war that can either be run using java -jar using an embedded servlet container or by deploying it to a standalone servlet container. It's the latter case that fails when the deployment is performed in STS.

You can reproduce the problem by importing the convert jar to war getting started app and using WTP to deploy it to Tomcat. Once published this is the contents of WEB-INF/lib:

ls -l .metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/complete/WEB-INF/lib
total 26232
-rw-r--r--  1 awilkinson  staff     4467  6 Jun 10:07 aopalliance-1.0.jar
-rw-r--r--  1 awilkinson  staff    60282  6 Jun 10:09 classmate-1.0.0.jar
-rw-r--r--  1 awilkinson  staff    45024  6 Jun 10:09 hamcrest-core-1.3.jar
-rw-r--r--  1 awilkinson  staff   574278  6 Jun 10:09 hibernate-validator-5.0.3.Final.jar
-rw-r--r--  1 awilkinson  staff    35058  9 Jun 08:52 jackson-annotations-2.3.0.jar
-rw-r--r--  1 awilkinson  staff   199621  6 Jun 10:08 jackson-core-2.3.3.jar
-rw-r--r--  1 awilkinson  staff   915481  6 Jun 10:08 jackson-databind-2.3.3.jar
-rw-r--r--  1 awilkinson  staff   659343 10 Apr 11:48 javassist-3.16.1-GA.jar
-rw-r--r--  1 awilkinson  staff    60796  6 Jun 12:13 jboss-logging-3.1.1.GA.jar
-rw-r--r--  1 awilkinson  staff    16519  6 Jun 10:09 jcl-over-slf4j-1.7.7.jar
-rw-r--r--  1 awilkinson  staff     4730  6 Jun 10:09 jul-to-slf4j-1.7.7.jar
-rw-r--r--  1 awilkinson  staff   245039  6 Jun 10:08 junit-4.11.jar
-rw-r--r--  1 awilkinson  staff    24220  6 Jun 10:09 log4j-over-slf4j-1.7.7.jar
-rw-r--r--  1 awilkinson  staff   270750  6 Jun 10:08 logback-classic-1.1.2.jar
-rw-r--r--  1 awilkinson  staff   427729  6 Jun 10:08 logback-core-1.1.2.jar
-rw-r--r--  1 awilkinson  staff   227997  6 Jun 10:09 ognl-3.0.6.jar
-rw-r--r--  1 awilkinson  staff    29257  6 Jun 10:09 slf4j-api-1.7.7.jar
-rw-r--r--  1 awilkinson  staff   273449  6 Jun 10:09 snakeyaml-1.13.jar
-rw-r--r--  1 awilkinson  staff   352813 23 Jul 16:18 spring-aop-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff   670225 23 Jul 16:18 spring-beans-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff   317609  8 Jul 13:56 spring-boot-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff   341668  8 Jul 13:56 spring-boot-autoconfigure-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff     2151  8 Jul 13:56 spring-boot-starter-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff     2183  8 Jul 13:56 spring-boot-starter-logging-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff     2244  8 Jul 13:57 spring-boot-starter-thymeleaf-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff     2139  8 Jul 13:57 spring-boot-starter-tomcat-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff     2212  8 Jul 13:57 spring-boot-starter-web-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff   977762 23 Jul 16:18 spring-context-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff   976992 23 Jul 16:18 spring-core-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff   205365 23 Jul 16:18 spring-expression-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff   672855 23 Jul 16:18 spring-web-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff   662596 23 Jul 16:18 spring-webmvc-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff   789626  6 Jun 10:09 thymeleaf-2.1.3.RELEASE.jar
-rw-r--r--  1 awilkinson  staff    24141 25 Jun 10:16 thymeleaf-layout-dialect-1.2.5.jar
-rw-r--r--  1 awilkinson  staff   218637  6 Jun 10:09 thymeleaf-spring4-2.1.3.RELEASE.jar
-rw-r--r--  1 awilkinson  staff  2648475  6 Jun 10:08 tomcat-embed-core-7.0.54.jar
-rw-r--r--  1 awilkinson  staff   174900  6 Jun 10:08 tomcat-embed-el-7.0.54.jar
-rw-r--r--  1 awilkinson  staff    38195  6 Jun 10:08 tomcat-embed-logging-juli-7.0.54.jar
-rw-r--r--  1 awilkinson  staff   132548  6 Jun 10:09 unbescape-1.0.jar
-rw-r--r--  1 awilkinson  staff    63777  6 Jun 10:07 validation-api-1.1.0.Final.jar

The three Tomcat jars (tomcat-embed-core-7.0.54.jar, tomcat-embed-el-7.0.54.jar, and tomcat-embed-logging-juli-7.0.54.jar) and spring-boot-starter-tomcat-1.1.4.RELEASE.jar should not be there. The dependency on spring-boot-starter-tomcat is declared in a custom configuration, providedRuntime, to ensure that it and its Tomcat dependencies are not packaged in WEB-INF/lib.

Looking at the project in the Package Explorer the dependencies are correct in Web App Libraries, i.e. the four problematic dependencies are not there. They are, however, present in Gradle Dependencies. In the Libraries section of the project's Java Build Path I can see that Gradle Dependencies is configured with "Publish/export dependency: /WEB-INF/lib". This appears to be the root of the problem as Gradle Dependencies contains the three Tomcat jars. If I remove this setting and republish the app, the contents of /WEB-INF/lib is then as desired:

ls -l .metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/complete/WEB-INF/lib
total 20056
-rw-r--r--  1 awilkinson  staff    4467  6 Jun 10:07 aopalliance-1.0.jar
-rw-r--r--  1 awilkinson  staff   60282  6 Jun 10:09 classmate-1.0.0.jar
-rw-r--r--  1 awilkinson  staff  574278  6 Jun 10:09 hibernate-validator-5.0.3.Final.jar
-rw-r--r--  1 awilkinson  staff   35058  9 Jun 08:52 jackson-annotations-2.3.0.jar
-rw-r--r--  1 awilkinson  staff  199621  6 Jun 10:08 jackson-core-2.3.3.jar
-rw-r--r--  1 awilkinson  staff  915481  6 Jun 10:08 jackson-databind-2.3.3.jar
-rw-r--r--  1 awilkinson  staff  659343 10 Apr 11:48 javassist-3.16.1-GA.jar
-rw-r--r--  1 awilkinson  staff   60796  6 Jun 12:13 jboss-logging-3.1.1.GA.jar
-rw-r--r--  1 awilkinson  staff   16519  6 Jun 10:09 jcl-over-slf4j-1.7.7.jar
-rw-r--r--  1 awilkinson  staff    4730  6 Jun 10:09 jul-to-slf4j-1.7.7.jar
-rw-r--r--  1 awilkinson  staff   24220  6 Jun 10:09 log4j-over-slf4j-1.7.7.jar
-rw-r--r--  1 awilkinson  staff  270750  6 Jun 10:08 logback-classic-1.1.2.jar
-rw-r--r--  1 awilkinson  staff  427729  6 Jun 10:08 logback-core-1.1.2.jar
-rw-r--r--  1 awilkinson  staff  227997  6 Jun 10:09 ognl-3.0.6.jar
-rw-r--r--  1 awilkinson  staff   29257  6 Jun 10:09 slf4j-api-1.7.7.jar
-rw-r--r--  1 awilkinson  staff  273449  6 Jun 10:09 snakeyaml-1.13.jar
-rw-r--r--  1 awilkinson  staff  352813 23 Jul 16:18 spring-aop-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff  670225 23 Jul 16:18 spring-beans-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff  317609  8 Jul 13:56 spring-boot-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff  341668  8 Jul 13:56 spring-boot-autoconfigure-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff    2151  8 Jul 13:56 spring-boot-starter-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff    2183  8 Jul 13:56 spring-boot-starter-logging-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff    2244  8 Jul 13:57 spring-boot-starter-thymeleaf-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff    2212  8 Jul 13:57 spring-boot-starter-web-1.1.4.RELEASE.jar
-rw-r--r--  1 awilkinson  staff  977762 23 Jul 16:18 spring-context-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff  976992 23 Jul 16:18 spring-core-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff  205365 23 Jul 16:18 spring-expression-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff  672855 23 Jul 16:18 spring-web-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff  662596 23 Jul 16:18 spring-webmvc-4.0.6.RELEASE.jar
-rw-r--r--  1 awilkinson  staff  789626  6 Jun 10:09 thymeleaf-2.1.3.RELEASE.jar
-rw-r--r--  1 awilkinson  staff   24141 25 Jun 10:16 thymeleaf-layout-dialect-1.2.5.jar
-rw-r--r--  1 awilkinson  staff  218637  6 Jun 10:09 thymeleaf-spring4-2.1.3.RELEASE.jar
-rw-r--r--  1 awilkinson  staff  132548  6 Jun 10:09 unbescape-1.0.jar
-rw-r--r--  1 awilkinson  staff   63777  6 Jun 10:07 validation-api-1.1.0.Final.jar

Another, possibly related, problem is what's displayed in the Server's view when the app is added to Tomcat. It nests spring-web-4.0.6.RELEASE.jar and nothing else beneath the web app:

  • Tomcat v8.0 Server at localhost
    • complete
      • spring-web-4.0.6.RELEASE.jar

This only appears to be a cosmetic problem but it did lead to some confusion

SourceSetOuptut output directories

Sorry I don't really want to create ANOTHER account on another forum for another bug tracker.

It seems that this integration plugin does not handle SourceSetOutput in the same manner as the Gradle Eclipse Plugin.

SourceSetOutput Referennce

Specifically, outputs directories added to the SourceSetOutput should be added to the compile classpath.

Example from reference:

 sourceSets {
   main {
     //let's register an output folder on the main SourceSet:
     output.dir(generatedResources, builtBy: 'generateMyResources')
     //it is now a part of the 'main' classpath and will be a part of the jar
   }
 }

In the example above, the folder is never added to Gradle Dependencies.

This seems to work as expected in the latest Eclipse Plugin, but this needs to be run on CLI.

Thanks

Edit: just to help narrow things down: this seems related to "Dependency Management". Turning this off makes it use the Eclipse plugin (if applied) and works nicely.

Tasks Quick Launcher should remember last used project

I have a workspace with several Gradle projects in it, and I have a hotkey bound to launch the Tasks Quick Launcher.

However, every time I use the hotkey to open this window, it chooses the alphabetically first project as the one to execute the task under.

It would be awesome if the launcher remembered the last project tasks were run on so that I wouldn't have to leave the keyboard to repeatedly run builds and tests.

Thanks for considering this feature request!

Doesn't work with Tomcat Plugin

https://github.com/bmuschko/gradle-tomcat-plugin

The following Exception is thrown during the "Build Model" step when I try to import a Gradle 1.6 project.

FAILURE: Build failed with an exception.

* Where:
Build file '/home/rkapsi/server/build.gradle' line: 3

* What went wrong:
A problem occurred evaluating project ':server'.
> Could not find method create() for arguments [tomcatRun, class org.gradle.api.plugins.tomcat.TomcatRun] on task set.

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.GradleScriptException: A problem occurred evaluating project ':server'.
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:54)
    at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:127)
    at org.gradle.configuration.BuildScriptProcessor.evaluate(BuildScriptProcessor.java:38)
    at org.gradle.configuration.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:44)
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:464)
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:77)
    at org.gradle.configuration.DefaultBuildConfigurer$ConfigureProject.execute(DefaultBuildConfigurer.java:38)
    at org.gradle.configuration.DefaultBuildConfigurer$ConfigureProject.execute(DefaultBuildConfigurer.java:36)
    at org.gradle.api.internal.project.AbstractProject.configure(AbstractProject.java:440)
    at org.gradle.api.internal.project.AbstractProject.allprojects(AbstractProject.java:435)
    at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:32)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:142)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
    at org.gradle.initialization.DefaultGradleLauncher.getBuildAnalysis(DefaultGradleLauncher.java:92)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:73)
    at org.gradle.tooling.internal.provider.DelegatingBuildModelAction.run(DelegatingBuildModelAction.java:44)
    at org.gradle.tooling.internal.provider.ConfiguringBuildAction.run(ConfiguringBuildAction.java:103)
    at org.gradle.launcher.exec.InProcessGradleLauncherActionExecuter.execute(InProcessGradleLauncherActionExecuter.java:39)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:45)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:42)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.ReturnResult.execute(ReturnResult.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:70)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:68)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:68)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:59)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:45)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator.runCommand(DaemonStateCoordinator.java:186)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy.doBuild(StartBuildOrRespondWithBusy.java:49)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.HandleStop.execute(HandleStop.java:36)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.CatchAndForwardDaemonFailure.execute(CatchAndForwardDaemonFailure.java:32)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.DefaultDaemonCommandExecuter.executeCommand(DefaultDaemonCommandExecuter.java:48)
    at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.handleCommand(DefaultIncomingConnectionHandler.java:155)
    at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.receiveAndHandleCommand(DefaultIncomingConnectionHandler.java:128)
    at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.run(DefaultIncomingConnectionHandler.java:116)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:66)
Caused by: org.gradle.api.internal.MissingMethodException: Could not find method create() for arguments [tomcatRun, class org.gradle.api.plugins.tomcat.TomcatRun] on task set.
    at org.gradle.api.internal.AbstractDynamicObject.methodMissingException(AbstractDynamicObject.java:68)
    at org.gradle.api.internal.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:56)
    at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:172)
    at org.gradle.api.internal.tasks.DefaultTaskContainer_Decorated.invokeMethod(Unknown Source)
    at org.gradle.api.plugins.tomcat.TomcatPlugin.configureTomcatRun(TomcatPlugin.groovy:89)
    at org.gradle.api.plugins.tomcat.TomcatPlugin.this$2$configureTomcatRun(TomcatPlugin.groovy)
    at org.gradle.api.plugins.tomcat.TomcatPlugin$this$2$configureTomcatRun.callCurrent(Unknown Source)
    at org.gradle.api.plugins.tomcat.TomcatPlugin.apply(TomcatPlugin.groovy:55)
    at org.gradle.api.plugins.tomcat.TomcatPlugin.apply(TomcatPlugin.groovy)
    at org.gradle.api.internal.plugins.DefaultProjectsPluginContainer.providePlugin(DefaultProjectsPluginContainer.java:107)
    at org.gradle.api.internal.plugins.DefaultProjectsPluginContainer.addPluginInternal(DefaultProjectsPluginContainer.java:71)
    at org.gradle.api.internal.plugins.DefaultProjectsPluginContainer.apply(DefaultProjectsPluginContainer.java:37)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyPlugin(DefaultObjectConfigurationAction.java:101)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:32)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:72)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:114)
    at org.gradle.api.internal.project.AbstractProject.apply(AbstractProject.java:846)
    at org.gradle.api.Project$apply.call(Unknown Source)
    at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.groovy:34)
    at org.gradle.api.Script$apply.callCurrent(Unknown Source)
    at build_ubia3vf1od046um9gg7knhm0q.run(/home/rkapsi/server/build.gradle:3)
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52)
    ... 53 more

Gradle Wrapper is unusable from Eclipse

I had to change the Eclipse settings for Gradle IDE to not use the Gradle wrapper anymore.
So hole system was unusable with the wrapper.
As an Example converting an existing project into a Gradle Project using Eclipse starts a task that never finishes.
This also happens with other use cases.

Issue running Spring tests/applications from STS with Gradle support

There seems to be an issue with STS/Gradle support when running/testing Spring projects.

I have installed the STS 3.6.2 together with Gradle support and the exception below was raised when I ran Spring tests. My app uses logback and it appears Gradle support added a logback jar on the test classpath causing the exception below:

java.lang.IllegalStateException: Failed to load ApplicationContext
    at org.springframework.test.context.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:91)
    at org.springframework.test.context.DefaultTestContext.getApplicationContext(DefaultTestContext.java:74)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:116)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:82)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:212)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:199)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:251)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:253)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:216)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:82)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:60)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:67)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:162)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.slf4j.impl.SimpleLoggerFactory loaded from file:/home/julien/system/spring-tool-suite-3.6.2.RELEASE-e4.4-linux-gtk-x86_64/sts-3.6.2.RELEASE/plugins/org.springsource.ide.eclipse.gradle.toolingapi_3.6.2.201410090835-RELEASE/lib/slf4j-simple-1.7.5.jar). Object of class [org.slf4j.impl.SimpleLoggerFactory] must be an instance of class ch.qos.logback.classic.LoggerContext
    at org.springframework.util.Assert.isInstanceOf(Assert.java:339)
    at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:71)
    at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithSensibleDefaults(AbstractLoggingSystem.java:62)
    at org.springframework.boot.logging.AbstractLoggingSystem.beforeInitialize(AbstractLoggingSystem.java:45)
    at org.springframework.boot.logging.Slf4JLoggingSystem.beforeInitialize(Slf4JLoggingSystem.java:36)
    at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:136)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:151)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:128)
    at org.springframework.boot.context.event.EventPublishingRunListener.publishEvent(EventPublishingRunListener.java:100)
    at org.springframework.boot.context.event.EventPublishingRunListener.started(EventPublishingRunListener.java:54)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:278)
    at org.springframework.boot.test.SpringApplicationContextLoader.loadContext(SpringApplicationContextLoader.java:105)
    at org.springframework.test.context.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:63)
    at org.springframework.test.context.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:83)
    ... 25 more

Offline installer/update-site for eclipse-integration-gradle

Does eclipse-integration-gradle provide a offline installer ? I having been looking for ways to install it on eclipse without internet connection/internet is blocked by proxy, but have not been able to. I am not sure if the offline installer is provided. If not, can I create one using the open source code ?

I think it will be a great idea to include one.

Eclipse not using the project Gradle Wrapper if not in the default folder

By default, Gradle generate wrapper with this folder name "gradle" but if I have a project that decided to change the default folder name like to "gradle-wrapper", then even if Gradle Eclipse Preferences is set to "Use Gradle wrapper's default", the wrapper is not used, and of course we get no warning about it.

On the command line, running build doesn't get confused about the custom folder name and so Eclipse should be able to handle.

Enhancing plugin with a possibility to detect relationship between generated artifacts and Eclipse Gradle projects

I have the following setup:

  • N Gradle (root )projects A1..An, each imported in Eclipse as a separate project
  • Some of the Gradle projects are dependent on artifacts (JARs) produced by other projects (they depend on snapshot versions), e.g. A1 is dependent on the artifact A2-SNAPSHOT.jar produced by A2.

When I change sources in A2 and add e.g. a new method, I'd like to be able to directly use this new method in A1, i.e. with autocompletion, etc. But today it is not possible, because this change is invisible to Eclipse. One should first build and locally deploy the artifact produced by A2. And only then Eclipse detects the change in the JAR and is able to provide autocompletion and so on.

It would be nice, if Eclipse could detect this kind of changes automatically without requiring a dedicated build/local deploy step. It would be much more convenient and less error-prone.

Idea: I can imagine that this feature would work, if the Eclipse project for A1 would depend on the Eclipse project for A2 (and with current Gradle Plugin and Gradle tooling it always depends on the JAR produced by A2 and therefore changes are not detected automatically). So, a possible solution could be that Gradle plugin detects that a given JAR is produced by a given Eclipse Gradle project and adds the dependency on that project automatically in the Eclipse project configuration.

What do you think?

Gradle Tasks View actions are not visible, was: [feature request] for Gradle Tasks View

Please consider to implements

  • hide/show enherited tasks, (there can be quite a lot of inherited from plugins tasks, for some periods build.gradle defined is all what needed). Having defined tasks to start with the same latter like "u" is work-around

  • show description of tasks

  • (the least needed) group by category and/or plugin, as gradle tasks output is

    Help tasks

    dependencies - Displays all dependencies declared in root project 'NashornSandbox'.
    dependencyInsight - Displays the insight into a specific dependency in root project 'NashornSandbox'.
    help - Displays a help message
    projects - Displays the sub-projects of root project 'NashornSandbox'.
    properties - Displays the properties of root project 'NashornSandbox'.
    tasks - Displays the tasks runnable from root project 'NashornSandbox'.

    IDE tasks

    cleanEclipse - Cleans all Eclipse files.
    cleanIdea - Cleans IDEA project files (IML, IPR)
    eclipse - Generates all Eclipse files.
    idea - Generates IDEA project files (IML, IPR, IWS)

gradle tooling must not always add java nature

the gradle tooling seems to always add a java nature to the project when doing a "refresh all". no matter if the gradle build actually adds a java nature or if dependency mgmt is enabled or not.

this is not always a good approach: e.g. i got an ear project which must not have a java nature or else i am not able to deploy it to the application server. i explicitly removed that nature in my gradle build (or rather the project does not even have the java plugin applied) but "refresh all" keeps re-adding it.

looks like this could be the code.
https://github.com/spring-projects/eclipse-integration-gradle/blob/master/org.springsource.ide.eclipse.gradle.core/src/org/springsource/ide/eclipse/gradle/core/wizards/GradleImportOperation.java#L419

the same happens on "convert to gradle project", i think:
https://github.com/spring-projects/eclipse-integration-gradle/blob/master/org.springsource.ide.eclipse.gradle.core/src/org/springsource/ide/eclipse/gradle/core/GradleProject.java#L690

would be cool if the gradle tooling supports non-java gradle projects as well.

thanks, zyro

Import of Gradle IDE project with managed dependencies never finishes in Eclipse Kepler

Our team is working on a project that used Gradle for builds, but IvyDE in Eclipse. I'm trying to migrate from IvyDE to Gradle IDE.

I've done it on Mac with Kepler, latest Gradle IDE and Groovy-Eclipse plug-ins. Everything went fine. I've committed all the changes, but when my teammates tried to update project on Windows, they all were stuck on "Update Gradle Classpath for Foo" / "Get model for 'Foo': Build" 52%.

Today I reproduced the issue on the fresh Kepler / Windows 32-bit.

Steps:

  1. Install Grails IDE plug-in. (Tried it instead of Groovy-Eclipse)
  2. Install Lombok (the project needs Lombok to compile)
  3. Install Gradle IDE plug-in.
  4. Import of existing project into workspace.
  5. Stuck (Eclipse itself is responsive, but 'Update Gradle Classpath' never finishes

Couple of things I tried so far to no avail:

  • Configure Gradle to use system installation of Gradle 1.6 (this is the version that we use) and default user's home (C:\Users\Bar.gradle)
  • Resolve and cache all dependencies via command line: >gradle dependencies. It completed just fine.

Be able to auto-build on save

Given:
In Eclipse Gradle project

when:
project --> Properties --> Builders --> New...

then:
I have the option to select 'Gradle Builder' (just like 'Ant Builder')

and:
The 'Edit launch configuration properties'-dialog has a 'Build Options'-tab allowing me to check
'[ ] During auto builds' (like when selecting 'Program' in 'New...'-dialog)

and:
This could also be used to replace the Java auto-builder in Eclipse by Gradle, and configuring Eclipse to read compiled classes from Gradle build dir.

build.gradle file disappearing from project explorer but shows in navigator

The build.gradle file is disappearing from the top level view in project explorer in Eclipse. The file is still there on the file system and it still shows in the Navigator view.

To reproduce load this project that has a build.gradle, pom.xml, and gradlew/gradle.bat file in the root.
https://github.com/spring-guides/gs-convert-jar-to-war/tree/master/complete

Sometime after opening the build.gradle file and after deploying to Tomcat server with Eclipse wtp, the build.gradle file just stops showing up in project explorer even though in Navigator view it is still there.

I'm using the latest Eclipse Luna 4.4 on a Mac OSX 10.

Cannot specify default gradle installation in linux.

The integration plugin does not allow ( see the check in
https://github.com/spring-projects/eclipse-integration-gradle/blob/aeb368250003d7a67cd64db0fc6cba69dfd6e5a4/org.springsource.ide.eclipse.gradle.core/src/org/springsource/ide/eclipse/gradle/core/validators/DistributionValidator.java#L56
)
to specify my system gradle installation to be used by it,
because:

  • I do not have gradle.bat at all,
  • my gradle.sh and gradle are in different folders:
    /etc/profile.d/gradle.sh
    /usr/share/java/gradle/bin/gradle

Can this be addressed in some way?

E.g. why not allow to specify gradle.sh/gradle.bat and gradle locations separately? Or maybe the check for gradle.bat can just be dropped?

Improve description of the Gradle IDE feature

I just installed the Gradle IDE via the p2 update manager and I see the following description:

This feature provides common components for tooling integration with Eclipse

I guess this could be more specific, like:

This feature provides common components for tooling integration of the Gradle build system with the Eclipse IDE.

Error when trying to install Eclipse integration gradle

I've got this error when trying to install Eclipse integration gradle:

Cannot complete the install because one or more required items could not be found.
Software being installed: Spring Dashboard (optional) 3.4.0.201310051510-RELEASE
(org.springsource.ide.eclipse.dashboard.feature.group 3.4.0.201310051510-RELEASE)
Missing requirement: Getting Started With Spring Integration 3.4.0.201310051510-RELEASE (org.springsource.ide.eclipse.commons.gettingstarted 3.4.0.201310051510-RELEASE) requires 'bundle org.codehaus.jackson.core 0.0.0' but it could not be found
Cannot satisfy dependency:
From: Spring Dashboard (optional) 3.4.0.201310051510-RELEASE(org.springsource.ide.eclipse.dashboard.feature.group 3.4.0.201310051510-RELEASE)
To: org.springsource.ide.eclipse.commons.gettingstarted [3.4.0.201310051510-RELEASE]

The system is Ubuntu 12.04 and Eclipse 4.2.
How can I fix this dependency?
Thank you!

Better support for grails applications

Is there any plans to add support for importing/building grails applications with gradle?

Right now, I can import the grails code (as gradle projects). But the source path, target directories, libraries and Gradle Dependencies are not set for the project.

Big problem for me: The eclipse plugin does not respect $variables in the dependencies and simply prints them 1:1 into the .classpath file for eclipse, how/where can this be fixed?

Example problem: <classpathentry kind="lib" path="D:/Project/Builds/$configuration/test.jar

where I have defined ext.configuration = 'Debug' in the parent project and the build works fine on the command line, but unfortunately the eclipse plugin does not seem to evaluate the variables.

I also suspect the "Refresh all" and "Refresh dependencies" have the same problem but in a different location in your source code, it would be cool if that place gets the $variable support as well.

Gradle still not working with Eclipse 4.4.0

While many 4.4.1 related issues have been fixed over the last few days, it seems that there're still some fixes needed.

I'm working off of the latest nightly build from 10.4.2014 (which i assume will eventually turn into 3.6.2) of the integration plugin. The project uses the Gradle wrapper, using Gradle version 2.1.

When building the model for a Gradle project in the import dialog i receive the following error:

http://libgdx.badlogicgames.com/uploads/Screen%20Shot%202014-10-06%20at%2022.01.21-AlyY1ToIMQ.png

The log file contains this:

!ENTRY org.springsource.ide.eclipse.gradle.core 4 0 2014-10-06 22:10:28.518
!MESSAGE java.io.File cannot be cast to org.gradle.api.artifacts.Configuration
!STACK 0
java.lang.reflect.InvocationTargetException
    at org.springsource.ide.eclipse.gradle.core.util.GradleRunnable.run(GradleRunnable.java:109)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: org.gradle.tooling.GradleConnectionException: Could not fetch model of type 'HierarchicalEclipseProject' using Gradle distribution 'http://services.gradle.org/distributions/gradle-2.1-all.zip'.
    at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:55)
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)
    at org.gradle.tooling.internal.consumer.DefaultModelBuilder.get(DefaultModelBuilder.java:48)
    at org.springsource.ide.eclipse.gradle.core.GradleModelProvider.buildModel(GradleModelProvider.java:407)
    at org.springsource.ide.eclipse.gradle.core.GradleModelProvider$GroupedModelProvider.ensureModels(GradleModelProvider.java:294)
    at org.springsource.ide.eclipse.gradle.core.GradleProject.getModelProvider(GradleProject.java:569)
    at org.springsource.ide.eclipse.gradle.core.GradleProject.getGradleModel(GradleProject.java:629)
    at org.springsource.ide.eclipse.gradle.core.GradleProject.getSkeletalGradleModel(GradleProject.java:654)
    at org.springsource.ide.eclipse.gradle.ui.wizards.GradleImportWizardPageOne$11.doit(GradleImportWizardPageOne.java:516)
    at org.springsource.ide.eclipse.gradle.core.util.GradleRunnable.run(GradleRunnable.java:101)
    ... 1 more
Caused by: java.lang.ClassCastException: java.io.File cannot be cast to org.gradle.api.artifacts.Configuration
    at org.gradle.plugins.ide.internal.IdeDependenciesExtractor.extractProjectDependencies(IdeDependenciesExtractor.java:52)
    at org.gradle.plugins.ide.internal.IdeDependenciesExtractor$extractProjectDependencies.call(Unknown Source)
    at org.gradle.plugins.ide.eclipse.model.internal.ClasspathFactory$3.update(ClasspathFactory.groovy:45)
    at org.gradle.plugins.ide.eclipse.model.internal.ClasspathEntryBuilder$update.call(Unknown Source)
    at org.gradle.plugins.ide.eclipse.model.internal.ClasspathFactory.createEntries(ClasspathFactory.groovy:76)
    at org.gradle.plugins.ide.eclipse.model.internal.ClasspathFactory$createEntries.call(Unknown Source)
    at org.gradle.plugins.ide.eclipse.model.EclipseClasspath.resolveDependencies(EclipseClasspath.groovy:209)
    at org.gradle.plugins.ide.internal.tooling.EclipseModelBuilder.populate(EclipseModelBuilder.java:85)
    at org.gradle.plugins.ide.internal.tooling.EclipseModelBuilder.populate(EclipseModelBuilder.java:128)
    at org.gradle.plugins.ide.internal.tooling.EclipseModelBuilder.buildAll(EclipseModelBuilder.java:61)
    at org.gradle.plugins.ide.internal.tooling.EclipseModelBuilder.buildAll(EclipseModelBuilder.java:32)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:68)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:32)
    at org.gradle.tooling.internal.provider.ConfiguringBuildAction.run(ConfiguringBuildAction.java:134)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.ReturnResult.execute(ReturnResult.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:45)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator.runCommand(DaemonStateCoordinator.java:258)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy.doBuild(StartBuildOrRespondWithBusy.java:49)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.HandleCancel.execute(HandleCancel.java:36)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.HandleStop.execute(HandleStop.java:30)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.CatchAndForwardDaemonFailure.execute(CatchAndForwardDaemonFailure.java:32)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.DefaultDaemonCommandExecuter.executeCommand(DefaultDaemonCommandExecuter.java:52)
    at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.handleCommand(DefaultIncomingConnectionHandler.java:154)
    at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.receiveAndHandleCommand(DefaultIncomingConnectionHandler.java:128)
    at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.run(DefaultIncomingConnectionHandler.java:116)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Root exception:
org.gradle.tooling.GradleConnectionException: Could not fetch model of type 'HierarchicalEclipseProject' using Gradle distribution 'http://services.gradle.org/distributions/gradle-2.1-all.zip'.
    at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:55)
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)
    at org.gradle.tooling.internal.consumer.DefaultModelBuilder.get(DefaultModelBuilder.java:48)
    at org.springsource.ide.eclipse.gradle.core.GradleModelProvider.buildModel(GradleModelProvider.java:407)
    at org.springsource.ide.eclipse.gradle.core.GradleModelProvider$GroupedModelProvider.ensureModels(GradleModelProvider.java:294)
    at org.springsource.ide.eclipse.gradle.core.GradleProject.getModelProvider(GradleProject.java:569)
    at org.springsource.ide.eclipse.gradle.core.GradleProject.getGradleModel(GradleProject.java:629)
    at org.springsource.ide.eclipse.gradle.core.GradleProject.getSkeletalGradleModel(GradleProject.java:654)
    at org.springsource.ide.eclipse.gradle.ui.wizards.GradleImportWizardPageOne$11.doit(GradleImportWizardPageOne.java:516)
    at org.springsource.ide.eclipse.gradle.core.util.GradleRunnable.run(GradleRunnable.java:101)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: java.lang.ClassCastException: java.io.File cannot be cast to org.gradle.api.artifacts.Configuration
    at org.gradle.plugins.ide.internal.IdeDependenciesExtractor.extractProjectDependencies(IdeDependenciesExtractor.java:52)
    at org.gradle.plugins.ide.internal.IdeDependenciesExtractor$extractProjectDependencies.call(Unknown Source)
    at org.gradle.plugins.ide.eclipse.model.internal.ClasspathFactory$3.update(ClasspathFactory.groovy:45)
    at org.gradle.plugins.ide.eclipse.model.internal.ClasspathEntryBuilder$update.call(Unknown Source)
    at org.gradle.plugins.ide.eclipse.model.internal.ClasspathFactory.createEntries(ClasspathFactory.groovy:76)
    at org.gradle.plugins.ide.eclipse.model.internal.ClasspathFactory$createEntries.call(Unknown Source)
    at org.gradle.plugins.ide.eclipse.model.EclipseClasspath.resolveDependencies(EclipseClasspath.groovy:209)
    at org.gradle.plugins.ide.internal.tooling.EclipseModelBuilder.populate(EclipseModelBuilder.java:85)
    at org.gradle.plugins.ide.internal.tooling.EclipseModelBuilder.populate(EclipseModelBuilder.java:128)
    at org.gradle.plugins.ide.internal.tooling.EclipseModelBuilder.buildAll(EclipseModelBuilder.java:61)
    at org.gradle.plugins.ide.internal.tooling.EclipseModelBuilder.buildAll(EclipseModelBuilder.java:32)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:68)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:32)
    at org.gradle.tooling.internal.provider.ConfiguringBuildAction.run(ConfiguringBuildAction.java:134)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.ReturnResult.execute(ReturnResult.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:45)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator.runCommand(DaemonStateCoordinator.java:258)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy.doBuild(StartBuildOrRespondWithBusy.java:49)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.HandleCancel.execute(HandleCancel.java:36)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.HandleStop.execute(HandleStop.java:30)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.CatchAndForwardDaemonFailure.execute(CatchAndForwardDaemonFailure.java:32)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)
    at org.gradle.launcher.daemon.server.exec.DefaultDaemonCommandExecuter.executeCommand(DefaultDaemonCommandExecuter.java:52)
    at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.handleCommand(DefaultIncomingConnectionHandler.java:154)
    at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.receiveAndHandleCommand(DefaultIncomingConnectionHandler.java:128)
    at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.run(DefaultIncomingConnectionHandler.java:116)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

We tell our users (libGDX) to use the Gradle Integration for Eclipse. This is currently a huge blocker for us and thousands of end users on Eclipse 4.4 and we'd appreciate any help with this.

Please support global task execution in multi-project builds

Hi,

we have the following situation:

  • root project (no Java plugin)
    • subproject 1 (with Java plugin)
    • subproject 2 (with Java plugin)

With gradle command line application I can run "gradle build" in the root project. The root project itself has no build task. Gradle automatically runs all build tasks of the subprojects.
In the Gradle Eclipse plugin I can only run tasks that are defined in the root project or explicitly select tasks of subprojects. But there is no such convenience to run all subproject tasks with the same name.

It would be great if the Eclipse integration would support this. :)

Best regards

Roland

Gradle IDE does not work with Eclipse 4.4.1 (STS 361)_

Hi,

Trying to create any Gradle Project or import existing I'm getting the below stack trace. I did not see this issue using STS360 (eclipse 4.4.0, I assume).

org.gradle.tooling.GradleConnectionException: Could not fetch model of type 'HierarchicalEclipseProject' using Gradle installation '/Users/andrey/dev/env/gradle-2.1'.
    at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:55)
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:695)
    at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)
    at org.gradle.tooling.internal.consumer.DefaultModelBuilder.get(DefaultModelBuilder.java:48)
    at org.springsource.ide.eclipse.gradle.core.GradleModelProvider.buildModel(GradleModelProvider.java:385)
    at org.springsource.ide.eclipse.gradle.core.GradleModelProvider$GroupedModelProvider.ensureModels(GradleModelProvider.java:290)
    at org.springsource.ide.eclipse.gradle.core.GradleProject.getModelProvider(GradleProject.java:569)
    at org.springsource.ide.eclipse.gradle.core.GradleProject.getGradleModel(GradleProject.java:629)
    at org.springsource.ide.eclipse.gradle.core.GradleProject.getSkeletalGradleModel(GradleProject.java:654)
    at org.springsource.ide.eclipse.gradle.core.wizards.GradleImportOperation.allProjects(GradleImportOperation.java:713)
    at org.springsource.ide.eclipse.gradle.core.wizards.GradleImportOperation.importAll(GradleImportOperation.java:718)
    at org.springsource.ide.eclipse.gradle.core.wizards.NewGradleProjectOperation.createProjectContents(NewGradleProjectOperation.java:104)
    at org.springsource.ide.eclipse.gradle.core.wizards.NewGradleProjectOperation.perform(NewGradleProjectOperation.java:82)
    at org.springsource.ide.eclipse.gradle.ui.wizards.NewGradleProjectWizard$1.doit(NewGradleProjectWizard.java:48)
    at org.springsource.ide.eclipse.gradle.core.util.GradleRunnable$1.run(GradleRunnable.java:49)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.gradle.launcher.daemon.client.DaemonConnectionException: Could not dispatch a message to the daemon.
    at org.gradle.launcher.daemon.client.DaemonClientConnection.dispatch(DaemonClientConnection.java:57)
    at org.gradle.launcher.daemon.client.DaemonClient.executeBuild(DaemonClient.java:242)
    at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:194)
    at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:77)
    at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:40)
    at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:27)
    at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:54)
    at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:31)
    at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:103)
    at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:90)
    at org.gradle.tooling.internal.provider.DefaultConnection.getModel(DefaultConnection.java:156)
    at org.gradle.tooling.internal.consumer.connection.ModelBuilderBackedModelProducer.produceModel(ModelBuilderBackedModelProducer.java:49)
    at org.gradle.tooling.internal.consumer.connection.GradleBuildAdapterProducer.produceModel(GradleBuildAdapterProducer.java:42)
    at org.gradle.tooling.internal.consumer.connection.BuildInvocationsAdapterProducer.produceModel(BuildInvocationsAdapterProducer.java:47)
    at org.gradle.tooling.internal.consumer.connection.ModelBuilderBackedConsumerConnection.run(ModelBuilderBackedConsumerConnection.java:55)
    at org.gradle.tooling.internal.consumer.DefaultModelBuilder$1.run(DefaultModelBuilder.java:59)
    at org.gradle.tooling.internal.consumer.connection.LazyConsumerActionExecutor.run(LazyConsumerActionExecutor.java:82)
    at org.gradle.tooling.internal.consumer.connection.ProgressLoggingConsumerActionExecutor.run(ProgressLoggingConsumerActionExecutor.java:58)
    at org.gradle.tooling.internal.consumer.connection.LoggingInitializerConsumerActionExecutor.run(LoggingInitializerConsumerActionExecutor.java:44)
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:55)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:695)
Caused by: org.gradle.messaging.remote.internal.MessageIOException: Could not write message Build{id=f9e78986-be3d-4cd0-b6b9-84ade9cf53b0.1, currentDir=/Users/andrey/dev/env/sts-bundle/sts-3.6.1.RELEASE/STS.app/Contents/MacOS} to '/0:0:0:0:0:0:0:1:60050'.
    at org.gradle.messaging.remote.internal.inet.SocketConnection.dispatch(SocketConnection.java:115)
    at org.gradle.launcher.daemon.client.DaemonClientConnection.dispatch(DaemonClientConnection.java:51)
    ... 23 more
Caused by: java.io.NotSerializableException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1165)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:329)
    at java.util.HashMap.writeObject(HashMap.java:1001)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:950)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1482)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1413)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1159)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1535)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1413)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1159)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1535)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1413)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1159)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:329)
    at org.gradle.messaging.remote.internal.Message.send(Message.java:40)
    at org.gradle.messaging.remote.internal.DefaultMessageSerializer$MessageWriter.write(DefaultMessageSerializer.java:62)
    at org.gradle.messaging.remote.internal.inet.SocketConnection.dispatch(SocketConnection.java:112)
    ... 24 more

providedCompile in war

I have a project which uses org.springsource.ide.eclipse.gradle.classpathcontainer to provide the library dependencies defined in build.gradle in the eclipse project. Various dependencies are marked with providedCompile.

When publishing the web-project onto the configured server in eclipse the dependencies marked with providedCompile are included in the produced war as well.

Is there a workaround available?

gradle.build command "antTaskName.logging.level = LogLevel.INFO" has no effect inside eclipfse gradle integration but works on the command line running "gradle antTaskName"

Gradle IDE version: 3.6.2
eclipse.buildId=4.4.1.M20140925-0400

I did import my ant buold file with ant.importBuild 'build/build.xml'. Normal output of the ant taskt (stdout or special ant logging level output) like shown when running in ant is now suppressed when executing this imported ant task using the command line:

gradle antSetupStagingArea

:antSetupStagingArea

BUILD SUCCESSFUL

If antSetupStagingArea.logging.level = LogLevel.INFO is added to build.gradle the output on the command line is the same as in ant:

gradle antSetupStagingArea

:antSetupStagingArea
[ant:delete] Deleting directory ..
[ant:delete] Deleting directory ..
[ant:mkdir] Created dir: .. 
[ant:copy] Copying 2 files to ..
...

BUILD SUCCESSFUL

When running the same gradle task inside Eclipse Gradle IDE the command antSetupStagingArea.logging.level = LogLevel.INFO does not show effect and the output is just like without that command - no normal ant logging information is shown:

[sts] -----------------------------------------------------
[sts] Starting Gradle build for the following tasks: 
[sts]      antSetupStagingArea
[sts] -----------------------------------------------------
:antSetupStagingArea

BUILD SUCCESSFUL

Total time: 7.098 secs
[sts] -----------------------------------------------------
[sts] Build finished succesfully!
[sts] Time taken: 0 min, 7 sec
[sts] -----------------------------------------------------

Is it a bug?
How to show full logging information?

Eventually the Gradle Eclipse Integration should assist the user in setting up the required configuration.

Invalid Stream Header opening Installer

I download the Spring Tool Suite (STS 3.4.0 release for Mac) from http://spring.io/tools/sts.

I open the spring-tool-suite-3.4.0.RELEASE-e4.3.1-macosx-cocoa-x86_64-installer.dmg

I double click on the Installer Spring Tool Suite 3.4.0 RELEASE.

I get the following error:

Error: java.io.StreamCorruptedException: invalid stream header: 6578636C

Dependencies in random order

Using the org.springsource.ide.eclipse.gradle.classpathcontainer to add gradle dependencies to an eclipse classpath generates a random order of these dependencies.
The classpath container should respect the dependency order given in the gradle build file.

special gradle editor

Hi,

it would be nice to have an editor for gradle buildfiles which has auto completion for some dsl snippets. In general gradle allows very dynamic dsls, because all the groovy and java things are allowed.
But minimal the static things like dependencies, tasks, dsl extensions? could be auto completed.

Best regards

myEclipse integration Gradle

Hi..

can you tell me how to integrate the gradle in myeclipse professional version, and also tell me how to create a java gradle project.

Please support checkout of hierarchical multi-projects

Hi,

it would be great if users could check-out a folder from Subversion and all Gradle subprojects would be detected and added to Eclipse automatically. At the moment users need to import projects from subfolders manually.

Thanks in advance.

Best regards

Roland

Groovy Editor doesn't support Log injection

Hi,

groovy itself has a feature to dynamically create a field log which is a logger, when annotating the class with @log4j or @log or @SLF..... This is currently not supported by the groovy editor, because if I use this and want to access log this reference could not be resolved.

Best regards
Markus

IncompatibleClassChangeError when creating gradle project in eclipse

I got below error when creating gradle project in eclipse.
image

eclipse version is 4.4.0
Gradle IDE version is 3.6.2.201410090835-RELEASE

gradle version and jdk version
image

gradle config in eclipse
image
image

Details log:
!ENTRY org.springsource.ide.eclipse.gradle.core 4 0 2014-11-27 11:03:55.233
!MESSAGE class org.gradle.tooling.internal.provider.ClientSidePayloadClassLoaderFactory$MixInClassLoader$AnnotationDetector has interface org.objectweb.asm.ClassVisitor as super class
!STACK 0
org.gradle.tooling.GradleConnectionException: Could not fetch model of type 'HierarchicalEclipseProject' using Gradle installation 'D:\development\gradle-2.2.1'.
at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:55)
at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57)
at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)
at org.gradle.tooling.internal.consumer.DefaultModelBuilder.get(DefaultModelBuilder.java:48)
at org.springsource.ide.eclipse.gradle.core.GradleModelProvider.buildModel(GradleModelProvider.java:414)
at org.springsource.ide.eclipse.gradle.core.GradleModelProvider$GroupedModelProvider.ensureModels(GradleModelProvider.java:295)
at org.springsource.ide.eclipse.gradle.core.GradleProject.getModelProvider(GradleProject.java:568)
at org.springsource.ide.eclipse.gradle.core.GradleProject.getGradleModel(GradleProject.java:628)
at org.springsource.ide.eclipse.gradle.core.GradleProject.getSkeletalGradleModel(GradleProject.java:653)
at org.springsource.ide.eclipse.gradle.core.wizards.GradleImportOperation.allProjects(GradleImportOperation.java:713)
at org.springsource.ide.eclipse.gradle.core.wizards.GradleImportOperation.importAll(GradleImportOperation.java:718)
at org.springsource.ide.eclipse.gradle.core.wizards.NewGradleProjectOperation.createProjectContents(NewGradleProjectOperation.java:104)
at org.springsource.ide.eclipse.gradle.core.wizards.NewGradleProjectOperation.perform(NewGradleProjectOperation.java:82)
at org.springsource.ide.eclipse.gradle.ui.wizards.NewGradleProjectWizard$1.doit(NewGradleProjectWizard.java:47)
at org.springsource.ide.eclipse.gradle.core.util.GradleRunnable$1.run(GradleRunnable.java:53)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.IncompatibleClassChangeError: class org.gradle.tooling.internal.provider.ClientSidePayloadClassLoaderFactory$MixInClassLoader$AnnotationDetector has interface org.objectweb.asm.ClassVisitor as super class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.gradle.tooling.internal.provider.ClientSidePayloadClassLoaderFactory$MixInClassLoader.transform(ClientSidePayloadClassLoaderFactory.java:59)
at org.gradle.internal.classloader.TransformingClassLoader.findClass(TransformingClassLoader.java:46)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:249)
at org.gradle.tooling.internal.provider.DefaultPayloadClassLoaderRegistry$2.resolveClass(DefaultPayloadClassLoaderRegistry.java:77)
at org.gradle.tooling.internal.provider.ClientSidePayloadClassLoaderRegistry$2.resolveClass(ClientSidePayloadClassLoaderRegistry.java:88)
at org.gradle.tooling.internal.provider.PayloadSerializer$2.readClass(PayloadSerializer.java:124)
at org.gradle.tooling.internal.provider.PayloadSerializer$2.readClassDescriptor(PayloadSerializer.java:104)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1578)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1494)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1748)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1327)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)
at org.gradle.tooling.internal.provider.PayloadSerializer.deserialize(PayloadSerializer.java:137)
at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:111)
at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:94)
at org.gradle.tooling.internal.provider.DefaultConnection.getModel(DefaultConnection.java:152)
at org.gradle.tooling.internal.consumer.connection.CancellableModelBuilderBackedModelProducer.produceModel(CancellableModelBuilderBackedModelProducer.java:50)
at org.gradle.tooling.internal.consumer.connection.GradleBuildAdapterProducer.produceModel(GradleBuildAdapterProducer.java:42)
at org.gradle.tooling.internal.consumer.connection.BuildInvocationsAdapterProducer.produceModel(BuildInvocationsAdapterProducer.java:44)
at org.gradle.tooling.internal.consumer.connection.ModelBuilderBackedConsumerConnection.run(ModelBuilderBackedConsumerConnection.java:62)
at org.gradle.tooling.internal.consumer.DefaultModelBuilder$1.run(DefaultModelBuilder.java:59)
at org.gradle.tooling.internal.consumer.connection.LazyConsumerActionExecutor.run(LazyConsumerActionExecutor.java:88)
at org.gradle.tooling.internal.consumer.connection.ProgressLoggingConsumerActionExecutor.run(ProgressLoggingConsumerActionExecutor.java:58)
at org.gradle.tooling.internal.consumer.connection.LoggingInitializerConsumerActionExecutor.run(LoggingInitializerConsumerActionExecutor.java:44)
at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:55)
at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)

Error in installing gradle plugin-Gradle Integration for Eclipse(4.4)

Hi,
I am using STS 3.1.0 version and trying to install gradle plugin-Gradle Integration for Eclipse(4.4),but I am facing the problem while trying to install.
I am getting following error.

Provisioning exception
org.eclipse.equinox.p2.core.ProvisionException: Unable to read repository at http://download.springsource.com/release/TOOLS/third-party/m2e-sts310/site.xml.
at org.eclipse.equinox.internal.p2.updatesite.UpdateSite.loadActualSiteFile(UpdateSite.java:233)
at org.eclipse.equinox.internal.p2.updatesite.UpdateSite.load(UpdateSite.java:144)
at org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory.initializeRepository(UpdateSiteMetadataRepositoryFactory.java:99)
at org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory.load(UpdateSiteMetadataRepositoryFactory.java:59)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:57)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:758)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:651)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:165)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.(CompositeMetadataRepository.java:105)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:122)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:57)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:758)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:651)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
at org.eclipse.epp.internal.mpc.ui.operations.AbstractProvisioningOperation.addRepositories(AbstractProvisioningOperation.java:91)
at org.eclipse.epp.internal.mpc.ui.operations.ProfileChangeOperationComputer.computeInstallableUnits(ProfileChangeOperationComputer.java:262)
at org.eclipse.epp.internal.mpc.ui.operations.ProfileChangeOperationComputer.run(ProfileChangeOperationComputer.java:123)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://download.springsource.com/release/TOOLS/third-party/m2e-sts310/site.xml
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1625)
at org.eclipse.ecf.provider.filetransfer.retrieve.UrlConnectionRetrieveFileTransfer.getDecompressedStream(UrlConnectionRetrieveFileTransfer.java:542)
at org.eclipse.ecf.provider.filetransfer.retrieve.UrlConnectionRetrieveFileTransfer.openStreams(UrlConnectionRetrieveFileTransfer.java:312)
at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:879)
at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:570)
at org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocolRetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAdapter.java:106)
at org.eclipse.equinox.internal.p2.transport.ecf.FileReader.sendRetrieveRequest(FileReader.java:422)

Can any one please help me to resolve this problem..?

I even tried installing the gradle using below URL.

http://dist.springsource.com/snapshot/TOOLS/gradle/nightly (latest development snapshot)
http://dist.springsource.com/milestone/TOOLS/gradle (latest milestone build)
http://dist.springsource.com/release/TOOLS/gradle (latest release)

but all in vain.I will end up getting the following eror.

Unable to read repository at http://dist.springsource.com/snapshot/TOOLS/gradle/nightly/site.xml.
Unable to read repository at http://dist.springsource.com/snapshot/TOOLS/gradle/nightly/site.xml.
Server returned HTTP response code: 403 for URL: http://dist.springsource.com/snapshot/TOOLS/gradle/nightly/site.xml

please help me to resolve .

Thanks.

Error importing projects - Build Model: InconsistenProjectHierarchyException

I have a project with sub-projects (https://github.com/i23098/Collections) that compiles correctly on the command-line. When I try to import the project in Eclipse I get an error and tells me to check the log... Checking it, it has:

!ENTRY org.springsource.ide.eclipse.gradle.core 4 0 2014-11-09 17:03:13.404
!MESSAGE Gradle project hierarchy is inconsistent for '/home/ralmeida/workspace-collections/Collections'
!STACK 0
java.lang.reflect.InvocationTargetException
at org.springsource.ide.eclipse.gradle.core.util.GradleRunnable.run(GradleRunnable.java:113)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: org.springsource.ide.eclipse.gradle.core.InconsistenProjectHierarchyException: Gradle project hierarchy is inconsistent for '/home/ralmeida/workspace-collections/Collections'
at org.springsource.ide.eclipse.gradle.core.util.ExceptionUtil.inconsistentProjectHierachy(ExceptionUtil.java:82)
at org.springsource.ide.eclipse.gradle.core.GradleModelProvider$GroupedModelProvider.getCachedModel(GradleModelProvider.java:339)
at org.springsource.ide.eclipse.gradle.core.GradleProject.getGradleModel(GradleProject.java:634)
at org.springsource.ide.eclipse.gradle.core.GradleProject.getSkeletalGradleModel(GradleProject.java:653)
at org.springsource.ide.eclipse.gradle.ui.wizards.GradleImportWizardPageOne$11.doit(GradleImportWizardPageOne.java:516)
at org.springsource.ide.eclipse.gradle.core.util.GradleRunnable.run(GradleRunnable.java:105)
... 1 more
Root exception:
org.springsource.ide.eclipse.gradle.core.InconsistenProjectHierarchyException: Gradle project hierarchy is inconsistent for '/home/ralmeida/workspace-collections/Collections'
at org.springsource.ide.eclipse.gradle.core.util.ExceptionUtil.inconsistentProjectHierachy(ExceptionUtil.java:82)
at org.springsource.ide.eclipse.gradle.core.GradleModelProvider$GroupedModelProvider.getCachedModel(GradleModelProvider.java:339)
at org.springsource.ide.eclipse.gradle.core.GradleProject.getGradleModel(GradleProject.java:634)
at org.springsource.ide.eclipse.gradle.core.GradleProject.getSkeletalGradleModel(GradleProject.java:653)
at org.springsource.ide.eclipse.gradle.ui.wizards.GradleImportWizardPageOne$11.doit(GradleImportWizardPageOne.java:516)
at org.springsource.ide.eclipse.gradle.core.util.GradleRunnable.run(GradleRunnable.java:105)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)

Eclipse IDE for Java EE Developers 4.4.1.20140925-1820
Gradle IDE 3.6.2.201410090835-RELEASE (configured to use gradle wrapper at http://services.gradle.org/distributions/gradle-2.1-bin.zip)

Any chance to update to Kepler soon ?

With Kepler, it's not possible to add the STS plugin.

Is there any real incompatibility or it's just a matter of version declaration in a manifest ?

NPE in external tool configurations

Steps to reproduce:

  1. Create gradle project (any type)
  2. build it
  3. select run as/gradle build
  4. select run as/external tool configuration
  5. left click on any item in tree on the left beside gradle build configurations. i.e. 'program', 'ant build', etc
  6. Most irritating thing is that after that eclipse response to any action with exception, so you must kill process

If you somehow delete all gradle external tool configurations this bug is no more reproduced. You can navigate and left click on any item in the tree
log file https://gist.github.com/OverDrone/45abdec4daca2489cbe5

'remap jar to gradle' causes quadratic dependency resolution

Using version 3.6.3.201410291755-CI-B310 from the nightly update site.

I have a multi module project set up with one main project and three sub projects depending upon each other. One of those provides Java classes, one is a war project using the former, the last one is an ear project' combining both.

When config option Remap Jars to Gradle Projects is activated, updating dependencies for all/multiple modules of a multi module project (by marking them all in the project explorer and hitting Refresh Dependencies from the Gradle submenu) takes more time and resources than it should.

I modified the individual build.gradle files to create a time stamp file whenever those build.gradle files are executed/evaluated. Doing this with 4 projects, I can see 5 files being created per project:

  • one of the original dependency evaluation from job Refresh project models
  • one for each single job Update Gradle Classpath for projectN

Thus, the quadratic runtime complexity.

While this isn't really a big deal with small multi module setups, it can become very time-intensive with every project that is added to that setup.

Disabling the aforementioned jar mapping option "fixes" this: each project is only evaluated once (and, thus, only one the initial time stamp file is created), but, alas, jar remapping doesn't work.

This shouldn't happen. The individual build scripts have already been evaluated once, the artifacts they produce should be known. All the information needed for updating the individual Gradle class path containers should be readily available for reuse.

I cannot comment on the remapping functionality regarding Maven projects as I don't run a setup like that, but it might be worth looking into it as well.

Running any gradle task with Eclipse custom builder triggers Model build on main project

I have a custom builder that runs in Eclipse for every manual/autobuild and clean. Running any gradle task, triggers this custom builder, which in turn triggers a 'Building Gradle Model' of my main gradle project.

The 'Building Gradle Model' execution wipes out the console output of the task Gradle task that I was interested in.

For now I am working around this by redirecting output to a file in External Tool Configurations->Common.

Gradle tasks timeout after build.gradle modified while jetty is running

I am using jetty plugin to test my work. I have noticed that if I modify build.gradle while jetty is started (by gradle), than all other task executions timeout with this exeption:

Timeout waiting to lock buildscript class cache for build file '{project}/build.gradle' ({gradle_home}/caches/1.11/scripts/build_307eri5rn2tng6h3pvh4svs119/ProjectScript/buildscript). It is currently in use by another Gradle instance.
Owner PID: unknown
Our PID: 7053
Owner Operation: unknown
Our operation: Initialize cache
Lock file: {gradle_home}/caches/1.11/scripts/build_307eri5rn2tng6h3pvh4svs119/ProjectScript/buildscript/cache.properties.lock
Could not execute build using Gradle installation '{1.11-gradle-install-location}/gradle'.

The only way to get out of this situation is to manually kill gradle daemons.

Android Gradle plugin

Hello

I try to use Gradle inside Eclipse with your plugin (Gradle Integration for Eclipse 3.3.0.RELEASE). My Eclipse is Android Developer Tools. My project is an Android project. I converted it to Gradle Project. I connected android plugin http://tools.android.com/tech-docs/new-build-system/user-guide version 0.5.6 using following command:

apply plugin: 'android'

In this case "Gradle Dependencies" disappeared from the classpath.

As result I would like to build my Android application using both ADT and Gradle.

Probably I make something wrong. Some working example could be very helpful.

updating of Gradle dependencies or initializing makes Eclipse unusable

This becomes big issue on slow/unstable Internet connection (I am currently in Beijing China).

Updating of Gradle dependencies or initializing makes Eclipse unusable,
as maven or gradle integration goes with Eclipse Job, next operation may become blocked (Eclipse says "User operation is blocked").

Initialization may be very long time or even fail.

Is recommendation to build first outside of Eclipse?
I hoped with gradle that would be fixed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.