Difference between revisions of "Building iDempiere without Eclipse"

From iDempiere en
(update instructions with IDEMPIERE-3353)
Line 39: Line 39:
 
  buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless build -t
 
  buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless build -t
 
* Perform site.p2 action
 
* Perform site.p2 action
 +
** For 4.1
 
  buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless perform \
 
  buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless perform \
 
     -D 'qualifier.replacement.*=generator:buildTimestamp' \
 
     -D 'qualifier.replacement.*=generator:buildTimestamp' \
Line 46: Line 47:
 
     -D 'target.arch=*'      \
 
     -D 'target.arch=*'      \
 
     'org.adempiere.server:eclipse.feature#site.p2'
 
     'org.adempiere.server:eclipse.feature#site.p2'
 +
** After 4.1
 +
buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless perform \
 +
    -P ${WORKSPACE}/org.adempiere.server-feature/buckminster_linux_gtk_x86_64.properties \
 +
    -D buckminster.output.root=${WORKSPACE}/buckminster.output \
 +
    -D buckminster.temp.root=${WORKSPACE}/buckminster.temp org.adempiere.server:eclipse.feature#site.p2
 
* Perform create.product.zip action for linux x86_64
 
* Perform create.product.zip action for linux x86_64
 
** For 4.1
 
** For 4.1
Line 60: Line 66:
 
** After 4.1
 
** After 4.1
 
  buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless perform \
 
  buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless perform \
−
     -D 'qualifier.replacement.*=generator:buildTimestamp' \
+
     -P ${WORKSPACE}/org.adempiere.server-feature/buckminster_linux_gtk_x86_64.properties \
−
    -D "generator.buildTimestamp.format='v'yyyyMMdd-HHmm" \
+
     -D buckminster.output.root=${WORKSPACE}/buckminster.output \
−
     -D 'target.os=linux'  \
+
     -D buckminster.temp.root=${WORKSPACE}/buckminster.temp \
−
    -D 'target.ws=gtk'  \
 
−
    -D 'target.arch=x86_64' \
 
−
     -D product.features=org.idempiere.fitnesse.feature.group,org.idempiere.equinox.p2.director.feature.group \
 
−
    -D product.profile=DefaultProfile \
 
−
    -D product.id=org.adempiere.server.product \
 
 
     'org.adempiere.server:eclipse.feature#create.product.zip'
 
     'org.adempiere.server:eclipse.feature#create.product.zip'
 
* After this step the server installer must be found at:
 
* After this step the server installer must be found at:

Revision as of 17:21, 23 October 2017

⇐ Table of Contents | Creating Installers from Eclipse | Building iDempiere without Eclipse

It is possible to build iDempiere without Eclipse, thanks to the Buckminster headless functionality.

Install Buckminster director

cd $DIRECTOR_HOME  # replace DIRECTOR_HOME with your preferred folder for this
unzip director_latest.zip
  • Using director download buckminster headless into $BUCKMINSTER_HOME folder (you decide which folder)
director -r https://github.com/hengsin/headless/raw/master/4.5/ -d $BUCKMINSTER_HOME -p Buckminster -i org.eclipse.buckminster.cmdline.product
# Note: replace $BUCKMINSTER_HOME with your preferred folder for this
  • Install the prerequisites (Core, PDE, Maven) into Buckminster
cd $BUCKMINSTER_HOME
buckminster install https://github.com/hengsin/headless/raw/master/4.5/ org.eclipse.buckminster.core.headless.feature
buckminster install https://github.com/hengsin/headless/raw/master/4.5/ org.eclipse.buckminster.pde.headless.feature
buckminster install https://github.com/hengsin/headless/raw/master/4.5/ org.eclipse.buckminster.maven.headless.feature

Clone iDempiere code

  • Clone the repository you downloaded on Download the Code step (you can also use your actual installation, but I prefer to clone it to avoid mixing environments)
cd $HOME/sources  # Or use the folder where you downloaded the idempiere project
hg clone idempiere testheadless

Materialize the project

  • Create the target platform (replace below $HOME/sources with the folder where you have your cloned repositories)
cd $BUCKMINSTER_HOME
buckminster -data $HOME/sources/testheadless importtargetdefinition -A "$HOME/sources/testheadless/org.adempiere.sdk-feature/build-target-platform.target"
  • Materialize the project
buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless import -P $HOME/sources/testheadless/org.adempiere.sdk-feature/materialize.properties "$HOME/sources/testheadless/org.adempiere.sdk-feature/adempiere.cquery"

Build the project

  • Build
cd $BUCKMINSTER_HOME
buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless build -t
  • Perform site.p2 action
    • For 4.1
buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless perform \
    -D 'qualifier.replacement.*=generator:buildTimestamp' \
    -D "generator.buildTimestamp.format='v'yyyyMMdd-HHmm" \
    -D 'target.os=*'      \
    -D 'target.ws=*'     \
    -D 'target.arch=*'      \
    'org.adempiere.server:eclipse.feature#site.p2'
    • After 4.1
buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless perform \
    -P ${WORKSPACE}/org.adempiere.server-feature/buckminster_linux_gtk_x86_64.properties \
    -D buckminster.output.root=${WORKSPACE}/buckminster.output \
    -D buckminster.temp.root=${WORKSPACE}/buckminster.temp org.adempiere.server:eclipse.feature#site.p2
  • Perform create.product.zip action for linux x86_64
    • For 4.1
buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless perform \
    -D 'qualifier.replacement.*=generator:buildTimestamp' \
    -D "generator.buildTimestamp.format='v'yyyyMMdd-HHmm" \
    -D 'target.os=linux'  \
    -D 'target.ws=gtk'   \
    -D 'target.arch=x86_64' \
    -D product.features=org.idempiere.eclipse.platform.feature.group \
    -D product.profile=DefaultProfile \
    -D product.id=org.adempiere.server.product \
    'org.adempiere.server:eclipse.feature#create.product.zip'
    • After 4.1
buckminster -L DEBUG -consoleLog -data $HOME/sources/testheadless perform \
    -P ${WORKSPACE}/org.adempiere.server-feature/buckminster_linux_gtk_x86_64.properties \
    -D buckminster.output.root=${WORKSPACE}/buckminster.output \
    -D buckminster.temp.root=${WORKSPACE}/buckminster.temp \
    'org.adempiere.server:eclipse.feature#create.product.zip'
  • After this step the server installer must be found at:
/tmp/buckminster/build/org.adempiere.server_4.1.0-eclipse.feature/idempiereServer.gtk.linux.x86_64.zip

This tutorial is brought to you by Carlos Ruiz from GlobalQSS. Feel free to improve directly or suggest using the Discussion tab.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.