dependencies

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

dependencies

Anders Hessellund
Hi,

how are dependencies among ofbiz components expressed? Is there a single
place to declare dependencies on other components, or can the
dependency-related code/xml be scattered around in the internals of a
component?

-- Anders

Reply | Threaded
Open this post in threaded view
|

Re: dependencies

David E Jones-2

What sorts of dependencies? I guess I'm trying to narrow the scope as  
there are so many different things...

-David


On Nov 12, 2006, at 4:38 PM, Anders Hessellund wrote:

> Hi,
>
> how are dependencies among ofbiz components expressed? Is there a  
> single
> place to declare dependencies on other components, or can the
> dependency-related code/xml be scattered around in the internals of a
> component?
>
> -- Anders
>

Reply | Threaded
Open this post in threaded view
|

Re: dependencies

rhodebump
In reply to this post by Anders Hessellund
I'm a newbie for ofbiz, but I am a ant expert, and I am migrating my
applications to use maven2.

Maven2 is an excellent tool in regard to managing/declaring dependencies
on both external and internal dependency.  Reports, building, etc..

If we aren't using maven, can I volunteer to lead a team to migrate our
build system to maven?

Phillip

Anders Hessellund wrote:

>Hi,
>
>how are dependencies among ofbiz components expressed? Is there a single
>place to declare dependencies on other components, or can the
>dependency-related code/xml be scattered around in the internals of a
>component?
>
>-- Anders
>
>
>
>  
>



Reply | Threaded
Open this post in threaded view
|

Re: dependencies

David E Jones-2

As a warning: I'm not a huge fan of Maven for a project like OFBiz.

That said, what do you see as the benefits to OFBiz from using Maven?

-David


On Nov 13, 2006, at 9:49 AM, Phillip Rhodes wrote:

> I'm a newbie for ofbiz, but I am a ant expert, and I am migrating  
> my applications to use maven2.
> Maven2 is an excellent tool in regard to managing/declaring  
> dependencies on both external and internal dependency.  Reports,  
> building, etc..
>
> If we aren't using maven, can I volunteer to lead a team to migrate  
> our build system to maven?
>
> Phillip
>
> Anders Hessellund wrote:
>
>> Hi,
>>
>> how are dependencies among ofbiz components expressed? Is there a  
>> single
>> place to declare dependencies on other components, or can the
>> dependency-related code/xml be scattered around in the internals of a
>> component?
>>
>> -- Anders
>>
>>
>>
>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: dependencies

