Ate Douma wrote:
Now, that depends on what your view of the build process is.

I'm *not* talking here about compiling the Jetspeed java source files and spitting out all the jetspeed component jars. That's the (relatively) simple part maven *can*
handle for us. Right now this also works with maven-2 thanks to Randy.

I'm talking about "building" a custom portal product. This involves tweaking the jetspeed assemblies/configuration files, adapting the database scripts, adding custom services, plugin-ins, maybe replacing or extending a jetspeed
component or two, etc.
Jetspeed as a portal really is an "assembled" product. Maybe we shouldn't use the
word "build" but "assembling" in this discussion.
By "custom portal product" I assume you mean something like WebSphere Portal that can use Jetspeed as its engine and add all the bells and whistles to make it into what I said I wanted in my previous post? Obviously, I feel that Jetspeed should provide enough of that that Jetspeed is sufficient. However, in rereading what you wrote I don't think we are really that far apart. If Jetspeed is delivered as packages Maven can certainly use them as dependencies and embelish them. I do this today for our Cocoon-based product. Cocoon 2.1 is a PITA when it comes to building your own product - precisely because it DOESN'T use Maven. Because of that we have to deliver source and require end users to compile it. Well, I build a war and check it into our repository. Then all the builds that need it unwar it and add their own stuff to it and then create a new war as their product. This is trivial with Maven.

Some of our users "assemble" a custom portal ear, already customized for their app server
like Websphere.
Wouldn't it be nicer to just have your own project with only the needed assemblies in it and then have Jetspeed as a dependency, perhaps with some options to customize it for Websphere (or JBoss or whatever) for you? We do this with our product builds today because at one time we deployed on Weblogic and then decided to switch to JBoss.

All those things you have to do offline: modifying or assembling your own custom portal. Now, I think this is one of the biggest strengths of Jetspeed: its customizability. The problem we're discussing here is how to make it easy for the users to make full use of this strength. Our maven-1 based attempt to support that (the custom maven plugin) has not been a big success to say the least. And I simply don't see, nor belief, how maven-2 is going
to improve (a lot) on that.
I have a lot of experience with Maven 1. I used to work a lot with GNU make files. Ant reminds me a lot of that. Tons of raw ability with no real structure or reuse capability. Maven's real strength isn't the maven core - it is all the plugins. It is the standardization you get so that after you've worked with a single Maven project you can grasp any Maven based project. You can't say that with Ant. IMO, Maven 1's problems were 1) jelly and 2) lack of transitive dependencies. Both of these have been addressed in Maven 2. Since I have not had the opportunity to build a Maven 2 project yet it remains to be seen if they have gone too far or have hit the mark for me.

Now, pretend you are not using Maven. Aren't you going to have to define some rules and guidelines about where things have to be placed and what has to be configured in order to have an Ant-based build script work for all of Jetspeed's customers to do what you have described? How, is that any different than what Maven achieves?

Like someone else said, its open source. If someone really wants to build Jetspeed from scratch they can. But most of us should be able to take a binary build, modify some configuration and drop it in Tomcat or JBoss or whatever and run it. Then I should be able to add my plugins and my portlets and have what I want.

So, why would you use or even need maven (or any other build tool) for that then?
You should already know the answer to that. Because it creates uniformity. Developers can go from project to project and not have to learn how the build works.

Ralph

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to