Proposal to modularise core for 1.4

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Proposal to modularise core for 1.4

Graeme Rocher-2
Hi all,

I want to split Grails core into a multi-project Gradle build for 1.4. I want to have a project per core plugin so the split might look like:

* grails-core
     * core (all shared code)
     * controllers
     * gsp
     * hibernate
     * webflow
     * i18n
     * etc.

The motivation is so that we can more easily define our dependency boundaries and more easily delivery releases of individual modules (particularly things like hibernate and webflow which are already separate plugins)

Is everyone ok with this? It is slightly breaking change as we will have a new set of JAR files for 1.4 and above

Cheers
Graeme
 
---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: Proposal to modularise core for 1.4

Alex Tkachman
For me as newbie in groovy sources it sounds like great idea

On Tue, Nov 23, 2010 at 11:43 AM, Graeme Rocher <[hidden email]> wrote:

> Hi all,
>
> I want to split Grails core into a multi-project Gradle build for 1.4. I want to have a project per core plugin so the split might look like:
>
> * grails-core
>     * core (all shared code)
>     * controllers
>     * gsp
>     * hibernate
>     * webflow
>     * i18n
>     * etc.
>
> The motivation is so that we can more easily define our dependency boundaries and more easily delivery releases of individual modules (particularly things like hibernate and webflow which are already separate plugins)
>
> Is everyone ok with this? It is slightly breaking change as we will have a new set of JAR files for 1.4 and above
>
> Cheers
> Graeme
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: Proposal to modularise core for 1.4

pledbrook
In reply to this post by Graeme Rocher-2
> I want to split Grails core into a multi-project Gradle build for 1.4. I want to have a project per core plugin so the split might look like:
>
> * grails-core
>     * core (all shared code)
>     * controllers
>     * gsp
>     * hibernate
>     * webflow
>     * i18n
>     * etc.
>
> The motivation is so that we can more easily define our dependency boundaries and more easily delivery releases of individual modules (particularly things like hibernate and webflow which are already separate plugins)

It should also make it easier to navigate the Grails core, since
people will know what classes relate to which bits of Grails
functionality. But how dow is ease the delivery of individual modules?
Are you suggesting releasing them independently?

> Is everyone ok with this? It is slightly breaking change as we will have a new set of JAR files for 1.4 and above

I don't imagine this would be a problem, so I'm fine with the change.

Peter

--
Peter Ledbrook
Grails Advocate
SpringSource - A Division of VMware

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: Proposal to modularise core for 1.4

Graeme Rocher
Administrator
On Tue, Nov 23, 2010 at 11:07 AM, Peter Ledbrook <[hidden email]> wrote:

>> I want to split Grails core into a multi-project Gradle build for 1.4. I want to have a project per core plugin so the split might look like:
>>
>> * grails-core
>>     * core (all shared code)
>>     * controllers
>>     * gsp
>>     * hibernate
>>     * webflow
>>     * i18n
>>     * etc.
>>
>> The motivation is so that we can more easily define our dependency boundaries and more easily delivery releases of individual modules (particularly things like hibernate and webflow which are already separate plugins)
>
> It should also make it easier to navigate the Grails core, since
> people will know what classes relate to which bits of Grails
> functionality. But how dow is ease the delivery of individual modules?
> Are you suggesting releasing them independently?

Not for all subprojects, but for example the webflow code could
benefit from bug fixes outside the life cycle of Grails. The same
might be the case of other parts of core, I'm not sure.

Cheers

>
>> Is everyone ok with this? It is slightly breaking change as we will have a new set of JAR files for 1.4 and above
>
> I don't imagine this would be a problem, so I'm fine with the change.
>
> Peter
>
> --
> Peter Ledbrook
> Grails Advocate
> SpringSource - A Division of VMware
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>



--
Graeme Rocher
Grails Project Lead
SpringSource - A Division of VMware
http://www.springsource.com

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: Proposal to modularise core for 1.4

Jeff Scott Brown
In reply to this post by Graeme Rocher-2
On Tue, Nov 23, 2010 at 3:43 AM, Graeme Rocher <[hidden email]> wrote:

> Hi all,
>
> I want to split Grails core into a multi-project Gradle build for 1.4. I want to have a project per core plugin so the split might look like:
>
> * grails-core
>     * core (all shared code)
>     * controllers
>     * gsp
>     * hibernate
>     * webflow
>     * i18n
>     * etc.
>
> The motivation is so that we can more easily define our dependency boundaries and more easily delivery releases of individual modules (particularly things like hibernate and webflow which are already separate plugins)
>
> Is everyone ok with this? It is slightly breaking change as we will have a new set of JAR files for 1.4 and above
>

I am in favor of the proposed re-org.

For webflow in particular, why don't we pull that out altogether and
treat it like any other external plugin?



jb
--
Jeff Brown
SpringSource
http://www.springsource.com/

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
http://www.autismspeaks.org/

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: Proposal to modularise core for 1.4

ld@ldaley.com

On 27/11/2010, at 3:54 PM, Jeff Brown wrote:

> On Tue, Nov 23, 2010 at 3:43 AM, Graeme Rocher <[hidden email]> wrote:
>> Hi all,
>>
>> I want to split Grails core into a multi-project Gradle build for 1.4. I want to have a project per core plugin so the split might look like:
>>
>> * grails-core
>>     * core (all shared code)
>>     * controllers
>>     * gsp
>>     * hibernate
>>     * webflow
>>     * i18n
>>     * etc.
>>
>> The motivation is so that we can more easily define our dependency boundaries and more easily delivery releases of individual modules (particularly things like hibernate and webflow which are already separate plugins)
>>
>> Is everyone ok with this? It is slightly breaking change as we will have a new set of JAR files for 1.4 and above

