You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fortress@directory.apache.org by Chris Pike <cl...@psu.edu> on 2016/02/15 16:05:26 UTC

Directory Fortress Core Dependencies

Shawn,

We are using the fortress model classes in our projects, but including the directory-fortress-core dependencies in our pom brings along a lot of extra dependencies, some of which are causing issues in some of our projects. Would you be amenable to some changes in the directory-fortress-core maven pom? 

We could change it into a multi module project and move the model classes into it's own module (this would allow it to be included without all the other classes/dependencies). It would still all be in one git project, the maven build process would just produce multiple artifacts (i.e. fortress-core and fortress-core-models).

~Chris

Re: Directory Fortress Core Dependencies

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 15/02/16 21:19, Shawn McKinney a écrit :
>> On Feb 15, 2016, at 1:50 PM, Emmanuel Lécharny <el...@gmail.com> wrote:
>>
>> Two things (a bit general, and i'm not going to address the original
>> question) :
>>
>> - first, it would be wise to think about making Fortress OSGi compliant.
>> That would help a lot.
>> - second, and probably more accurate : if we want to change anything, it
>> has to be done before we cut a 1.0-GA.
>>
> I would not be in favor of OSGi for a 1.0 GA.  Too much work/change, not enough of a gain IMO. 
Agreed. That would be better for a 2.0

>  That is unless someone steps up to do the work?  Also with project jigsaw on the horizon will that be the death nail for  OSGi?
It's a different beast, and I'm afraid Java 9 is not going to be widely
used in the next two years.



Re: Directory Fortress Core Dependencies

Posted by Shawn McKinney <sm...@apache.org>.
> On Feb 15, 2016, at 1:50 PM, Emmanuel Lécharny <el...@gmail.com> wrote:
> 
> Two things (a bit general, and i'm not going to address the original
> question) :
> 
> - first, it would be wise to think about making Fortress OSGi compliant.
> That would help a lot.
> - second, and probably more accurate : if we want to change anything, it
> has to be done before we cut a 1.0-GA.
> 

I would not be in favor of OSGi for a 1.0 GA.  Too much work/change, not enough of a gain IMO.  That is unless someone steps up to do the work?  Also with project jigsaw on the horizon will that be the death nail for  OSGi?

Breaking into two or three modules, that seems the simpler path.


> 
> On Feb 15, 2016, at 1:50 PM, Emmanuel Lécharny <el...@gmail.com> wrote:
> 
> 
> Considering the currently low number of users, it might be a good timing
> to chnage wht has to be change. Doing so later would really be a pain
> for everyone !
> 
> But I'm just expressing my own opinion.

Yes low users, more of a reason to wait and see what the future brings wrt requirements.

Shawn

Re: Directory Fortress Core Dependencies

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 15/02/16 20:30, Jan Sindberg a écrit :
> We have seen the same, so lovely coined as "jar-hell", in many forums. We
> almost choose to add the REST-server and talk with that to avoid the
> dependencies. We never got to that, so I don't know if there is a thin
> model available for REST?
> If not, that could be a solution for some.
> Moving the model into one module, wouldn't that still make you dependent of
> real implementation and all the dependencies there is now - assuming you
> would want to go with an API which connects directly to LDAP?

Two things (a bit general, and i'm not going to address the original
question) :

- first, it would be wise to think about making Fortress OSGi compliant.
That would help a lot.
- second, and probably more accurate : if we want to change anything, it
has to be done before we cut a 1.0-GA.


Considering the currently low number of users, it might be a good timing
to chnage wht has to be change. Doing so later would really be a pain
for everyone !

But I'm just expressing my own opinion.



Re: Directory Fortress Core Dependencies

Posted by Shawn McKinney <sm...@apache.org>.
> On Feb 15, 2016, at 1:30 PM, Jan Sindberg <ja...@gmail.com> wrote:
> 
> We have seen the same, so lovely coined as "jar-hell", in many forums. We
> almost choose to add the REST-server and talk with that to avoid the
> dependencies. We never got to that, so I don't know if there is a thin
> model available for REST?

Short answer ‘no’.  Longer answer it’s possible, but requires breaking the core project up into pieces as being discussed on this thread.  

> 
> On Feb 15, 2016, at 1:30 PM, Jan Sindberg <ja...@gmail.com> wrote:
> 
> If not, that could be a solution for some.
> Moving the model into one module, wouldn't that still make you dependent of
> real implementation and all the dependencies there is now - assuming you
> would want to go with an API which connects directly to LDAP?

I think we could have multiple ‘profiles’, each corresponds to what the client is doing for communication.  One could be for ldap, two for rest impls.  Of course this could be extended to include other protocols as well.

Shawn

Re: Directory Fortress Core Dependencies

Posted by Jan Sindberg <ja...@gmail.com>.
We have seen the same, so lovely coined as "jar-hell", in many forums. We
almost choose to add the REST-server and talk with that to avoid the
dependencies. We never got to that, so I don't know if there is a thin
model available for REST?
If not, that could be a solution for some.
Moving the model into one module, wouldn't that still make you dependent of
real implementation and all the dependencies there is now - assuming you
would want to go with an API which connects directly to LDAP?

