You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Felix Knecht <fe...@otego.com> on 2007/11/05 14:44:30 UTC

Maven plugins for Apache Directory

For the maven build of the Studio I also created some functionality in a maven plugin.

So we do have now within 3 subprojects of Apache Directory maven plugin functionality:

apacheds:
- apacheds-bootstrap-plugin
- apacheds-core-plugin

daemon:
- daemon-plugin

studio:
- maven-studio-plugin (or whatever it'll be named)

I just wonder if it would make sense to centralize the maven plugin functionality for the Apache Directory project in a
new subproject e.g. directory-maven-plugin containing all maven plugin related functionality?

Felix

Re: Maven plugins for Apache Directory

Posted by Felix Knecht <fe...@apache.org>.
>> I think about
>> - A subproject 'shared' exists to have shared stuff in one place -
>> even if not everything is used in each project (I
>> didn't checked this). A projects maven-plugin is a kind of the same,
>> isn't it?
>>   
> It may be tightly dependent to the project it used for, no? For
> instance, we use a maven plugin to generate java classes from schema
> files : it has some dependencies on other project, like Shared, as we
> use some data structure from this project. I don't know if it's a good
> idea to do that, but this is what we do :)

Why not? If you get a usable result within a reasonable time I'd called it a good result.
(Otherwise you can have a look at the 'hacks' I'm doing within the studio poms by using the maven-antrun-plugin...)
Anyway - if you could imagine that those java classes generated from schema files can be of use somewhere else, (e.g.
for any custom additions to the ADS - you know the project better than I) it could be worth to think about making a
bundle of all directory maven plugins.

>> - After a short search I haven't found any documentation about the
>> existing maven-plugins. Having them in an own
>> subproject will give a chance to do the documentation in one place.
>>   
> docuwhat ? Not in my english->french dictionnary ;) 

Hehe, http://dict.leo.org/ is my friend but hélas there's not English<->French translation :(

Yeah, you are right,
> there are no documentation, of if there is some, it's spreading in some
> ollllld wiki page.
>> <Snip/>
>>
>>
>> And finally I'm also asking - maybe sometimes stupid - questions to
>> get some more knowledge about and to understand
>> better why things are done in this or that way in the past.
>> So please stop me the questions are just too stupid, already discussed
>> and a decision has been made or I open old sores.
>>   
> Felix, we sometime have people asking stupid questions. We always give
> them a chance. Be sure that your questions are not stupid at all. We
> have had hard time with Maven (considering that we started with Maven
> 1...),

I can follow absolutely ... ;)

 and now, our common agreement is : 'the less we touch the build,
> the better', simply because we do'nt have enough time to dedicate to
> this build tool. Maybe I'm speaking for myself, but at least, this is
> what I feel.
> I'm _very_ glad when someone like you jump inti the train, and question
> what we have done, because if we don't have the answers, that means we
> have done something wrong, or at least, we don't have enough knowledge
> to answer correctly.

Well I wouldn't call me a maven expert but I used it in different projects and did some migrations from ant to maven1 to
maven2 - and probably now also from ant/ivy to maven2.

> This is why it's good that you reopen those old wounds, because you may
> cure them ;)
> 

I'll do my best :)

Felix

Re: Maven plugins for Apache Directory

