You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by Grzegorz Grzybek <gr...@gmail.com> on 2014/03/25 09:45:17 UTC

Clean build of Felix

Hello all!

I was trying to build clean trunk of Felix. I added new *profile*consisting of
*all* modules and it was built fine without problems on JDK6 and Maven
3.0.x.

So my first question is: is the ANT buildfile still needed? The problematic
MNG-1682 issue was resolved long time ago...

But after looking more deeply into the POMs, I saw weird things which makes
clean building impossble:
 - there are 3 versions of org.apache.felix:felix-parent used as parent POM
(1.2.0, 1.2.1 and 2.1.0)
 - there is even org.apache.felix:felix:1.0.4 used as parent POM in some
artifacts
 - some artifacts have wrong parent.relativePath set
 - there are *eleven* versions of maven-bundle-plugin used:
    - 1.0.0
    - 1.4.0
    - 1.4.3
    - 2.0.0
    - 2.0.1
    - 2.1.0
    - 2.3.4
    - 2.3.5
    - 2.3.6
    - 2.3.7
    - 2.4.1-SNAPSHOT

Shouldn't Felix allow this kind of clean, offline build?

regards
Grzegorz Grzybek

Re: Clean build of Felix

Posted by Grzegorz Grzybek <gr...@gmail.com>.
>
> By the way if we talk about Felix "components" - Why there are "org.osgi.*"
>> and "javax.servlet.*" modules instead of direct dependencies on e.g.,
>> org.osgi:core:4.3.0 or javax.servlet:javax.servlet-api (which is proper
>> OSGi bundle for 3.x version and there must be somewhere proper 2.4
>> version)?
>>
>
> The OSGi ones existed before they were in Maven, so we had to roll our
> own. They no longer are updated and maintained by us.
>

Great to hear ;)

Grzegorz

Re: Clean build of Felix

Posted by "Richard S. Hall" <he...@ungoverned.org>.
On 3/25/14, 10:50 , Grzegorz Grzybek wrote:
>>> And (in Git terms) decomposite the repository into separate repos (or
>>> submodules)?
>> Well, in SVN terms, all Apache projects share one big tree, and you always
>> just checkout specific parts (submodules as you wish). Admittedly, you can
>> probably not yet checkout a single subproject of Felix right now, but you
>> should already be able to just build one subproject.
>>
> Yes, thanks.
>
> By the way if we talk about Felix "components" - Why there are "org.osgi.*"
> and "javax.servlet.*" modules instead of direct dependencies on e.g.,
> org.osgi:core:4.3.0 or javax.servlet:javax.servlet-api (which is proper
> OSGi bundle for 3.x version and there must be somewhere proper 2.4 version)?

The OSGi ones existed before they were in Maven, so we had to roll our 
own. They no longer are updated and maintained by us.

-> richard

>
> That reminds me of the times where everyone has it's copy of servlet api
> (axis1, glassfish, geronimo, ...)
>
> regards
> Grzegorz Grzybek
>


Re: Clean build of Felix

Posted by Grzegorz Grzybek <gr...@gmail.com>.
>
> > And (in Git terms) decomposite the repository into separate repos (or
> > submodules)?
>
> Well, in SVN terms, all Apache projects share one big tree, and you always
> just checkout specific parts (submodules as you wish). Admittedly, you can
> probably not yet checkout a single subproject of Felix right now, but you
> should already be able to just build one subproject.
>

Yes, thanks.

By the way if we talk about Felix "components" - Why there are "org.osgi.*"
and "javax.servlet.*" modules instead of direct dependencies on e.g.,
org.osgi:core:4.3.0 or javax.servlet:javax.servlet-api (which is proper
OSGi bundle for 3.x version and there must be somewhere proper 2.4 version)?

That reminds me of the times where everyone has it's copy of servlet api
(axis1, glassfish, geronimo, ...)

regards
Grzegorz Grzybek

Re: Clean build of Felix

Posted by Marcel Offermans <ma...@luminis.nl>.
On 25 Mar 2014, at 15:34 , Grzegorz Grzybek <gr...@gmail.com> wrote:

> Thanks for replies!
> 
> That's what I thought - that Felix modules are more _loosely coupled_ than
> [maven] modules of for example CXF or Karaf.
> So maybe you get rid of this Ant build?

We probably should. Let’s wait and see a bit if anybody has a good reason to hold on to it?

> And (in Git terms) decomposite the repository into separate repos (or
> submodules)?

Well, in SVN terms, all Apache projects share one big tree, and you always just checkout specific parts (submodules as you wish). Admittedly, you can probably not yet checkout a single subproject of Felix right now, but you should already be able to just build one subproject.

Greetings, Marcel


Re: Clean build of Felix

Posted by Grzegorz Grzybek <gr...@gmail.com>.
Thanks for replies!

That's what I thought - that Felix modules are more _loosely coupled_ than
[maven] modules of for example CXF or Karaf.
So maybe you get rid of this Ant build?
And (in Git terms) decomposite the repository into separate repos (or
submodules)?

regards
Grzegorz Grzybek


2014-03-25 15:17 GMT+01:00 Marcel Offermans <ma...@luminis.nl>:

