Details Group Tabs

Project Import

You can import an existing Gradle project through the Eclipse Import Wizard functionality. In distinct steps, the import wizard allows you to specify the location of the Gradle project, configure the various optional, advanced settings, and see a summary of how the project will be imported. The summary page will also warn if you are using a target Gradle version for which Buildship is not able to offer all its functionality.

During the import, the Eclipse projects are created and added to the current workspace. In case of Java projects, the source paths and the classpath container which contains the external dependencies and the project dependencies are configured. The content of the classpath container is refreshed each time the project is opened.

You can stop the import at any time by pressing the Stop button in the Progress View.

Project Creation

You can create a new Gradle project and add it the current workspace with the New Gradle Project wizard. The wizard allows you to specify the project name and location, the working sets, and the target Gradle distribution. To create the project, the wizard executes Gradle's built-in init task with the java-library template.

Tasks View

In the Gradle Tasks View, you can see the tasks of all the imported Gradle projects. The tasks can be sorted, filtered, and executed. The selection in Eclipse can be linked to the selection of the tasks view, both ways. The content of the tasks view can be refreshed, meaning the latest versions of the Gradle build files are loaded. You can navigate from a project to its build file through the context menu.

Task Execution

You can run Gradle tasks from the Tasks View through double-clicking, right-clicking, or via keyboard. In case multiple tasks are selected, they are passed to Gradle in the order they were selected. Each time a Gradle build is executed with a different set of tasks, a new Gradle run configuration is created. You can edit existing run configurations and create new run configurations through the Run Configurations dialog. All settings can be configured in the run configurations dialog.

Whenever a Gradle build is executed, a new Gradle console is opened that contains the output from the build. You can cancel the execution of the build by pressing the Stop button in the Gradle console. The Gradle consoles can be closed individually or all at once.

Executions View

Whenever a Gradle build is executed, a new Execution page is opened in the Executions View that displays the progress of running the build. You can see the different life-cycle phases of the build, the tasks and tests being run, and the success of each operation.

You can switch between the execution pages and you can jump to the corresponding Gradle console. You can also rerun a finished build. You can cancel the execution of the build by pressing the Stop button in the execution page. The execution pages can be closed individually or all at once.

This is available if the Gradle build is run with target Gradle version 2.5 or newer.

Test Execution

You can run tests from the Execution page through right-clicking on a node that represents a test class or test method. A new Gradle build is executed and the selected tests are run by Gradle. If the test task to which the tests belongs has setup and cleanup tasks configured, those are run accordingly. Once the build has finished and there are test failures, you can rerun all failed tests by pressing the Rerun Failed Tests button in the execution page.

This is available if the Gradle build is run with target Gradle version 2.6 or newer.

Basic Web Project Support

If you import a web project and your Eclipse contains the Web Tools Platform plugin then Buildship will automatically generate the WTP configuration files. The generated files will respect all customizations that are defined in the eclipse-wtp Gradle plugin.

Build scans

You can enable build scans from the preferences for the entire workspace or for projects individually. If enabled and the project applies the com.gradle.build-scan plugin then a build scan is published after each build automatically. You can open the published build scans by clicking on the URL in the console view or by clicking on the 'Open build scan' button on the Execution view's toolbar.

Hierarchical preferences

There are three hierarchical levels of configuration in Buildship. You can define default workspace settings for the project import, the build scans capturing, and for the offline mode. You can override those workspace settings in the project configuration settings. Finally, you can override the project configuration settings on any run configuration.

Cancellation

You can cancel all long-running operations like importing a project, executing tasks, refreshing the tasks, etc.

This is available if the Gradle build is run with target Gradle version 2.1 or newer.

Offline mode

Just like the build scans, you can enable the offline mode from the workspace or from the project preferences. If enabled, the project synchronization and the build execution won't try to connect to the internet so that you can continue working without continuous connectivity.

Composite build support

Gradle 3.1 introduced the concept of composite builds. To quote the release notes, "they allow you to integrate independent Gradle builds, effectively giving you something like a multi-project build while keeping the builds separate". For more details, check out the Gradle User Guide.

Staring from version 2.0, Buildship can seamlessly import composite builds into Eclipse.

Imported composite builds have a few special traits:

All included builds are synchronized together.

Binary dependencies between included builds are replaced with Eclipse project dependencies. Also, the included build dependency substitution rules declared in the settings.gradle file are respected.

Current limitations:

Executing tasks in included builds is currently not supported. It will be enabled once the task addressing will be implemented in Gradle.

The Import was failing because even though the exact same project was building with the exact same gradle version outside of Eclipse/Buildship, it was failing during Import because Import doesn't call Gradle from within the root project folder. I made my script more robust by not requiring this, but I don't think I should have.

Perfectly good project building with gradle 4.10.2, recent Eclipse (Oxygen) and Import with "Specific gradle version = 4.10.2" fails with error "Could not fetch model of type "GradleBuild'" even though the binary is there and I just wget it.

After installing "Buildship Gradle Integration", when trying to update Eclipse, I got the following error messages:
- "JDT Core patch for Groovy-Eclipse plugin on Eclipse 4.5" is not applicable to the current configuration and will not be installed.
- An internal error occurred during: "Searching alternate solutions...": org.codehaus.groovy.eclipse 2.9.2.xx-201608111527-e45 is unknown in the solver!

This is strange because
(a) I'm running Eclipse 4.6 Neon; why does it want to install a patch for Eclipse 4.5?
(b) The "buildship gradle" plugin does not have any requirements named; why is it then searching for groovy-eclipse?

I 'fixed' this by installing the "groovy-eclipse" plugin for Eclipse 4.6 Neon. Unfortunately, there is no groovy-eclipse plugin for Neon available on the marketplace. To install it nonetheless, do this:
- add a software site: "groovy-eclipse for eclipse 4.6"=dist.springsource.org/snapshot/GRECLIPSE/e4.6/ (for eclipse 4.5 mars, use dist.springsource.org/snapshot/GRECLIPSE/e4.5/)
- from the software site, install at least "Groovy-Eclipse Feature" and "JDT Core patch for Grooy-Eclipse plugin on Eclipse 4.6"
(See https://marketplace.eclipse.org/comment/3749#comment-3749)

My current status:
- No error messages on Eclipse updates
- Instead, on updates, eclipse wants to update "JDT Core patch for Grooy-Eclipse plugin on Eclipse 4.6" to version "2.9.2-xx-201608111517-e46". But that version is already installed.

Needs a "Configure->Convert to Gradle Project" option like most similar plugins have. If you want to convert a pre existing Eclipse project to a Gradle project, or check out from an SVN/Git repo and your client doesn't let you use the new project wizard for a Gradle import, it seems like you're kinda hosed...