2016-02-15 19:44 GMT+01:00 Chris Pike <cl...@psu.edu>:

> Yes, it would require moving the model source files into it's own
> directory, the rest into another directory, and configuring / adding extra
> pom files. We are going to add exclusions for now, but may want to revisit
> the maven project layout at some point.
>
>
>
>
> ----- Original Message -----
> From: "Shawn McKinney" <sm...@apache.org>
> To: fortress@directory.apache.org
> Sent: Monday, February 15, 2016 10:56:33 AM
> Subject: Re: Directory Fortress Core Dependencies
>
> > On Feb 15, 2016, at 9:05 AM, Chris Pike <cl...@psu.edu> wrote:
> >
> > We are using the fortress model classes in our projects, but including
> the directory-fortress-core dependencies in our pom brings along a lot of
> extra dependencies, some of which are causing issues in some of our
> projects. Would you be amenable to some changes in the
> directory-fortress-core maven pom?
> >
> > We could change it into a multi module project and move the model
> classes into it's own module (this would allow it to be included without
> all the other classes/dependencies). It would still all be in one git
> project, the maven build process would just produce multiple artifacts
> (i.e. fortress-core and fortress-core-models).
>
> Chris assuming this requires splitting the source code into separate
> trees, e.g. model and the rest?  What are the alternatives?  Could you
> place declarations in pom(s) to exclude extraneous dependencies from your
> projects?
>
> This is a big change.  I’ve chosen not to, break/restructure, up to now
> due to increased complexity.  Not saying, ‘no', but want to make sure we’ve
> considered the pros/cons of various options first.
>
> Shawn
>

Re: Directory Fortress Core Dependencies

Posted by Shawn McKinney <sm...@apache.org>.
> On Feb 15, 2016, at 12:44 PM, Chris Pike <cl...@psu.edu> wrote:
> 
> Yes, it would require moving the model source files into it's own directory, the rest into another directory, and configuring / adding extra pom files. We are going to add exclusions for now, but may want to revisit the maven project layout at some point.

I always knew this day would come.  Again, I’m not opposed to it, but want to take careful steps.  What do you think about doing it this way instead:

module1 (base):
 - org.apache.directory.fortress.core
- org.apache.directory.fortress.core.model

module2 (ldap impl):
 - everything else, excluding org.apache.directory.fortress.core.rest

module3 (rest impl):
- org.apache.directory.fortress.core.rest


That way your client projects aren’t exposed to the impl jars in core (modules 2 & 3).

Shawn

Re: Directory Fortress Core Dependencies

Posted by Chris Pike <cl...@psu.edu>.
Yes, it would require moving the model source files into it's own directory, the rest into another directory, and configuring / adding extra pom files. We are going to add exclusions for now, but may want to revisit the maven project layout at some point.




----- Original Message -----
From: "Shawn McKinney" <sm...@apache.org>
To: fortress@directory.apache.org
Sent: Monday, February 15, 2016 10:56:33 AM
Subject: Re: Directory Fortress Core Dependencies

> On Feb 15, 2016, at 9:05 AM, Chris Pike <cl...@psu.edu> wrote:
> 
> We are using the fortress model classes in our projects, but including the directory-fortress-core dependencies in our pom brings along a lot of extra dependencies, some of which are causing issues in some of our projects. Would you be amenable to some changes in the directory-fortress-core maven pom? 
> 
> We could change it into a multi module project and move the model classes into it's own module (this would allow it to be included without all the other classes/dependencies). It would still all be in one git project, the maven build process would just produce multiple artifacts (i.e. fortress-core and fortress-core-models).

Chris assuming this requires splitting the source code into separate trees, e.g. model and the rest?  What are the alternatives?  Could you place declarations in pom(s) to exclude extraneous dependencies from your projects?

This is a big change.  I’ve chosen not to, break/restructure, up to now due to increased complexity.  Not saying, ‘no', but want to make sure we’ve considered the pros/cons of various options first. 

Shawn

Re: Directory Fortress Core Dependencies

Posted by Shawn McKinney <sm...@apache.org>.
> On Feb 15, 2016, at 9:05 AM, Chris Pike <cl...@psu.edu> wrote:
> 
> We are using the fortress model classes in our projects, but including the directory-fortress-core dependencies in our pom brings along a lot of extra dependencies, some of which are causing issues in some of our projects. Would you be amenable to some changes in the directory-fortress-core maven pom? 
> 
> We could change it into a multi module project and move the model classes into it's own module (this would allow it to be included without all the other classes/dependencies). It would still all be in one git project, the maven build process would just produce multiple artifacts (i.e. fortress-core and fortress-core-models).

Chris assuming this requires splitting the source code into separate trees, e.g. model and the rest?  What are the alternatives?  Could you place declarations in pom(s) to exclude extraneous dependencies from your projects?

This is a big change.  I’ve chosen not to, break/restructure, up to now due to increased complexity.  Not saying, ‘no', but want to make sure we’ve considered the pros/cons of various options first. 

Shawn