Posted by Emmanuel Lecharny <el...@gmail.com>.
Felix Knecht wrote:
> Alex Karasulu schrieb:
>   
>> On 11/5/07, *Felix Knecht* <felix@otego.com <ma...@otego.com>> wrote:
>>
>>     For the maven build of the Studio I also created some functionality
>>     in a maven plugin.
>>
>>     So we do have now within 3 subprojects of Apache Directory maven
>>     plugin functionality:
>>
>>     apacheds:
>>     - apacheds-bootstrap-plugin
>>     - apacheds-core-plugin
>>
>>     daemon:
>>     - daemon-plugin
>>
>>     studio:
>>     - maven-studio-plugin (or whatever it'll be named)
>>
>>     I just wonder if it would make sense to centralize the maven plugin
>>     functionality for the Apache Directory project in a
>>     new subproject e.g. directory-maven-plugin containing all maven
>>     plugin related functionality?
>>
>>
>> The idea did occur to me a couple times.  Sometimes I was just about to
>> do that when it
>> just seemed to fan out dependencies across subprojects.  Meaning right
>> now we have a
>> good breakdown where shared is independent.  apacheds depends on shared
>> and studio
>> depends on shared.  This new subprject would then have dependencies all
>> over.  May not
>> be a bad thing if it gives us other benefits.
>>
>> In terms of benefits it may allow us to release the plugins
>> independently but because the
>> plugins depend on other projects this may be a false benefit in reality.
>>     
>
> I think about
> - A subproject 'shared' exists to have shared stuff in one place - even if not everything is used in each project (I
> didn't checked this). A projects maven-plugin is a kind of the same, isn't it?
>   
It may be tightly dependent to the project it used for, no? For 
instance, we use a maven plugin to generate java classes from schema 
files : it has some dependencies on other project, like Shared, as we 
use some data structure from this project. I don't know if it's a good 
idea to do that, but this is what we do :)
> - After a short search I haven't found any documentation about the existing maven-plugins. Having them in an own
> subproject will give a chance to do the documentation in one place.
>   
docuwhat ? Not in my english->french dictionnary ;) Yeah, you are right, 
there are no documentation, of if there is some, it's spreading in some 
ollllld wiki page.
> <Snip/>
>
>
> And finally I'm also asking - maybe sometimes stupid - questions to get some more knowledge about and to understand
> better why things are done in this or that way in the past.
> So please stop me the questions are just too stupid, already discussed and a decision has been made or I open old sores.
>   
Felix, we sometime have people asking stupid questions. We always give 
them a chance. Be sure that your questions are not stupid at all. We 
have had hard time with Maven (considering that we started with Maven 
1...), and now, our common agreement is : 'the less we touch the build, 
the better', simply because we do'nt have enough time to dedicate to 
this build tool. Maybe I'm speaking for myself, but at least, this is 
what I feel.
I'm _very_ glad when someone like you jump inti the train, and question 
what we have done, because if we don't have the answers, that means we 
have done something wrong, or at least, we don't have enough knowledge 
to answer correctly.
This is why it's good that you reopen those old wounds, because you may 
cure them ;)

btw, Alex was almost alone in the dark fighting with Maven, as I 
cowardly let him embrace the Devil while having fun with ASN.1 ;) 
Hopefully, Brett and some other Maven peeps were deaf to our sore 
complains and accepted to help us, while we were throwing rocks to them 
... They have done an incredible job bringing Maven from the Dark Ages 
of Maven 1 to the Revolutionary Age of Maven2. Three more years, and we 
will be in the Sustainable Developement Age with Maven 3 may be ;)

Emmanuel

-- 
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org



Re: Maven plugins for Apache Directory

Posted by Alex Karasulu <ak...@apache.org>.
Hi Felix

On 11/5/07, Felix Knecht <fe...@apache.org> wrote:
>
> Alex Karasulu schrieb:
> >
> > On 11/5/07, *Felix Knecht* <felix@otego.com <ma...@otego.com>>
> wrote:
> >
> >     For the maven build of the Studio I also created some functionality
> >     in a maven plugin.
> >
> >     So we do have now within 3 subprojects of Apache Directory maven
> >     plugin functionality:
> >
> >     apacheds:
> >     - apacheds-bootstrap-plugin
> >     - apacheds-core-plugin
> >
> >     daemon:
> >     - daemon-plugin
> >
> >     studio:
> >     - maven-studio-plugin (or whatever it'll be named)
> >
> >     I just wonder if it would make sense to centralize the maven plugin
> >     functionality for the Apache Directory project in a
> >     new subproject e.g. directory-maven-plugin containing all maven
> >     plugin related functionality?
> >
> >
> > The idea did occur to me a couple times.  Sometimes I was just about to
> > do that when it
> > just seemed to fan out dependencies across subprojects.  Meaning right
> > now we have a
> > good breakdown where shared is independent.  apacheds depends on shared
> > and studio
> > depends on shared.  This new subprject would then have dependencies all
> > over.  May not
> > be a bad thing if it gives us other benefits.
> >
> > In terms of benefits it may allow us to release the plugins
> > independently but because the
> > plugins depend on other projects this may be a false benefit in reality.
>
> I think about
> - A subproject 'shared' exists to have shared stuff in one place - even if
> not everything is used in each project (I
> didn't checked this). A projects maven-plugin is a kind of the same, isn't
> it?


Yeah that was my incentive in the past to consolidate.

- After a short search I haven't found any documentation about the existing
> maven-plugins. Having them in an own
> subproject will give a chance to do the documentation in one place.


True but we can still document them on their own and they are quite distinct
in their functionality.

- You'll have 1 plugin name instead of already 4 (which IMO makes it more
> concise (maybe translation is wrong but if
> overviewable is better?)).
> - The Apache Directory Project has 1 maven plugin with different goals and
> not different (distributed) maven plugins in
> the subprojects each containing hardly more than one goal.


These two kind of sound to be similar statements - at least I cannot
differentiate the two.  I guess you
mean consolidating all the plugins into one directory plugin.  However this
might not be as coherent as
it first sounds because the functionality of the different plugins are so
different.  Let me list what they do.

apacheds
   o partition plugin builds a schema partition and populates it at build
time with data
   o schema plugin parses open ldap format files and converts them to
bootstrapping java classes

daemon
   o installer plugin generates specialized daemon wrapper based installers
for various operating systems

Did I miss one?

As you can see perhaps all under apacheds can be consolidated but I don't
think consolidating the daemon
installer plugin is a good idea since especially this may move out of
directory all together into maven if
enough other projects start to use it.


And finally I'm also asking - maybe sometimes stupid - questions to get some
> more knowledge about and to understand
> better why things are done in this or that way in the past.
> So please stop me the questions are just too stupid, already discussed and
> a decision has been made or I open old sores.
>

No worries!  These are all good questions.  :)