Seems like a good move forward to me, +1.
---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: Proposal to modularise core for 1.4

scryan
Will this allow us to shift to more of a maven or ivy like build and shift away from the application.properties file.  It is becoming very limiting having to maintain dependencies in both the buildconfig and the application.properties and the fact that the application.properties is ignored by plugins is even more of a challenge.  I assume that in moving to 1.4 you would collapse into a single location for dependency management for applications and plugins?  I like the modular approach although i am not sure how much is going to be in the i18n piece and if they will move at different speeds.  It will get very confusing if they release at different speeds and there is not a centralized dependency management approach or are you going to force all modules to release at the same time at the same version?

It would also allow us to substituted alternatives more easily like new template languages instead of gsp and new no-sql solutions rather than hibernate.

All in all this seems like a good move.  +1

Scott Ryan

On Nov 28, 2010, at 5:11 PM, Luke Daley wrote:

>
> On 27/11/2010, at 3:54 PM, Jeff Brown wrote:
>
>> On Tue, Nov 23, 2010 at 3:43 AM, Graeme Rocher <[hidden email]> wrote:
>>> Hi all,
>>>
>>> I want to split Grails core into a multi-project Gradle build for 1.4. I want to have a project per core plugin so the split might look like:
>>>
>>> * grails-core
>>>    * core (all shared code)
>>>    * controllers
>>>    * gsp
>>>    * hibernate
>>>    * webflow
>>>    * i18n
>>>    * etc.
>>>
>>> The motivation is so that we can more easily define our dependency boundaries and more easily delivery releases of individual modules (particularly things like hibernate and webflow which are already separate plugins)
>>>
>>> Is everyone ok with this? It is slightly breaking change as we will have a new set of JAR files for 1.4 and above
>
> Seems like a good move forward to me, +1.
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: Proposal to modularise core for 1.4

Graeme Rocher
Administrator
In reply to this post by Jeff Scott Brown
On Sat, Nov 27, 2010 at 6:54 AM, Jeff Brown <[hidden email]> wrote:

> On Tue, Nov 23, 2010 at 3:43 AM, Graeme Rocher <[hidden email]> wrote:
>> Hi all,
>>
>> I want to split Grails core into a multi-project Gradle build for 1.4. I want to have a project per core plugin so the split might look like:
>>
>> * grails-core
>>     * core (all shared code)
>>     * controllers
>>     * gsp
>>     * hibernate
>>     * webflow
>>     * i18n
>>     * etc.
>>
>> The motivation is so that we can more easily define our dependency boundaries and more easily delivery releases of individual modules (particularly things like hibernate and webflow which are already separate plugins)
>>
>> Is everyone ok with this? It is slightly breaking change as we will have a new set of JAR files for 1.4 and above
>>
>
> I am in favor of the proposed re-org.
>
> For webflow in particular, why don't we pull that out altogether and
> treat it like any other external plugin?

It is already an external plugin the main code for it though is
provided by code in core.

I personally prefer having plugins that have minimal code in them and
reference JAR files that provide the code (which is the case now). The
key though is separating the release life cycle of the webflow code
from core.

Cheers


>
>
>
> jb
> --
> Jeff Brown
> SpringSource
> http://www.springsource.com/
>
> Autism Strikes 1 in 166
> Find The Cause ~ Find The Cure
> http://www.autismspeaks.org/
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>



--
Graeme Rocher
Grails Project Lead
SpringSource - A Division of VMware
http://www.springsource.com

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: Proposal to modularise core for 1.4

ld@ldaley.com

On 29/11/2010, at 7:16 PM, Graeme Rocher wrote:

> On Sat, Nov 27, 2010 at 6:54 AM, Jeff Brown <[hidden email]> wrote:
>> On Tue, Nov 23, 2010 at 3:43 AM, Graeme Rocher <[hidden email]> wrote:
>>> Hi all,
>>>
>>> I want to split Grails core into a multi-project Gradle build for 1.4. I want to have a project per core plugin so the split might look like:
>>>
>>> * grails-core
>>>     * core (all shared code)
>>>     * controllers
>>>     * gsp
>>>     * hibernate
>>>     * webflow
>>>     * i18n
>>>     * etc.
>>>
>>> The motivation is so that we can more easily define our dependency boundaries and more easily delivery releases of individual modules (particularly things like hibernate and webflow which are already separate plugins)
>>>
>>> Is everyone ok with this? It is slightly breaking change as we will have a new set of JAR files for 1.4 and above
>>>
>>
>> I am in favor of the proposed re-org.
>>
>> For webflow in particular, why don't we pull that out altogether and
>> treat it like any other external plugin?
>
> It is already an external plugin the main code for it though is
> provided by code in core.
>
> I personally prefer having plugins that have minimal code in them and
> reference JAR files that provide the code (which is the case now). The
> key though is separating the release life cycle of the webflow code
> from core.

Probably goes without saying, but for 2.0 it would be nice to be able to build a standalone jar as part of a plugin project. When you hit this threshold now (having enough source to warrant a jar) things get a bit painful unless you are using a multi-module m2 or gradle build, and that brings its own set of problems.
---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email