You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by Mike Kienenberger <mk...@gmail.com> on 2007/02/23 20:26:41 UTC

Ant vs Maven [Was: Building 3.0 from trunk]

On 2/23/07, Michael Gentry <bl...@gmail.com> wrote:
[...]
> PS. I think I kind of miss Ant, too.

I know some people may want to do me physical damage for this, but
should we reconsider the maven choice?

As a maven end-user, I'm not impressed, but that's probably because I
don't have maven-based end-user projects.

As a maven-based project developer, I hate it :-)   Everything takes
much longer to build.   Nothing "just works" in Eclipse anymore.   And
when something breaks or needs changing, it's beyond my skill-set to
try to fix it.  Mind you, I haven't tried 3.0 recently because I fear
maven, so in the specific case of Cayenne, I may be overreacting.

Re: Ant vs Maven [Was: Building 3.0 from trunk]

Posted by Ahmed Mohombe <am...@yahoo.com>.
>> PS. I think I kind of miss Ant, too.
> 
> I know some people may want to do me physical damage for this, but
> should we reconsider the maven choice?
+1 for reconsidering the maven move :).

> Everything takes
> much longer to build.   
Slower software is called "progress" in IT these days. The software industry needs to support the 
hardware producers :).

> so in the specific case of Cayenne, I may be overreacting.
No, not at all.
Before the maven migration, everybody in our team was doing (almost every day) a local build from 
the Cayenne HEAD. If there was something broken, it was simple to change the build files since IDEs 
have so "intelligent" features to support ANT.

Since the maven migration *nobody* is doing that anymore :(. If with maven is something broken, 
normal users *cant't* fix it.

Ahmed.



Re: Ant vs Maven [Was: Building 3.0 from trunk]

Posted by Andrus Adamchik <an...@objectstyle.org>.
On Feb 26, 2007, at 5:32 AM, Aristedes Maniatis wrote:

> On 26/02/2007, at 12:55 AM, Andrus Adamchik wrote:
>> * We joined the club of gullible people who bought into the Maven  
>> hype (I thought such thing would never happen to me :-)), so now  
>> we have a common (though crappy) platform for integration of the  
>> code from different projects up and down stream. I remember how  
>> much pain it was to create Maven artifacts out of Ant Cayenne in  
>> the past.
>
> Is it that important? Surely we want to be able to make clear  
> decisions about when we want to import a new version of a jar into  
> Cayenne. We import that file, test appropriately, then commit when  
> ready. As for downstream - do we care that much?

Maven integration is VERY important. Even aside from our early  
efforts to integrate with OpenEJB/Geronimo, which are all maven,  
there are more people than you would think who are using Cayenne- 
Maven. How we do the integration is irrelevant though. If we can  
provide quality and timely Maven artifact builds, build by Ant, fine.


>> * Maven popularity leaves some (if not much) hope that it will be  
>> fixed someday. (OT: believe it or not, even WebObjects developers  
>> are considering Maven these days!!!)
>
> Maybe maven will improve. Or maybe its problems are so structural  
> that it will just be tweaked around the edges and more features  
> added to it. Maybe the problem is that (like ant) it is trying to  
> use XML as a programming/scripting language and failing. But unlike  
> ant, you end up with an XML file nested 25 levels deep and quite  
> incomprehensible. I've never understood why the build script is a  
> good place to keep the timezone in which each developer lives.

I am not arguing that Maven sucks, in fact I agreed in the quoted  
message :-)


> If ant was to be used again, I'd be happy to donate any parts of  
> our ant scripts (to do things like build .dmg, integrate subversion  
> build numbers into the manifest, etc) which we use here internally.  
> Some parts might be useful.

While I admitted that I wasted mine and everybody else's time with  
Maven migration, I refuse to do it again :-) But this shouldn't stop  
better alternatives from being created [1] (and taking place of Maven  
when ready). My requirements for the new system would be this:

* It should provide all current build and release functionality (Duh!)
* It should sit in a separate branch until it is ready 100%,
* It should support the current module layout
* It should provide a way to publish Maven artifacts


[1] http://incubator.apache.org/learn/rules-for-revolutionaries.html

Andrus

RE: Ant vs Maven [Was: Building 3.0 from trunk]

Posted by Kevin Menard <km...@servprise.com>.
 

> -----Original Message-----
> From: Aristedes Maniatis [mailto:ari@ish.com.au] 
> Sent: Sunday, February 25, 2007 10:32 PM
> To: dev@cayenne.apache.org
> Subject: Re: Ant vs Maven [Was: Building 3.0 from trunk]

