Vincent,

I'll add to this thread even though I mentioned it in the other thread.

I'm all for #3 as long as it can be configured using a script to add
the driver and configuration files to the war before deployment (such
as for auto-deployments to our development environment).

I suspect that it shouldn't be difficult to do this (just need to add
the driver).


David
--

On 9/11/07, Vincent Massol <[EMAIL PROTECTED]> wrote:
> I'm resurrecting this thread since we now have an urgent need to
> implement it.
>
> See http://www.nabble.com/One-WAR-with-everything%2C-one-empty-WAR-
> and-or-one-WAR-per-database--tf4054670.html#a11517330 for details.
>
> The problem is that I've just discovered we're using Maven wrongly in
> the platform/web modules. We're using classifiers to release DB-
> flavors of the XWiki WAR. This is apparently not fully supported by
> Maven. The problem is that when you release an artifact on a remote
> repository with Maven it updates a metadata file with the version of
> that artifact (if it's a SNAPSHOT it's resolved to a timestamped
> version). The problem is that metadata file doesn't include
> classifier information so there's  single "last updated" version. As
> we're releasing the HSQLDB and MySQL versions separately this
> metadata file is always wrong for one of the artifact, thus making
> dependent projects fail often since the SNAPSHOT version they're
> trying to retrieve doesn't exist!
>
> There are 2 solutions:
> A) Package a generic WAR and then have 2 separates modules to
> repackage it with DB data (thus leading to different artifactId - no
> more issue with classifiers)
> B) Implement the solution I was recommending below, i.e. generate a
> XWiki WAR without DB information (i.e. not-configured
> hibernate.cfg.xml file and no DB drivers). Solution 3 below.
>
> So far, if I recap the discussion thread we had:
>
> - Sergiu: +1 for solution 3
> - Vincent: +1 for solution 3
> - Artem: +1 for solution 3
> - David: +1 for solution 2
>
> I still think it's better if we have platform artifacts that are
> independent of databases. For me XWiki configuration is an activity
> that should be done in XWiki products and not in the platform.
>
> Another point is that since we now have a 1.1 branch too, we have to
> build and release 4 WARs (for 2 Databases - MySQL and HSQLDB). Very
> soon we'll have XEM which  will probably require to use Derby for its
> standalone installation leading to 6 WARs... Each WAR takes between 5
> minutes to 30 minutes to build and upload (35MB) so that's starting
> to weight on our dev process too (not counting the bandwidth cost and
> disk space issues).
>
> Using Solution 3) will also solve the problem of having to define an
> arbitrary location for the HSQLDB database files which is an ugly
> hack we currently have...
>
> We also now have nice installers and the next step for these
> installers is to allow users to decide what DB to use at installation
> time.
>
> We need to move quickly since this issue is causing false positives
> in our builds.
>
> If you haven't guessed I'm still in favor of solution 3... ;)
>
> Thanks
> -Vincent
>
> On Jul 10, 2007, at 10:46 AM, Vincent Massol wrote:
>
> > Hi,
> >
> > With the 1.1M3 release we have currently only released a hsql
> > version of the platform WAR. That war only includes the HSQL JAR
> > but not the driver JARS for other DBs.
> > In our current build we can generate the platform WAR for other DBs
> > using for ex: mvn install -Pmysql. That includes the driver JAR for
> > that DB.
> >
> > Before we were bundling all driver JARs into our WAR so our users
> > may be a bit confused and we need to decide on the strategy we want
> > to have. I can see 3 possible strategies:
> >
> > 1) 1 WAR per database
> > - We could start by releasing only 2 WARs: one for HSQL and one for
> > MySQL. I don't think we need more and releasing more is going to be
> > a pain as each WAR weights 40MB.
> >
> > 2) 1 WAR with everything
> > - Cons: having all these DB drivers makes our WAR fatter
> > - Possible solution: we only release the HSQL and MySQL drivers
> >
> > 3) 1 empty WAR
> >
> > I feel 3) might actually be the best solution for the following
> > reasons:
> > - if the user is non technical he'll install the standalone version
> > - if the user is technical it means he shouldn't have any problem
> > following install instructions that tell him to download such
> > driver at such location and put it in WEB-INF/lib
> > - we only release one common WAR and our XWiki Platform is
> > environment independent (which is a new property to have I think)
> > - releasing one WAR makes our release process simpler (only 40MB to
> > release once)
> >
> > WDYT?
> >
> > Thanks
> > -Vincent
> >
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to