ExoBuild
1 Build and deploy
The exobuild script is used for building and assembling products. Run it with --help argument form options :exobuild --help
Use of the exobuild command:
exobuild --product=name
[--version=version]
[--update]
[--build]
[--exclude=modules]
[--deploy[=server]]
[--release[=server]]
[--workflow[=jbpm|bonita]]
[--enable-workflow=[bonita|jbpm]]
[--clean-mvn-repo]
[--database[=dialect]]
[--dbsetup=option]
Options:
* --product=name Name of the product you want to build.
The possible names are cs,ks,ecm,portal,ultimate,wcm,webos, ...
Default is portal.
* --version=number Allows to specify which version of the product
to build such as trunk, tags/2.0, branches/2.0,....
Default is trunk.
* --update Run a svn update before it builds.
* --build Compile and install the sub projects of the product,
* --exclude Exclude the given modules (comma separated) from compilation and fetch jars from repository
You can specify any module name in all,pc,jcr,ws,tools,ecm,cs,ks,portal.
Use this to avoid full build or when a module breaks the build
* --deploy=server Deploy to a given application server. Possible values are: 'all', [jbossear, tomcat, jonas, ear, jboss].
Default is tomcat.
* --release=server Release for the target application server. Produce a zip named after the current SVN revision.
Possible values are: 'all', [jbossear, tomcat, jonas, ear, jboss].
Default is tomcat
* --clean-mvn-repo Clean your local repository of eXo artifacts before building.
* --database=dialect Specify target database dialect. The possible values are [db2v8, postgresql, mysql, sqlserver, db2, oracle, derby, hsqldb].
This will configure the appropriate JCR dialects and deploy the JDBC driver.
Used with --dbsetup=file option, exobuild tries to get database settings in a file named
database-configuration.{dialect}.xml
Default is hsqldb.
* --dbsetup=option Use this option with --database option to specify the database setup behaviour.
dbsetup=file will use the database and jcr files you provided.
dbsetup=ask allow you to enter the connection url , username and password of the database server.
dbsetup=defaults is the default option if dbsetup is not specified and will override settings by those defined in Database.js
* --workflow=engine (For the old verions of ECM from 2.0 to 2.2.x) Specify the workflow engine to bundle with the product. The possible values are bonita or jbpm.
This option is only used for products that use workflow. Default engine is jbpm
* --enable-workflow=engine
(Since DMS 2.3) Specify the workflow engine to bundle with the product.
The possible values are bonita or jbpm. This option is only used for
products that use workflow. Default engine is bonita.
* --help To print this help. Also you can use option: '-help' or 'help' or '?'#build ecm and all its dependencies and deploy
$exobuild --product=ecm --build --deploy
#build ecm but exclude jcr and portlet container, the jcr and pc artifact will be
#downloaded from the maven server
$exobuild --product=ecm --clean-mvn-repo --exclude=jcr,pc --build --deploy
#build ecm and all its dependencies, to exo-tomcat, exo-jonas, exo-jboss and create the release zip file
$exobuild --product=ecm --build --release2 Release Options
--release=serverserver can be:
tomcat: packages a tomcat zip
jonas: packages a jonas zip
jboss: packages a .sar
jbossear: packages an ear for jboss
ear: packages an ear for websphere
3 Single module build
If you want to build a single module, you can use exoproject command:$cd ~/java/eXoProjects/portal/trunk $exoproject --deploy=module