> But it is possible. Different ant build.xml files or 
> different targets within one file.

While I generally think maven sucks, I really really really hate
spaghetti code ant files.  Especially since every project seems to do
them just a little bit differently and you never really know where you
should be looking for something.

-- 
Kevin

Re: Ant vs Maven [Was: Building 3.0 from trunk]

Posted by Aristedes Maniatis <ar...@ish.com.au>.
On 26/02/2007, at 12:55 AM, Andrus Adamchik wrote:

> * We joined the club of gullible people who bought into the Maven  
> hype (I thought such thing would never happen to me :-)), so now we  
> have a common (though crappy) platform for integration of the code  
> from different projects up and down stream. I remember how much  
> pain it was to create Maven artifacts out of Ant Cayenne in the past.

Is it that important? Surely we want to be able to make clear  
decisions about when we want to import a new version of a jar into  
Cayenne. We import that file, test appropriately, then commit when  
ready. As for downstream - do we care that much? I'd be surprised if  
many people were relying on these artifacts. Anyway, there may be  
ways to do this from ant now:

http://maven.apache.org/ant-tasks.html

> * Maven popularity leaves some (if not much) hope that it will be  
> fixed someday. (OT: believe it or not, even WebObjects developers  
> are considering Maven these days!!!)

Maybe maven will improve. Or maybe its problems are so structural  
that it will just be tweaked around the edges and more features added  
to it. Maybe the problem is that (like ant) it is trying to use XML  
as a programming/scripting language and failing. But unlike ant, you  
end up with an XML file nested 25 levels deep and quite  
incomprehensible. I've never understood why the build script is a  
good place to keep the timezone in which each developer lives.


> * The project structure indeed became more organized than it was  
> before.

Maybe, but that can be done with ant as well.

> * As the number of modules grows, the ability to build them one-by- 
> one becomes more important. You can do it with Maven, we couldn't  
> do it with the old Ant based system.

But it is possible. Different ant build.xml files or different  
targets within one file.


If ant was to be used again, I'd be happy to donate any parts of our  
ant scripts (to do things like build .dmg, integrate subversion build  
numbers into the manifest, etc) which we use here internally. Some  
parts might be useful.

Ari Maniatis



-------------------------->
ish
http://www.ish.com.au
Level 1, 30 Wilson Street Newtown 2042 Australia
phone +61 2 9550 5001   fax +61 2 9550 4001
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A



Re: Ant vs Maven [Was: Building 3.0 from trunk]

Posted by Mike Kienenberger <mk...@gmail.com>.
Something broke.  :-)  This is a code checkout from last night (EST).

Downloading: http://repo1.maven.org/maven2/axis/axis/1.4/axis-1.4.jar
1562K downloaded
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

Missing:
----------
1) com.atlassian.confluence:confluence-soap:jar:2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=com.atlassian.confluence -DartifactId=c
onfluence-soap \
          -Dversion=2.0 -Dpackaging=jar -Dfile=/path/to/file

  Path to dependency:
        1) org.apache.cayenne.build-tools:maven-cayenne-build-plugin:maven-plugi
n:3.0-SNAPSHOT
        2) com.atlassian.confluence:confluence-soap:jar:2.0

----------
1 required artifact is missing.

for artifact:
  org.apache.cayenne.build-tools:maven-cayenne-build-plugin:maven-plugin:3.0-SNA
PSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),
  apache-snapshots (http://people.apache.org/repo/m2-snapshot-repository/)


[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 minute 5 seconds
[INFO] Finished at: Sun Feb 25 13:58:47 EST 2007
[INFO] Final Memory: 8M/16M
[INFO] ------------------------------------------------------------------------


On 2/25/07, Andrus Adamchik <an...@objectstyle.org> wrote:
> > As a maven-based project developer, I hate it :-)
>
> +1 - I am with you on that.
>
> > Everything takes much longer to build.
>
> Didn't notice that in Cayenne, but I won't be surprised - with Ant
> you can tailor the build much easier.
>
> > Nothing "just works" in Eclipse anymore.
>
> Eclipse works fine for Cayenne core modules. Itests often break,
> cause they are built against unstable versions of Geronimo, OpenEjb
> and pieces of third party J2EE stack components. Good thing is that
> you can work with individual modules as separate projects if you have
> your local repo bootstrapped from command line first.
>
> > And when something breaks or needs changing, it's beyond my skill-
> > set to
> > try to fix it.
>
> +1 - maven breaks A LOT and it is the most convoluted build
> environment that I know of.
>
> > Mind you, I haven't tried 3.0 recently because I fear maven, so in
> > the specific case of Cayenne, I may be overreacting.
>
> You should - I put lots of work in making it bearable (such as
> setting Eclipse project files in SVN, etc). It works now.
>
> > I know some people may want to do me physical damage for this, but
> > should we reconsider the maven choice?
>
> -1
>
> I take full responsibility for endorsing the move a year ago when the
> idea was proposed - it was a mistake, and we paid for it. But
> currently we have an environment that works. We are still prone to
> maven "upgrades", but going back would be a bad idea as well. Here is
> the benefits of Maven that we now enjoy between the sleepless nights
> fixing the POMs:
>
> * We joined the club of gullible people who bought into the Maven
> hype (I thought such thing would never happen to me :-)), so now we
> have a common (though crappy) platform for integration of the code
> from different projects up and down stream. I remember how much pain
> it was to create Maven artifacts out of Ant Cayenne in the past.
>
> * Maven popularity leaves some (if not much) hope that it will be
> fixed someday. (OT: believe it or not, even WebObjects developers are
> considering Maven these days!!!)
>
> * The project structure indeed became more organized than it was before.
>
> * As the number of modules grows, the ability to build them one-by-
> one becomes more important. You can do it with Maven, we couldn't do
> it with the old Ant based system.
>
> Andrus
>
>
>
>
>

Re: Ant vs Maven [Was: Building 3.0 from trunk]

Posted by Andrus Adamchik <an...@objectstyle.org>.
> As a maven-based project developer, I hate it :-)

+1 - I am with you on that.

> Everything takes much longer to build.

Didn't notice that in Cayenne, but I won't be surprised - with Ant  
you can tailor the build much easier.

> Nothing "just works" in Eclipse anymore.

Eclipse works fine for Cayenne core modules. Itests often break,  
cause they are built against unstable versions of Geronimo, OpenEjb  
and pieces of third party J2EE stack components. Good thing is that  
you can work with individual modules as separate projects if you have  
your local repo bootstrapped from command line first.

> And when something breaks or needs changing, it's beyond my skill- 
> set to
> try to fix it.

+1 - maven breaks A LOT and it is the most convoluted build  
environment that I know of.

> Mind you, I haven't tried 3.0 recently because I fear maven, so in  
> the specific case of Cayenne, I may be overreacting.

You should - I put lots of work in making it bearable (such as  
setting Eclipse project files in SVN, etc). It works now.

> I know some people may want to do me physical damage for this, but
> should we reconsider the maven choice?

-1

I take full responsibility for endorsing the move a year ago when the  
idea was proposed - it was a mistake, and we paid for it. But  
currently we have an environment that works. We are still prone to  
maven "upgrades", but going back would be a bad idea as well. Here is  
the benefits of Maven that we now enjoy between the sleepless nights  
fixing the POMs:

* We joined the club of gullible people who bought into the Maven  
hype (I thought such thing would never happen to me :-)), so now we  
have a common (though crappy) platform for integration of the code  
from different projects up and down stream. I remember how much pain  
it was to create Maven artifacts out of Ant Cayenne in the past.

* Maven popularity leaves some (if not much) hope that it will be  
fixed someday. (OT: believe it or not, even WebObjects developers are  
considering Maven these days!!!)

* The project structure indeed became more organized than it was before.

* As the number of modules grows, the ability to build them one-by- 
one becomes more important. You can do it with Maven, we couldn't do  
it with the old Ant based system.

Andrus





Re: Ant vs Maven [Was: Building 3.0 from trunk]

Posted by Dain Sundstrom <da...@iq80.com>.
On Feb 23, 2007, at 11:26 AM, Mike Kienenberger wrote:

> On 2/23/07, Michael Gentry <bl...@gmail.com> wrote:
> [...]
>> PS. I think I kind of miss Ant, too.
>
> I know some people may want to do me physical damage for this, but
> should we reconsider the maven choice?
>
> As a maven end-user, I'm not impressed, but that's probably because I
> don't have maven-based end-user projects.
>
> As a maven-based project developer, I hate it :-)   Everything takes
> much longer to build.   Nothing "just works" in Eclipse anymore.   And
> when something breaks or needs changing, it's beyond my skill-set to
> try to fix it.  Mind you, I haven't tried 3.0 recently because I fear
> maven, so in the specific case of Cayenne, I may be overreacting.

Everything works perfectly in IntelliJ

-dain