• This repository has been archived on 09/Jul/2022
  • Stars
    star
    300
  • Rank 133,683 (Top 3 %)
  • Language
    Java
  • License
    Eclipse Public Li...
  • Created almost 12 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Gradle Tooling for Eclipse

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.

More Repositories

1

spring-mvc-showcase

Demonstrates the features of the Spring MVC web framework
Java
4,994
star
2

spring-security-oauth

Support for adding OAuth1(a) and OAuth2 features (consumer and provider) for Spring web applications.
Java
4,683
star
3

sagan

The spring.io site and reference application
HTML
3,127
star
4

spring-native

Spring Native is now superseded by Spring Boot 3 official native support
Java
2,746
star
5

spring-data-book

Spring Data - The Definitive Guide - Modern Data Access for Enterprise Java Developers
Java
1,379
star
6

greenhouse

Reference web application for Spring technologies and social destination for Spring developers.
Java
1,320
star
7

spring-android-samples

Spring for Android Sample Applications
Java
761
star
8

spring-android

Support for Spring's RestTemplate within native Android applications
Java
704
star
9

spring-cloud-gcp

Integration for Google Cloud Platform APIs with Spring
Java
698
star
10

spring-roo

Spring Roo is a next-generation rapid application development tool for Java developers. It focuses on higher productivity, stock-standard Java APIs, high usability, avoiding engineering trade-offs and facilitating easy Roo removal.
Java
695
star
11

spring-hadoop

Spring for Apache Hadoop is a framework for application developers to take advantage of the features of both Hadoop and Spring.
Java
624
star
12

spring-social

Allows you to connect your applications with SaaS providers such as Facebook and Twitter.
Java
615
star
13

spring-cloud-aws

All development has moved to https://github.com/awspring/spring-cloud-aws Integration for Amazon Web Services APIs with Spring
Java
586
star
14

spring-social-samples

Samples of using Spring Social
Java
532
star
15

spring-cloud-security

Security concerns for distributed applications implemented in Spring
Java
523
star
16

spring-hadoop-samples

Spring Hadoop Samples
Java
490
star
17

spring-xd

Spring XD makes it easy to solve common big data problems such as data ingestion and export, real-time analytics, and batch workflow orchestration
Java
481
star
18

spring-scala

Scala
462
star
19

rest-shell

Command-line shell for interacting with Spring HATEOAS-compliant REST resources
Java
455
star
20

spring-data-keyvalue-examples

Examples using Spring Data Key Values features
XSLT
434
star
21

spring-security-saml

SAML extension for the Spring Security project
Java
417
star
22

spring-data-solr

Spring Data - Apache Solr integration
Java
385
star
23

reactive-streams-commons

A joint research effort for building highly optimized Reactive-Streams compliant operators.
Java
353
star
24

spring-integration-kafka

Java
325
star
25

authserver

Java
319
star
26

spring-security-oauth2-boot

Provides spring-security-oauth2 & Boot 2 integration (i.e. autoconfig)
Java
314
star
27

spring-ide

Spring Development Environment for Eclipse
Java
304
star
28

spring-batch-admin

Spring Batch Admin: runtime application and utilities for running Jobs with Spring Batch
Java
271
star
29

spring-social-facebook

Facebook API binding and connect support.
Java
244
star
30

sso

Java
238
star
31

spring-cloud-pipelines

[DEPRECATED] Codebase containing Concourse and Jenkins opinionated pipelines. Moved to https://github.com/CloudPipelines/
Shell
235
star
32

aws-maven

Java
215
star
33

platform

The lean and modular platform for modern applications
Groovy
215
star
34

sample-zuul-filters

Samples of custom Zuul 1 filters for use in Spring Cloud Netflix
Java
210
star
35

spring-integration-java-dsl

Java
193
star
36

spring-mobile

Extensions to Spring MVC for developing mobile web applications.
Java
181
star
37

spring-xd-samples

Sample starter applications and code for use with the Spring XD project
Java
180
star
38

spring-security-javaconfig

Spring Security Java Configuration Support (to be merged with spring-security-config)
Java
176
star
39

spring-cloud-cluster

This project is now superseded by code in Spring Integration.
Java
155
star
40

head-first-reactive-with-spring-and-reactor

Java
152
star
41

grails-data-mapping

Grails Data Mapping Project
151
star
42

spring-data-document-examples

Examples using Spring Data Document features
Java
148
star
43

spring-cloud-etcd

Java
144
star
44

spring-mobile-samples

Spring Mobile Sample Applications
JavaScript
144
star
45

Spring-Integration-in-Action

Source code to accompany the book
Java
134
star
46

aws-refapp

Refernce app for spring-cloud-aws
Java
132
star
47

spring-social-twitter

Twitter API binding and connect support.
Java
120
star
48

toolsuite-distribution

the distribution build for the Spring Tool Suite and the Groovy/Grails Tool Suite
Shell
109
star
49

spring-sync

Enables efficient communication and data synchronization between clients and Spring server applications.
Java
107
star
50

springbox-cloud

Spring Cloud Reference Application
Java
107
star
51

understanding

