Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » B3 » Gradle
Gradle [message #490069] Wed, 07 October 2009 07:37 Go to next message
Romain Deltour is currently offline Romain DeltourFriend
Messages: 8
Registered: July 2009
Junior Member
Hi,

I would suggest to have a look at Gradle - http://www.gradle.org/ - which could potentially offer a solid base for b3

Gradle is a build system written in Groovy and Java, and their catch phrase is "it never locks you in".

- concrete build functionality is brought by plugins (e.g. Java plugin, Groovy plugin, etc). A PDE build may well be such a plugin
- Ant tasks and builds are first-class citizen: it should facilitate the re-use existing Ant-based parts of the PDE build
- build files are written in Groovy, build-by-convention is favored. It allows for very readable build syntax, very much like the proposed b3 simplified syntax.
- dependency management is based on Apache Ivy, but custom resolvers can potentially be implemented (eg for p2).

Well, that's my 2 cents. I'm by no means a Gradle nor a PDE build expert, merely a user of both. Gradle is very flexible and extensible and I don't think it overlaps with Eclipse build technologies the same way Maven does, it could on the contrary be leveraged to not have to reinvent the wheel.

Kind Regards,
Romain.

Re: Gradle [message #490073 is a reply to message #490069] Wed, 07 October 2009 08:20 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Romain,
Gradle looks nice but as far as I can see it doesn't meet our objectives very well. How would Gradle help us maintain a
live build model in the Eclipse IDE? It seems to me like one of Gradles main objectives is to be independent of the IDE.
I respect that but it makes a tight integration with the Eclipse IDE very hard.

We want b3 to build unattended (headlessly), that's for sure, but we also want a very tight integration with the Eclipse
IDE so that all aspects of the model can be communicated to the user. We want warning and error markers that make the
user observant of problems in the build model, just like such markers function for other things (like Java code, PDE
artifacts, etc.).

b3 is a build system for Eclipse and we intend to leverage p2, PDE-build, the platform, and other Eclipse technologies
to every extent possible. I'm afraid that is in direct conflict with the objectives of the Gradle project.

Kind Regards,
Thomas Hallgren


On 10/07/2009 09:37 AM, Romain Deltour wrote:
> Hi,
>
> I would suggest to have a look at Gradle - http://www.gradle.org/ -
> which could potentially offer a solid base for b3
>
> Gradle is a build system written in Groovy and Java, and their catch
> phrase is "it never locks you in".
>
> - concrete build functionality is brought by plugins (e.g. Java plugin,
> Groovy plugin, etc). A PDE build may well be such a plugin - Ant tasks
> and builds are first-class citizen: it should facilitate the re-use
> existing Ant-based parts of the PDE build
> - build files are written in Groovy, build-by-convention is favored. It
> allows for very readable build syntax, very much like the proposed b3
> simplified syntax.
> - dependency management is based on Apache Ivy, but custom resolvers can
> potentially be implemented (eg for p2).
>
> Well, that's my 2 cents. I'm by no means a Gradle nor a PDE build
> expert, merely a user of both. Gradle is very flexible and extensible
> and I don't think it overlaps with Eclipse build technologies the same
> way Maven does, it could on the contrary be leveraged to not have to
> reinvent the wheel.
>
> Kind Regards,
> Romain.
>
>
Re: Gradle [message #490076 is a reply to message #490073] Wed, 07 October 2009 09:06 Go to previous messageGo to next message
Romain Deltour is currently offline Romain DeltourFriend
Messages: 8
Registered: July 2009
Junior Member
Well, as I said I'm not an expert in Gradle or PDE build, so I can't elaborate on how Gradle would help maintaining a live build model, but I'm not sure it is completely out of scope:
Gradle is not a "black box" tool and there is a complete API that can be used to implement a tight integration with the IDE. I was actually thinking it could be used as "framework" which provides off-the-shelf features: clear syntax, integration with existing Ant tasks, etc. The integration with the IDE would be provided by an Eclipse/b3 plugin.

I'm sure the Gradle guys would kindly answer more detailed questions. Maybe it won't end up being a good match, but it may also bring some interesting perspective.

Finally, I thought b3 was not only "a build system for Eclipse" but also targetting RCP apps, OSGi bundles, plain old Java apps, etc. In this context it's not very different from other build systems. The tight IDE integration and live build model is the main difference, but once again I'm not sure the existing build systems prevent that.

Romain.
Re: Gradle [message #490091 is a reply to message #490076] Wed, 07 October 2009 09:58 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
On 10/07/2009 11:06 AM, Romain Deltour wrote:

> Finally, I thought b3 was not only "a build system for Eclipse" but also
> targetting RCP apps, OSGi bundles, plain old Java apps, etc.

Yes of course. b3 will help you build all of those things with Eclipse, leveraging Eclipse technology. Many build
systems, Gradle included, make it a point to not build things the Eclipse way so that they avoid hard dependencies to
Eclipse. Our situation is the opposite.

> In this
> context it's not very different from other build systems. The tight IDE
> integration and live build model is the main difference, but once again
> I'm not sure the existing build systems prevent that.
>
While I think it's true that b3 will integrate well with other build systems, I don't think we want to make it a bridge
to one specific build system. Especially not if that other system is built on another plug-in framework and introduces
another language. There's also the issue with Intellectual Property Clearance. I see that Gradle itself is under Apache
license which is good, but what about the things that it in turn depends on?

Regards,
Thomas Hallgren
Re: Gradle [message #490105 is a reply to message #490069] Wed, 07 October 2009 11:27 Go to previous message
Henrik Lindberg is currently offline Henrik LindbergFriend
Messages: 2509
Registered: July 2009
Senior Member
On 10/7/09 9:37 AM, Romain Deltour wrote:
> I would suggest to have a look at Gradle - http://www.gradle.org/ -
> which could potentially offer a solid base for b3
>
Gradle looks like a very nice build system. I like it a lot more than
ANT for instance. Thanks for bringing it to our attention.

I found some interesting features, but also things that are quite
different from the approach we like - i.e. b3 uses a declarative model
that is used by an engine (idea being that different engines can be used
- for instance one that generates static scripts for a particular
environment and configuration). It would be possible to generate the
build as a gradle build for instance :)

Using a declarative model makes a lot of things possible, like reasoning
about the content - some things in gradle are declarative (e.g.
dependencies), but it is a lot harder to analyze and reason about
general scripting code (that is backed by the full power of groovy/java).

There is certainly a lot of similarities - the top level declaration of
"this is the things I want to get done" - have a lot in common.

Regards
- henrik
Re: Gradle [message #581485 is a reply to message #490073] Wed, 07 October 2009 09:06 Go to previous message
Romain Deltour is currently offline Romain DeltourFriend
Messages: 8
Registered: July 2009
Junior Member
Well, as I said I'm not an expert in Gradle or PDE build, so I can't elaborate on how Gradle would help maintaining a live build model, but I'm not sure it is completely out of scope:
Gradle is not a "black box" tool and there is a complete API that can be used to implement a tight integration with the IDE. I was actually thinking it could be used as "framework" which provides off-the-shelf features: clear syntax, integration with existing Ant tasks, etc. The integration with the IDE would be provided by an Eclipse/b3 plugin.

I'm sure the Gradle guys would kindly answer more detailed questions. Maybe it won't end up being a good match, but it may also bring some interesting perspective.

Finally, I thought b3 was not only "a build system for Eclipse" but also targetting RCP apps, OSGi bundles, plain old Java apps, etc. In this context it's not very different from other build systems. The tight IDE integration and live build model is the main difference, but once again I'm not sure the existing build systems prevent that.

Romain.
Re: Gradle [message #581492 is a reply to message #581485] Wed, 07 October 2009 09:58 Go to previous message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
On 10/07/2009 11:06 AM, Romain Deltour wrote:

> Finally, I thought b3 was not only "a build system for Eclipse" but also
> targetting RCP apps, OSGi bundles, plain old Java apps, etc.

Yes of course. b3 will help you build all of those things with Eclipse, leveraging Eclipse technology. Many build
systems, Gradle included, make it a point to not build things the Eclipse way so that they avoid hard dependencies to
Eclipse. Our situation is the opposite.

> In this
> context it's not very different from other build systems. The tight IDE
> integration and live build model is the main difference, but once again
> I'm not sure the existing build systems prevent that.
>
While I think it's true that b3 will integrate well with other build systems, I don't think we want to make it a bridge
to one specific build system. Especially not if that other system is built on another plug-in framework and introduces
another language. There's also the issue with Intellectual Property Clearance. I see that Gradle itself is under Apache
license which is good, but what about the things that it in turn depends on?

Regards,
Thomas Hallgren
Previous Topic:Build File Syntax on Wiki
Next Topic:Gradle
Goto Forum:
  


Current Time: Thu Apr 25 22:13:43 GMT 2024

Powered by FUDForum. Page generated in 0.03179 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top