Ant + IVY are a better fit for the OFBiz.

Best regards,

Pierre Smits

*ORRTIZ.COM <http://www.orrtiz.com>*
Services & Solutions for Cloud-
Based Manufacturing, Professional
Services and Retail & Trade
http://www.orrtiz.com

On Mon, Apr 20, 2015 at 1:02 PM, Pierre Smits <pierre.sm...@gmail.com>
wrote:

> Ant + IVY delivers as much dependency management functionality as maven
> does.
>
> Maven is good for building jar solutions. We don't build jar solutions. We
> exploit jars!
>
> Best regards,
>
> Pierre Smits
>
> *ORRTIZ.COM <http://www.orrtiz.com>*
> Services & Solutions for Cloud-
> Based Manufacturing, Professional
> Services and Retail & Trade
> http://www.orrtiz.com
>
> On Mon, Apr 20, 2015 at 7:51 AM, Hans Bakker <
> mailingl...@antwebsystems.com> wrote:
>
>> We should seriously consider the comments from Adam and move to maven.
>>
>> Regards,
>> Hans
>> antwebsystems.com
>>
>>
>> On 18/04/15 00:41, Adam Heath wrote:
>>
>>>
>>> On 04/17/2015 10:20 AM, Jacques Le Roux wrote:
>>>
>>>> Thanks for your detailed heads-up Martin, notably your last point!
>>>>
>>>> I mostly agree, and indeed I also think Maven might not be so bad when
>>>> you start anew (or are forced to use it ;) ) but for OFBiz, really NO!
>>>>
>>>> Jacques
>>>>
>>>> Le 17/04/2015 16:27, Martin Becker a écrit :
>>>>
>>>>> +1 for lack of benefit (and for fear ;-))
>>>>>
>>>>
>>> The commit I did last night took me 45 minutes.  Full stop.  I started
>>> at 12:03am.  And I did it while drinking a second beer. Maven was that
>>> simple.  I had resisted for years.  Years!  But when I actually sat down to
>>> do it, I realized that I did *not* have to change what I was doing.  Maven
>>> could be configured to work with the existing design.
>>>
>>> The benefits are:
>>>
>>> * not having to write our own build system; ant is not a build system.
>>>
>>> * full external dependency management.  This can be done very
>>> incrementally.  I just got framework/base to compile, by reusing the
>>> previously downloaded jars in framework/base/lib.  Then, when all
>>> dependencies are *properly* listed, we can switch to the download
>>> mechanism, and suddenly, the checkout becomes smaller.
>>>
>>> * full internal dependency support.  As part of framework/base now
>>> having a working pom.xml, it has a dep on framework/start.  This can allow
>>> for end-users wanting to just install applications/party, and having just
>>> what is required get downloaded.
>>>
>>> * Each ofbiz component could be moved to separate repos, and development
>>> can progress on its own.  All that specialpurpose/* stuff no longer needs
>>> to be carried along with the rest of the codebase.
>>>
>>> * continuous integration becomes so much simpler; the standard "mvn
>>> package" call does command-line unit tests, *by default*.
>>>
>>> * these poms do not break anything.  Nothing calls them.  Everyone can
>>> continue to use ant, eclipse, or DIP switches, to compile and run ofbiz.
>>> So, having them in trunk won't cause issue for anyone else.  This is the
>>> way linux-kernel functions.  Completely new, isolated features, that affect
>>> no one else, are added to master/linux-next, so that they can get pushed
>>> out to more users, for more testing.  If something is done in a separate
>>> branch, they have discovered it doesn't recieve enough widespread testing.
>>>
>>>
>>>>>
>>>>> My first thoughts:
>>>>>
>>>>> => If a change is desired, than Gradle would surely be a good choice
>>>>> as it is the next generation build tool witch tries to combine the
>>>>> advantages from tools like ant, maven and others…
>>>>>
>>>>
>>> Sure, why not?
>>>
>>>
>>> Besides, I'm the one who created ${ofbiz.home.dir}/macros.xml and
>>> common.xml, but really, lets not go there.
>>>
>>>
>>>>> => I think the stability of Gradle is not a question as it is used by
>>>>> projects like Spring, Hibernate, Grails, Groovy and others…
>>>>>
>>>>> => With the ability to use ant tasks and whole ant build scripts
>>>>> within Gradle, a smooth migration could be an option
>>>>>
>>>>>
>>> Maven can call ant.  I'm even doing so in the 2 poms that I added.
>>>
>>>  => Maven rely on it’s convention over configuration pattern, so it is
>>>>> never a good idea to NOT follow it’s conventions by configuring it for a
>>>>> different project structure for example. So there may be the need for
>>>>> massive changes to the OFBiz project structure and so on.
>>>>>
>>>>>
>>> I just got framework/base to compile with maven.  This includes *NO*
>>> changes to ofbiz layout.  framework/base/lib still exists. Nothing is being
>>> downloaded(except maven plugins, of course).
>>>
>>>  => Also the ability to only produce one artifact per project in maven
>>>>> would perhaps end up in configuring sub projects for each application and
>>>>> module in OFBiz with a frustrating handling of multi module configurations
>>>>> with version-/release-tags, dependency handling and so on...
>>>>>
>>>>>
>>> This is wrong.  You can produce multiple artifacts.  I've seen it done
>>> in other projects.
>>>
>>>  => I used maven in multi module project setups before and it has it’s
>>>>> nice features, although it is sometimes hard to understand details and
>>>>> effects of the build lifecycle or single plugins. But the main fact is,
>>>>> that this were green-field projects, so things in terms of convention over
>>>>> configuration are much easier to adopt than in legacy projects like an
>>>>> OFBiz…
>>>>>
>>>>>
>>>
>>>
>>>  => The change of the build tool for OFBiz would be a fundamental
>>>>> change, particularly for upgrading existing installations. So a change to
>>>>> the project structure could be a deathblow to OFBiz vendor imports in
>>>>> customer projects. I think it could be a good starting point to look at
>>>>> Gradle and see if there is a wise way to use the strength and new features
>>>>> of a modern build tool without the need to turn things inside out in 
>>>>> OFBiz.
>>>>>
>>>>>
>>> I'm not just some noob in ofbiz.  I've been around for quite a bit. I've
>>> been around when ofbiz was still using CVS.  I was the first to start using
>>> git locally for ofbiz development, and for our own ofbiz
>>> extensions/fixes/client work.  I've also been invovled with Debian in years
>>> past, being involved in several migrations.  I also added generics(and
>>> enhanced for loops, etc), to *all* of framework, to spearhead that
>>> project.  But seriously, moving on.
>>>
>>> But, what structure changes have I propsed?  None.  I've got it working
>>> with the exsting layout.  Nothing has turned inside out.
>>>
>>>
>>>>> Martin Becker
>>>>> ecomify GmbH
>>>>>
>>>>>
>>>>>
>>>>>  Am 17.04.2015 um 13:56 schrieb Jacques Le Roux <
>>>>>> jacques.le.r...@les7arts.com>:
>>>>>>
>>>>>> Le 17/04/2015 12:49, Jacopo Cappellato a écrit :
>>>>>>
>>>>>>> On Apr 17, 2015, at 4:39 AM, Taher Alkhateeb <
>>>>>>> slidingfilame...@gmail.com> wrote:
>>>>>>>
>>>>>>>  Hi All,
>>>>>>>>
>>>>>>>> Thank you for your work but I thought we are more inclined to move
>>>>>>>> to gradle based build systems given its many advantages as a full
>>>>>>>> programming language build system based on groovy.
>>>>>>>>
>>>>>>>> Taher Alkhateeb
>>>>>>>>
>>>>>>> I agree: we could explore the switch to Gradle and also review the
>>>>>>> way our source files (Java, Groovy and Minilang/xml) are organized (we
>>>>>>> could actually follow the layout that is considered the default for 
>>>>>>> Maven
>>>>>>> and Gradle and possibly other tools).
>>>>>>>
>>>>>>> Jacopo
>>>>>>>
>>>>>>>  I don't know if Gradle is stable now, but I'd surely be for instead
>>>>>> of Maven. If ever we really desire to move from Ant, I don't clearly see
>>>>>> the necessity at this stage...
>>>>>>
>>>>>> Jacques
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>
>>
>

Reply via email to