[xwiki-devs] [VOTE] Make ditribution maven packages not "generics" anymore
Hi devs, I finished a maven build for XWiki+GlassFish+derby distribution. So this means a distribution not based on jetty and we can't use database profile to decide what distribution to build anymore. So I propose: 1) havnig distributions like jetty-hsqldb, glassfish-derby, etc. and to remove distribution we are not releasing/using right now on XE/XEM like hsqldb-pgsql, hsqldb-derby etc. On maven build this means that to build XE glassfish-derby you will need to execute: - on XE parent : mvn install -Pci,derby,glassfish-derby - on the distribution : mvn install This will change all distributions ids but I don't think it's a problem. 2) jetty-hsqldb remain the default distribution for now Here is my +1 for both -- Thomas Mortagne
On Mon, Oct 27, 2008 at 8:59 AM, Thomas Mortagne <[email protected]> wrote:
Hi devs,
I finished a maven build for XWiki+GlassFish+derby distribution.
So this means a distribution not based on jetty and we can't use database profile to decide what distribution to build anymore.
So I propose:
1) havnig distributions like jetty-hsqldb, glassfish-derby, etc. and to remove distribution we are not releasing/using right now on XE/XEM like hsqldb-pgsql, hsqldb-derby etc.
On maven build this means that to build XE glassfish-derby you will need to execute: - on XE parent : mvn install -Pci,derby,glassfish-derby
"derby" is for the db and "glassfish-derby" is for the distribution. you could use just "mvn install -Pci,glassfish-derby" but it will use a previously built derby database package.
- on the distribution : mvn install
This will change all distributions ids but I don't think it's a problem.
2) jetty-hsqldb remain the default distribution for now
Here is my +1 for both
-- Thomas Mortagne
-- Thomas Mortagne
On Oct 27, 2008, at 4:59 PM, Thomas Mortagne wrote:
Hi devs,
I finished a maven build for XWiki+GlassFish+derby distribution.
I think Thomas forgot to mention the reason he did this :) The idea is that the Glassfish project planning a big launch of GF v3 and if we provide this distribution then XWiki will be a partner of the launch thus making advertising for XWiki. This is good for us. In addition this ties nicely to the mail I sent about a default distribution that could also run in production (see http://tinyurl.com/599sl5) . I suggested using Jetty (I still think we should do this for the default one). Last Thomas noticed a speed increase with GF+Derby. We need to conduct more tests. At the very minimum the first page loads immediatly I believe which is good. Dunno if it's thanks to GF or Derby though.
So this means a distribution not based on jetty and we can't use database profile to decide what distribution to build anymore.
So I propose:
1) havnig distributions like jetty-hsqldb, glassfish-derby, etc. and to remove distribution we are not releasing/using right now on XE/XEM like hsqldb-pgsql, hsqldb-derby etc.
On maven build this means that to build XE glassfish-derby you will need to execute: - on XE parent : mvn install -Pci,derby,glassfish-derby - on the distribution : mvn install
Why do you need to mvn install the distribution if you specify the profiles in XE top level dir? Also I think we need to work more on the profiles so that we don't need to specify both "derby" and "glassfish-derby". Ideally we would only need to run: mvn clean install -Pglassfish,derby Not sure if it's doable or not but I think it might be possible.
This will change all distributions ids but I don't think it's a problem.
(since there would now be the container name in the artifact)
2) jetty-hsqldb remain the default distribution for now
Here is my +1 for both
+1 Thanks -Vincent
On Mon, Oct 27, 2008 at 9:15 AM, Vincent Massol <[email protected]> wrote:
On Oct 27, 2008, at 4:59 PM, Thomas Mortagne wrote:
Hi devs,
I finished a maven build for XWiki+GlassFish+derby distribution.
I think Thomas forgot to mention the reason he did this :) The idea is that the Glassfish project planning a big launch of GF v3 and if we provide this distribution then XWiki will be a partner of the launch thus making advertising for XWiki. This is good for us.
In addition this ties nicely to the mail I sent about a default distribution that could also run in production (see http://tinyurl.com/599sl5) . I suggested using Jetty (I still think we should do this for the default one).
Last Thomas noticed a speed increase with GF+Derby. We need to conduct more tests. At the very minimum the first page loads immediatly I believe which is good. Dunno if it's thanks to GF or Derby though.
I think guess it's more an improvement from derby compared to hsqldb as XWiki do lot's of db access the first time.
So this means a distribution not based on jetty and we can't use database profile to decide what distribution to build anymore.
So I propose:
1) havnig distributions like jetty-hsqldb, glassfish-derby, etc. and to remove distribution we are not releasing/using right now on XE/XEM like hsqldb-pgsql, hsqldb-derby etc.
On maven build this means that to build XE glassfish-derby you will need to execute: - on XE parent : mvn install -Pci,derby,glassfish-derby - on the distribution : mvn install
Why do you need to mvn install the distribution if you specify the profiles in XE top level dir?
This is the two possibilities to build the distributions, not the two things to do :) I forgot the "or"
Also I think we need to work more on the profiles so that we don't need to specify both "derby" and "glassfish-derby". Ideally we would only need to run:
mvn clean install -Pglassfish,derby
Not sure if it's doable or not but I think it might be possible
Well I think we could do that with something like /distribution/glassfish/derby with a <profiles> filter at each level.
This will change all distributions ids but I don't think it's a problem.
(since there would now be the container name in the artifact)
2) jetty-hsqldb remain the default distribution for now
Here is my +1 for both
+1
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
+1 for both then. Thomas Mortagne wrote:
On Mon, Oct 27, 2008 at 9:15 AM, Vincent Massol <[email protected]> wrote:
On Oct 27, 2008, at 4:59 PM, Thomas Mortagne wrote:
Hi devs,
I finished a maven build for XWiki+GlassFish+derby distribution. I think Thomas forgot to mention the reason he did this :) The idea is that the Glassfish project planning a big launch of GF v3 and if we provide this distribution then XWiki will be a partner of the launch thus making advertising for XWiki. This is good for us.
In addition this ties nicely to the mail I sent about a default distribution that could also run in production (see http://tinyurl.com/599sl5) . I suggested using Jetty (I still think we should do this for the default one).
Last Thomas noticed a speed increase with GF+Derby. We need to conduct more tests. At the very minimum the first page loads immediatly I believe which is good. Dunno if it's thanks to GF or Derby though.
I think guess it's more an improvement from derby compared to hsqldb as XWiki do lot's of db access the first time.
So this means a distribution not based on jetty and we can't use database profile to decide what distribution to build anymore.
So I propose:
1) havnig distributions like jetty-hsqldb, glassfish-derby, etc. and to remove distribution we are not releasing/using right now on XE/XEM like hsqldb-pgsql, hsqldb-derby etc.
On maven build this means that to build XE glassfish-derby you will need to execute: - on XE parent : mvn install -Pci,derby,glassfish-derby - on the distribution : mvn install Why do you need to mvn install the distribution if you specify the profiles in XE top level dir?
This is the two possibilities to build the distributions, not the two things to do :) I forgot the "or"
Also I think we need to work more on the profiles so that we don't need to specify both "derby" and "glassfish-derby". Ideally we would only need to run:
mvn clean install -Pglassfish,derby
Not sure if it's doable or not but I think it might be possible
Well I think we could do that with something like /distribution/glassfish/derby with a <profiles> filter at each level.
This will change all distributions ids but I don't think it's a problem. (since there would now be the container name in the artifact)
2) jetty-hsqldb remain the default distribution for now
Here is my +1 for both +1
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Thomas Mortagne wrote:
Also I think we need to work more on the profiles so that we don't need to specify both "derby" and "glassfish-derby". Ideally we would only need to run:
mvn clean install -Pglassfish,derby
Not sure if it's doable or not but I think it might be possible
Well I think we could do that with something like /distribution/glassfish/derby with a <profiles> filter at each level.
And the amount of duplication is... I'd rather have just one module, /distribution/. The differences between all the poms are minor. I know, the problem is that the released artifact will need to have a different name. Can't we just use a pom setting for this? I'm sure we can. -- Sergiu Dumitriu http://purl.org/net/sergiu/
On Oct 27, 2008, at 5:51 PM, Sergiu Dumitriu wrote:
Thomas Mortagne wrote:
Also I think we need to work more on the profiles so that we don't need to specify both "derby" and "glassfish-derby". Ideally we would only need to run:
mvn clean install -Pglassfish,derby
Not sure if it's doable or not but I think it might be possible
Well I think we could do that with something like /distribution/glassfish/derby with a <profiles> filter at each level.
And the amount of duplication is...
I'd rather have just one module, /distribution/. The differences between all the poms are minor. I know, the problem is that the released artifact will need to have a different name. Can't we just use a pom setting for this? I'm sure we can.
No we cannot. I went that route initially but it's not possible. The Maven mantra is one module one artifact and this shouldn't be changed with the current maven version. It only leads to issues. Duplications could be removed by using maven plugins + shared POM configurations. Thanks -Vincent
Vincent Massol wrote:
On Oct 27, 2008, at 5:51 PM, Sergiu Dumitriu wrote:
Thomas Mortagne wrote:
Also I think we need to work more on the profiles so that we don't need to specify both "derby" and "glassfish-derby". Ideally we would only need to run:
mvn clean install -Pglassfish,derby
Not sure if it's doable or not but I think it might be possible Well I think we could do that with something like /distribution/glassfish/derby with a <profiles> filter at each level. And the amount of duplication is...
I'd rather have just one module, /distribution/. The differences between all the poms are minor. I know, the problem is that the released artifact will need to have a different name. Can't we just use a pom setting for this? I'm sure we can.
No we cannot.
I went that route initially but it's not possible. The Maven mantra is one module one artifact and this shouldn't be changed with the current maven version. It only leads to issues.
Can you remind me what was the problem? I knew we had problems before, when we decided to split the distribution according to the database, but I don't remember what was the problem we were facing.
Duplications could be removed by using maven plugins + shared POM configurations.
We already do this to a certain limit; we could improve more.
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Sergiu Dumitriu http://purl.org/net/sergiu/
+1 for both. On Mon, Oct 27, 2008 at 4:59 PM, Thomas Mortagne <[email protected]> wrote:
Hi devs,
I finished a maven build for XWiki+GlassFish+derby distribution.
So this means a distribution not based on jetty and we can't use database profile to decide what distribution to build anymore.
So I propose:
1) havnig distributions like jetty-hsqldb, glassfish-derby, etc. and to remove distribution we are not releasing/using right now on XE/XEM like hsqldb-pgsql, hsqldb-derby etc.
On maven build this means that to build XE glassfish-derby you will need to execute: - on XE parent : mvn install -Pci,derby,glassfish-derby - on the distribution : mvn install
This will change all distributions ids but I don't think it's a problem.
2) jetty-hsqldb remain the default distribution for now
Here is my +1 for both
-- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jean-Vincent Drean
Thomas Mortagne wrote:
Hi devs,
I finished a maven build for XWiki+GlassFish+derby distribution.
So this means a distribution not based on jetty and we can't use database profile to decide what distribution to build anymore.
So I propose:
1) havnig distributions like jetty-hsqldb, glassfish-derby, etc. and to remove distribution we are not releasing/using right now on XE/XEM like hsqldb-pgsql, hsqldb-derby etc.
On maven build this means that to build XE glassfish-derby you will need to execute: - on XE parent : mvn install -Pci,derby,glassfish-derby - on the distribution : mvn install
This will change all distributions ids but I don't think it's a problem.
2) jetty-hsqldb remain the default distribution for now
Here is my +1 for both
+1 for 1). I think that the generic "thing" that users can customize as they want remains the .war distribution, and we could have several ready-to-run distributions. Still, do we need several? What is the advantage of having both jetty and glassfish distributions, besides the fact that users can build their own distribution package? I don't know if we should publish two distributions, as it might confuse users. "Which one should I use? What is Jetty and what is Glassfish? Can't I just download ONE file and run it, why must it be so complicated?" So, I'd rather keep only one package we officially distribute, the rest being available as custom maven builds, for those that need them and know how to build from sources. For 2), what about changing to derby as the default? -- Sergiu Dumitriu http://purl.org/net/sergiu/
On Mon, Oct 27, 2008 at 9:57 AM, Sergiu Dumitriu <[email protected]> wrote:
Thomas Mortagne wrote:
Hi devs,
I finished a maven build for XWiki+GlassFish+derby distribution.
So this means a distribution not based on jetty and we can't use database profile to decide what distribution to build anymore.
So I propose:
1) havnig distributions like jetty-hsqldb, glassfish-derby, etc. and to remove distribution we are not releasing/using right now on XE/XEM like hsqldb-pgsql, hsqldb-derby etc.
On maven build this means that to build XE glassfish-derby you will need to execute: - on XE parent : mvn install -Pci,derby,glassfish-derby - on the distribution : mvn install
This will change all distributions ids but I don't think it's a problem.
2) jetty-hsqldb remain the default distribution for now
Here is my +1 for both
+1 for 1). I think that the generic "thing" that users can customize as they want remains the .war distribution, and we could have several ready-to-run distributions. Still, do we need several? What is the advantage of having both jetty and glassfish distributions, besides the fact that users can build their own distribution package? I don't know if we should publish two distributions, as it might confuse users. "Which one should I use? What is Jetty and what is Glassfish? Can't I just download ONE file and run it, why must it be so complicated?"
Having two distributions maven builds does not means release the two...
So, I'd rather keep only one package we officially distribute, the rest being available as custom maven builds, for those that need them and know how to build from sources.
For 2), what about changing to derby as the default?
We could (and i would prefer derby too), but for me it's simply another subject so I wanted to let things as it is for now.
-- Sergiu Dumitriu http://purl.org/net/sergiu/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
On Oct 27, 2008, at 5:57 PM, Sergiu Dumitriu wrote:
Thomas Mortagne wrote:
Hi devs,
I finished a maven build for XWiki+GlassFish+derby distribution.
So this means a distribution not based on jetty and we can't use database profile to decide what distribution to build anymore.
So I propose:
1) havnig distributions like jetty-hsqldb, glassfish-derby, etc. and to remove distribution we are not releasing/using right now on XE/XEM like hsqldb-pgsql, hsqldb-derby etc.
On maven build this means that to build XE glassfish-derby you will need to execute: - on XE parent : mvn install -Pci,derby,glassfish-derby - on the distribution : mvn install
This will change all distributions ids but I don't think it's a problem.
2) jetty-hsqldb remain the default distribution for now
Here is my +1 for both
+1 for 1). I think that the generic "thing" that users can customize as they want remains the .war distribution, and we could have several ready-to-run distributions. Still, do we need several? What is the advantage of having both jetty and glassfish distributions, besides the fact that users can build their own distribution package? I don't know if we should publish two distributions, as it might confuse users. "Which one should I use? What is Jetty and what is Glassfish? Can't I just download ONE file and run it, why must it be so complicated?"
So, I'd rather keep only one package we officially distribute, the rest being available as custom maven builds, for those that need them and know how to build from sources.
Yes I agree. We could release only 1 official "standalone" distribution and make the other available from the build but we could also make them available from time to time manually. We might need to do that for the GF+Derby distribution for example since we'll blog/ twit about this. We could also ask Glassfish for help for doing this. Maybe they have a location where the XWiki GF+Derby distribution could be hosted if we don't want to host it?
For 2), what about changing to derby as the default?
+1 but before we switch we need to have well tested distribution + do some work: * Update Jetty to latest version * Use Jetty from a maven repo and not from our SVN (we need to remove that version) * Make our CI run on Derby to ensure all the tests pass Thanks -Vincent
+1 especially to get the glassfish distrib out asap Thomas Mortagne wrote:
Hi devs,
I finished a maven build for XWiki+GlassFish+derby distribution.
So this means a distribution not based on jetty and we can't use database profile to decide what distribution to build anymore.
So I propose:
1) havnig distributions like jetty-hsqldb, glassfish-derby, etc. and to remove distribution we are not releasing/using right now on XE/XEM like hsqldb-pgsql, hsqldb-derby etc.
On maven build this means that to build XE glassfish-derby you will need to execute: - on XE parent : mvn install -Pci,derby,glassfish-derby - on the distribution : mvn install
This will change all distributions ids but I don't think it's a problem.
2) jetty-hsqldb remain the default distribution for now
Here is my +1 for both
-- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
participants (6)
-
Jean-Vincent Drean -
Ludovic Dubost -
Marius Dumitru Florea -
Sergiu Dumitriu -
Thomas Mortagne -
Vincent Massol