Thanks,
Alex

Re: Maven plugins for Apache Directory

Posted by Felix Knecht <fe...@apache.org>.
Alex Karasulu schrieb:
> 
> On 11/5/07, *Felix Knecht* <felix@otego.com <ma...@otego.com>> wrote:
> 
>     For the maven build of the Studio I also created some functionality
>     in a maven plugin.
> 
>     So we do have now within 3 subprojects of Apache Directory maven
>     plugin functionality:
> 
>     apacheds:
>     - apacheds-bootstrap-plugin
>     - apacheds-core-plugin
> 
>     daemon:
>     - daemon-plugin
> 
>     studio:
>     - maven-studio-plugin (or whatever it'll be named)
> 
>     I just wonder if it would make sense to centralize the maven plugin
>     functionality for the Apache Directory project in a
>     new subproject e.g. directory-maven-plugin containing all maven
>     plugin related functionality?
> 
> 
> The idea did occur to me a couple times.  Sometimes I was just about to
> do that when it
> just seemed to fan out dependencies across subprojects.  Meaning right
> now we have a
> good breakdown where shared is independent.  apacheds depends on shared
> and studio
> depends on shared.  This new subprject would then have dependencies all
> over.  May not
> be a bad thing if it gives us other benefits.
> 
> In terms of benefits it may allow us to release the plugins
> independently but because the
> plugins depend on other projects this may be a false benefit in reality.

I think about
- A subproject 'shared' exists to have shared stuff in one place - even if not everything is used in each project (I
didn't checked this). A projects maven-plugin is a kind of the same, isn't it?
- After a short search I haven't found any documentation about the existing maven-plugins. Having them in an own
subproject will give a chance to do the documentation in one place.
- You'll have 1 plugin name instead of already 4 (which IMO makes it more concise (maybe translation is wrong but if
overviewable is better?)).
- The Apache Directory Project has 1 maven plugin with different goals and not different (distributed) maven plugins in
the subprojects each containing hardly more than one goal.

- But yes, your right I haven't seen the dependencies to shared/apacheds.For the studio-plugin I created I haven't so
far any dependencies to another apache directory project.


And finally I'm also asking - maybe sometimes stupid - questions to get some more knowledge about and to understand
better why things are done in this or that way in the past.
So please stop me the questions are just too stupid, already discussed and a decision has been made or I open old sores.

Felix

> 
> Just curious, what benefits do you foresee in doing this?
> 
> Thanks,
> Alex
> 


Re: Maven plugins for Apache Directory

Posted by Alex Karasulu <ak...@apache.org>.
On 11/5/07, Felix Knecht <fe...@otego.com> wrote:
>
> For the maven build of the Studio I also created some functionality in a
> maven plugin.
>
> So we do have now within 3 subprojects of Apache Directory maven plugin
> functionality:
>
> apacheds:
> - apacheds-bootstrap-plugin
> - apacheds-core-plugin
>
> daemon:
> - daemon-plugin
>
> studio:
> - maven-studio-plugin (or whatever it'll be named)
>
> I just wonder if it would make sense to centralize the maven plugin
> functionality for the Apache Directory project in a
> new subproject e.g. directory-maven-plugin containing all maven plugin
> related functionality?


The idea did occur to me a couple times.  Sometimes I was just about to do
that when it
just seemed to fan out dependencies across subprojects.  Meaning right now
we have a
good breakdown where shared is independent.  apacheds depends on shared and
studio
depends on shared.  This new subprject would then have dependencies all
over.  May not
be a bad thing if it gives us other benefits.

In terms of benefits it may allow us to release the plugins independently
but because the
plugins depend on other projects this may be a false benefit in reality.

Just curious, what benefits do you foresee in doing this?

Thanks,
Alex