rhodebump
Maven provides the means to declare the external dependencies.  Say for
example, you depend upon springframework-2.0.3 and tapestry-4.0.3 to
compile and run a particular jar, and this jar is used in a war file,
one would only have to define this dependency once, and it would be
inherited by all that use that jar file.  This helps you with the DRY
(Don't repeat yourself) principal in java development.

I found that by using maven, my build files are much easier to maintain
and I am more productive.

Other important points:
Maven represents a structure to adhere here.  While you can put things
anywhere you want them to, by adhering to the default directory
structures, you can have maven automatically work.

New developers do not have to learn your custom building scripts.  If
developers know one maven project, they know their way around others.

Some open source projects that I love and respect use maven.  Tapestry
is one of many that are using maven.

Having been the build architect (in the past) of a code base with 30
active full-time developers, I know that you can really hang yourself
with ant.  I can't tell you how many times some developer would be
compiling against some old release of code, and not the code that was
being compiled and released at the time.  Maven really closes the gaps
in that regard.

Phillip



David E Jones wrote:

>
> As a warning: I'm not a huge fan of Maven for a project like OFBiz.
>
> That said, what do you see as the benefits to OFBiz from using Maven?
>
> -David
>
>
> On Nov 13, 2006, at 9:49 AM, Phillip Rhodes wrote:
>
>> I'm a newbie for ofbiz, but I am a ant expert, and I am migrating  my
>> applications to use maven2.
>> Maven2 is an excellent tool in regard to managing/declaring  
>> dependencies on both external and internal dependency.  Reports,  
>> building, etc..
>>
>> If we aren't using maven, can I volunteer to lead a team to migrate  
>> our build system to maven?
>>
>> Phillip
>>
>> Anders Hessellund wrote:
>>
>>> Hi,
>>>
>>> how are dependencies among ofbiz components expressed? Is there a  
>>> single
>>> place to declare dependencies on other components, or can the
>>> dependency-related code/xml be scattered around in the internals of a
>>> component?
>>>
>>> -- Anders
>>>
>>>
>>>
>>>
>>
>>
>>
>
>
>



Reply | Threaded
Open this post in threaded view
|

Re: dependencies

John Martin
There are some major pros and cons with Maven.  We moved to Maven about two
months ago for a relatively small code base in conparison to ofBiz.  One of
our developers spent a lot of time (weeks) getting the dependencies and
assemblies working correctly.  Not all libraries are as easy to resolve and
it took using a package explorer product to weed out some odd dependencies.


Pros:
   - Continum build integration with svn - cool stuff - click and build -
automated builds when code checked in to svn.  Email notifications of build
errors.
   - Assemblies !!!
   - Automated Eclipse / IntellaJ Idea project file generation (* some
dependency order issues)

Cons:
   - Longer build process
   - Very complex and time consuming to setup "correctly".
   - Maven documentation is very limited

In the end we have benefited from the move from ant to maven but it didn't
come cheap.  Moving ofBiz over would probably be a lot more work than we
had.  After getting acclimated with ofBiz and the ant scripts, I can get
through the code, compile, run cycle in a matter of 5-10 sec.  I don't know
if that would be the case with Maven.

* dependency order issues - when we generate the idea project file, it does
not honor the dependency order specified in the configuration files.  In
addition, it adds jars to the class path that doesn't necessarily need to.
In both cases, I believe them to be bugs.  This requires the developer to
manually tweak their ide after generation of the project file.

-John
Reply | Threaded
Open this post in threaded view
|

Re: dependencies

Anders Hessellund
In reply to this post by David E Jones-2
Hi,

> What sorts of dependencies? I guess I'm trying to narrow the scope as
> there are so many different things...

Specifically, I am concerned with dependencies between different ofbiz
modules. How can I for instance determine what the applications/accounting
module depend on, if I want to deliver a stripped-down ofbiz deployment?

-- Anders





>
> -David
>
>
> On Nov 12, 2006, at 4:38 PM, Anders Hessellund wrote:
>
>> Hi,
>>
>> how are dependencies among ofbiz components expressed? Is there a
>> single
>> place to declare dependencies on other components, or can the
>> dependency-related code/xml be scattered around in the internals of a
>> component?
>>
>> -- Anders
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: dependencies

David E Jones-2

There are lots of different types of dependencies. Pulling out any of  
the application components in OFBiz is technically possible, but  
would require a lot of work that becomes a variation on the code base  
that you'd have to maintain, and is therefore generally a very bad  
idea that doesn't hit you in the head until some time down the road  
when you realize that maintaining 700,000 lines of code on your own  
really sucks and that you'd really like to work with the community to  
keep things up to date and take advantage of fixes and feature  
additions other people are doing.

I'd recommend not removing components. Leave the data model and all  
services in place. You can comment out ECA rules to turn off parts of  
the higher level business processes and you can leave webapps  
unmounted that you are not using. Those are both pretty safe for  
slimming down an OFBiz instance. Otherwise, I'd have a very long hard  
look at the return on investment for removing stuff.

What would you really get out of it anyway?

I've talked with a lot of people who want to do this and they really  
have it all backwards. They think that if they slim down OFBiz they  
will have less to learn and deal with. The fact of the matter is that  
the slimming down process drops them right into the frying pan and  
they are then forced to deal with hundreds of entities, services, and  
so on that they otherwise wouldn't even have to know about or touch  
(unless something went wrong, and then they could appeal to the  
community or hire someone with experience to fix that for them).

-David


On Nov 15, 2006, at 12:34 PM, Anders Hessellund wrote:

> Hi,
>
>> What sorts of dependencies? I guess I'm trying to narrow the scope as
>> there are so many different things...
>
> Specifically, I am concerned with dependencies between different ofbiz
> modules. How can I for instance determine what the applications/
> accounting
> module depend on, if I want to deliver a stripped-down ofbiz  
> deployment?
>
> -- Anders
>
>
>
>
>
>>
>> -David
>>
>>
>> On Nov 12, 2006, at 4:38 PM, Anders Hessellund wrote:
>>
>>> Hi,
>>>
>>> how are dependencies among ofbiz components expressed? Is there a
>>> single
>>> place to declare dependencies on other components, or can the
>>> dependency-related code/xml be scattered around in the internals  
>>> of a
>>> component?
>>>
>>> -- Anders
>>>
>>
>>
>
>