105
star
52

zero-downtime-deployment

Code backing up the article about zero downtime deployment
Java
101
star
53

hystrix-dashboard

Java
99
star
54

spring-cloud-stream-app-starters

Starters for Spring Cloud Stream Apps
Java
93
star
55

reactor-samples

Sample code of how to do simple things in Reactor
Java
92
star
56

tensorflow

Java
90
star
57

spring-data-jdbc-ext

Spring Data JDBC Extensions. Support for database specific extensions to standard JDBC including support for Oracle RAC fast connection failover, AQ JMS support and support for using advanced data types.
Java
88
star
58

spring-social-github

Github API binding and connect support.
Java
87
star
59

reactor-spring

Reactor 2.0 Spring Components
Java
87
star
60

spring-data-rest-webmvc

Spring Data REST Exporter starter web application
Java
86
star
61

spring-boot-r2dbc

Experimental Spring Boot support for R2DBC
84
star
62

spring-init

Java
83
star
63

reactor-ipc

Crossing IO boundaries on the JVM with Reactive Streams
CSS
78
star
64

spring-framework-issues

User-contributed projects reproducing issues logged against Spring Framework GitHub issues. Note: this is not the Spring Framework issue tracker -->
Java
78
star
65

spring-cloud-loadbalancer

Exploratory repo for a load balancer implementation. Now part of spring-cloud-commons
Java
75
star
66

spring-social-linkedin

LinkedIn API binding and connect support.
Java
72
star
67

spring-test-htmlunit

Provides integration with Spring Test MVC and HtmlUnit
Java
71
star
68

html5expense

Expense reporting reference app demonstrating HTML5 and cross-platform mobile
JavaScript
71
star
69

scripts

Shell
68
star
70

spring-integration-dsl-scala

Spring Integration Scala DSL
Scala
67
star
71

gs-routing-and-filtering

Routing and Filtering :: Learn how to route and filter requests to a microservice using Netflix Zuul
Java
67
star
72

spring-cloud-dataflow-server-kubernetes

Spring Cloud Data Flow Implementation for Kubernetes
XSLT
65
star
73

spring-data-graph

Provides support to increase developer productivity in Java when using a graph database like Neo4j. Uses familiar Spring concepts such as a template classes for core API usage and provides an annotation based programming model using AspectJ.
Java
65
star
74

spring-gemfire-examples

Sample projects to get started with Spring Gemfire
Java
64
star
75

fortune-teller

Yet another great Spring Cloud sample app...
Java
60
star
76

zuul-server

Java
60
star
77

reactor-core-dotnet

Fluent reactive programming library for C# on top of Reactive-Streams, mirroring the Reactor-Core for JVM
C#
58
star
78

spring-flex

Spring BlazeDS Integration
Java
57
star
79

spring-cloud-config-server-mongodb

Java
57
star
80

spring-data-solr-examples

Spring Data Solr - Examples
Java
57
star
81

spring-integration-dsl-groovy

Groovy DSL for Spring Integration
Groovy
56
star
82

spring-insight-plugins

Public Repository of Plugins for Spring Insight
Java
55
star
83

messaging-application

Sample application used for the presentation showing different test types for an event driven application
Java
53
star
84

propdeps-plugin

New "provided" and "optiona;
Groovy
52
star
85

reactor-scala-extensions

A scala extension for Project Reactor's Flux and Mono
Scala
52
star
86

cdc-debezium

Change Data Capture (CDC) source that captures and streams change events from various databases. Leverages on Debezium and supports MySQL, PostgreSQL, MongoDB, Oracle and SQL Server databases.
Java
52
star
87

reactor-core-js

The Reactive-Streams based implementation of Reactor-Core in Javascript
JavaScript
51
star
88

spring-python

This project has moved to https://github.com/springpython/springpython. This repo is an archived fork and will not see more updates.
Python
49
star
89

spring-cloud-rsocket

This repository is now inactive. Please see https://github.com/rsocket-routing/
Java
49
star
90

spring-data-graph-examples

Examples using Spring Data Graph features
Java
49
star
91

flight627

prototype work towards cloud-based developer tooling
JavaScript
48
star
92

greenhouse-android

Greenhouse native Android client
Java
48
star
93

spring-tenancy

Spring Tenancy
Java
47
star
94

cloudpipelines-scripts

https://cloud.spring.io/cloudpipelines-scripts/
Shell
46
star
95

spring-security-saml-dsl

Spring security okta dsl.
Java
43
star
96

spring-hadoop-samples-old

Sample Applications for getting started with Spring for Apache Hadoop
Java
43
star
97

reactor-tools

A set of tools to improve Project Reactor's debugging and development experience.
Java
43
star
98

spring-cloud-stream-modules

Spring Boot based enterprise integration applications that provide integration with external systems
Java
42
star
99

spring-net-rest

Simplifies communication with HTTP servers, and enforces RESTful principles. It handles HTTP connections, leaving application code to provide URLs (with possible template variables) and extract results.
C#
42
star
100

cloudfoundry-service-broker

Sample project for Spring Cloud - Cloud Foundry Service Broker
Java
41
star