> I agree, subprojects evolve at their own rate. We could encourage
> everybody to move to the latest plugin and parent though. Maybe we should
> remove the top level build that tries to build all subprojects completely,
> and just explain to everybody to go into the subproject of choice to build
> it.
>
> Greetings, Marcel
>
>
> On 25 Mar 2014, at 14:33 , Richard S. Hall <he...@ungoverned.org> wrote:
>
> > There has never really been a reliable way to build trunk. For the most
> part, we just build the subprojects of interest.
> >
> > I'm not sure there is much value in a trunk build, especially if it
> causes subprojects to have to evolve in lock step.
> >
> > -> richard
> >
> > On 3/25/14, 04:45 , Grzegorz Grzybek wrote:
> >> Hello all!
> >>
> >> I was trying to build clean trunk of Felix. I added new
> *profile*consisting of
> >> *all* modules and it was built fine without problems on JDK6 and Maven
> >> 3.0.x.
> >>
> >> So my first question is: is the ANT buildfile still needed? The
> problematic
> >> MNG-1682 issue was resolved long time ago...
> >>
> >> But after looking more deeply into the POMs, I saw weird things which
> makes
> >> clean building impossble:
> >>  - there are 3 versions of org.apache.felix:felix-parent used as parent
> POM
> >> (1.2.0, 1.2.1 and 2.1.0)
> >>  - there is even org.apache.felix:felix:1.0.4 used as parent POM in some
> >> artifacts
> >>  - some artifacts have wrong parent.relativePath set
> >>  - there are *eleven* versions of maven-bundle-plugin used:
> >>     - 1.0.0
> >>     - 1.4.0
> >>     - 1.4.3
> >>     - 2.0.0
> >>     - 2.0.1
> >>     - 2.1.0
> >>     - 2.3.4
> >>     - 2.3.5
> >>     - 2.3.6
> >>     - 2.3.7
> >>     - 2.4.1-SNAPSHOT
> >>
> >> Shouldn't Felix allow this kind of clean, offline build?
> >>
> >> regards
> >> Grzegorz Grzybek
> >>
> >
>
>

Re: Clean build of Felix

Posted by Marcel Offermans <ma...@luminis.nl>.
I agree, subprojects evolve at their own rate. We could encourage everybody to move to the latest plugin and parent though. Maybe we should remove the top level build that tries to build all subprojects completely, and just explain to everybody to go into the subproject of choice to build it.

Greetings, Marcel


On 25 Mar 2014, at 14:33 , Richard S. Hall <he...@ungoverned.org> wrote:

> There has never really been a reliable way to build trunk. For the most part, we just build the subprojects of interest.
> 
> I'm not sure there is much value in a trunk build, especially if it causes subprojects to have to evolve in lock step.
> 
> -> richard
> 
> On 3/25/14, 04:45 , Grzegorz Grzybek wrote:
>> Hello all!
>> 
>> I was trying to build clean trunk of Felix. I added new *profile*consisting of
>> *all* modules and it was built fine without problems on JDK6 and Maven
>> 3.0.x.
>> 
>> So my first question is: is the ANT buildfile still needed? The problematic
>> MNG-1682 issue was resolved long time ago...
>> 
>> But after looking more deeply into the POMs, I saw weird things which makes
>> clean building impossble:
>>  - there are 3 versions of org.apache.felix:felix-parent used as parent POM
>> (1.2.0, 1.2.1 and 2.1.0)
>>  - there is even org.apache.felix:felix:1.0.4 used as parent POM in some
>> artifacts
>>  - some artifacts have wrong parent.relativePath set
>>  - there are *eleven* versions of maven-bundle-plugin used:
>>     - 1.0.0
>>     - 1.4.0
>>     - 1.4.3
>>     - 2.0.0
>>     - 2.0.1
>>     - 2.1.0
>>     - 2.3.4
>>     - 2.3.5
>>     - 2.3.6
>>     - 2.3.7
>>     - 2.4.1-SNAPSHOT
>> 
>> Shouldn't Felix allow this kind of clean, offline build?
>> 
>> regards
>> Grzegorz Grzybek
>> 
> 


Re: Clean build of Felix

Posted by "Richard S. Hall" <he...@ungoverned.org>.
There has never really been a reliable way to build trunk. For the most 
part, we just build the subprojects of interest.

I'm not sure there is much value in a trunk build, especially if it 
causes subprojects to have to evolve in lock step.

-> richard

On 3/25/14, 04:45 , Grzegorz Grzybek wrote:
> Hello all!
>
> I was trying to build clean trunk of Felix. I added new *profile*consisting of
> *all* modules and it was built fine without problems on JDK6 and Maven
> 3.0.x.
>
> So my first question is: is the ANT buildfile still needed? The problematic
> MNG-1682 issue was resolved long time ago...
>
> But after looking more deeply into the POMs, I saw weird things which makes
> clean building impossble:
>   - there are 3 versions of org.apache.felix:felix-parent used as parent POM
> (1.2.0, 1.2.1 and 2.1.0)
>   - there is even org.apache.felix:felix:1.0.4 used as parent POM in some
> artifacts
>   - some artifacts have wrong parent.relativePath set
>   - there are *eleven* versions of maven-bundle-plugin used:
>      - 1.0.0
>      - 1.4.0
>      - 1.4.3
>      - 2.0.0
>      - 2.0.1
>      - 2.1.0
>      - 2.3.4
>      - 2.3.5
>      - 2.3.6
>      - 2.3.7
>      - 2.4.1-SNAPSHOT
>
> Shouldn't Felix allow this kind of clean, offline build?
>
> regards
> Grzegorz Grzybek
>