You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Bolz, Michael" <mi...@sap.com> on 2014/12/22 06:23:03 UTC

Separation of Olingo extensions

Hi all,

during merge and integration of "OLINGO-193 - Spring Support [1]" into the main branch I though about the idea to do a clear separation between the main Olingo OData library and extensions like JPA processor, Java Annotation processor or this Spring support extension.
This could be reached with creation of a separate repository just for such extensions and that each extension is not a maven sub project (extending the Olingo pom) but extending directly the Apache parent pom.

The positive points are:
- That the core Olingo library and all extensions will be clearly separated
- It would be easier to release them distinct from the main library (and vice versa)
- Integration of another new extension in future would be easier

The negative points is that we need another git repository.

What do you think about such an idea?

Kind regards,
Michael

[1]: https://issues.apache.org/jira/browse/OLINGO-193 <https://issues.apache.org/jira/browse/OLINGO-193>

Re: Separation of Olingo extensions

Posted by "Bolz, Michael" <mi...@sap.com>.
Hi Giacomo,

thanks for your feedback and opinion.

My main thought was one so called "extension repository" so that it is easy to say this is the core library repository and this is the repository for all extensions (or frameworks) related to the core library.

But considering your points and with todays existing separation via file and POM hierarchy I think a good solution could be as follows:
- Extensions must not be referenced as sub-module from Olingo parent pom.
- Extensions must have their own version so that they could be updated and released (and deployed to Maven repo) independent from main Olingo library.

And in addition a folder named "odata2-ext(ensions)" should be created. 

Sounds this better?

Kind regards,
Michael

> On 22 Dec 2014, at 08:24, Giacomo Pati <gi...@pati.ch> wrote:
> 
> Hi Michael
> 
> On Dec 22, 2014 6:23 AM, "Bolz, Michael" <mi...@sap.com> wrote:
>> 
>> Hi all,
>> 
>> during merge and integration of "OLINGO-193 - Spring Support [1]" into
> the main branch I though about the idea to do a clear separation between
> the main Olingo OData library and extensions like JPA processor, Java
> Annotation processor or this Spring support extension.
>> This could be reached with creation of a separate repository just for
> such extensions and that each extension is not a maven sub project
> (extending the Olingo pom) but extending directly the Apache parent pom.
>> 
>> The positive points are:
>> - That the core Olingo library and all extensions will be clearly
> separated
> 
> Are they not separated enough today (hierarchically in the file system) ?
> 
>> - It would be easier to release them distinct from the main library (and
> vice versa)
> 
> Do we really need a separate repository to achieve this? Consequently,
> shouldn't you propose a repository per extension in this case?
> 
>> - Integration of another new extension in future would be easier
> 
> Another new repository?
> 
>> 
>> The negative points is that we need another git repository.
> 
> Consequently many!
>> 
>> What do you think about such an idea?
> 
> This is my personal opinion, I don't believe multiple repositories makes
> anything easier. If someone works on an extension she will most probably
> want the core sources checked out as well. So what do we positively gain
> with multiple repositories?
> 
> I'd propose to refactor current layout if we want to achieve separate life
> cycles of different modules if it isn't already good enough.
> 
>> 
>> Kind regards,
>> Michael
>> 
>> [1]: https://issues.apache.org/jira/browse/OLINGO-193
> --
> Giacomo Pati


Re: Separation of Olingo extensions

Posted by Giacomo Pati <gi...@pati.ch>.
Hi Michael

On Dec 22, 2014 6:23 AM, "Bolz, Michael" <mi...@sap.com> wrote:
>
> Hi all,
>
> during merge and integration of "OLINGO-193 - Spring Support [1]" into
the main branch I though about the idea to do a clear separation between
the main Olingo OData library and extensions like JPA processor, Java
Annotation processor or this Spring support extension.
> This could be reached with creation of a separate repository just for
such extensions and that each extension is not a maven sub project
(extending the Olingo pom) but extending directly the Apache parent pom.
>
> The positive points are:
> - That the core Olingo library and all extensions will be clearly
separated

Are they not separated enough today (hierarchically in the file system) ?

> - It would be easier to release them distinct from the main library (and
vice versa)

Do we really need a separate repository to achieve this? Consequently,
shouldn't you propose a repository per extension in this case?

> - Integration of another new extension in future would be easier

Another new repository?

>
> The negative points is that we need another git repository.

Consequently many!
>
> What do you think about such an idea?

This is my personal opinion, I don't believe multiple repositories makes
anything easier. If someone works on an extension she will most probably
want the core sources checked out as well. So what do we positively gain
with multiple repositories?

I'd propose to refactor current layout if we want to achieve separate life
cycles of different modules if it isn't already good enough.

>
> Kind regards,
> Michael
>
> [1]: https://issues.apache.org/jira/browse/OLINGO-193
--
Giacomo Pati