Building MES from source code - tutorial
This guide is designed for bash.
I. Clone repository
This step is optional if you already have a copy of the repository.
Clone following repositories to directory of your choice (for example ~/qcadoo/
):
git clone git@github.com:qcadoo/qcadoo-super-pom-open git clone git@github.com:qcadoo/qcadoo-maven-plugin git clone git@github.com:qcadoo/qcadoo git clone git@github.com:qcadoo/mes
II. Checkout branch and pull changes
In ~/qcadoo/mes
use the given command to checkout branch branch_name:
git checkout branch_name
To update your local repository in each project use command:
git pull origin current_branch_name
III. Build projects
Build framework and plugins
Projects must be built in specific order:- qcadoo-super-pom-open
- qcadoo-maven-plugin
- qcadoo
- mes
Build each project with command:
mvn clean install [-o]
Use flag -o if you want to use locally built binaries.
Rebuilding
If you rebuild MES on the same computer and no changes have been done in step II. in given project, you can skip it in build order. If however some changes appear in qcadoo for example, you must rebuild projects b, c, d.
Build order is important!
Building qcadoo on non-Unix
If you have got some problems when building qcadoo project on non-Unix based computer please add -DskipTests=true, to build command.
If you have got some problems when building mes-commercial project on non-Unix computer please check your maven version. If you have version 3.9.x then change it to 3.8.x and remember about changing PATH for maven in environment variables.
Prepare configuration for MES application
Before you can start application, you have to create database.
Postgres installation
Currently we're working on Postgres 9.5.4. For installation manual depending on your platform follow: https://www.postgresql.org/download/.
By default mes will try to connect to database as user: postgres, using password: postgres123 and connecting to database mes. You can change this settings in file mes/mes-application/target/tomcat-archiver/mes-application/qcadoo/db.properties.
Configuration preserving
If you want to make configuration and preserve it between mes-application builds, change file mes/mes-application/conf/tomcat/db.properties.
If you want to make temporary configuration for current build only, change file mes/mes-application/target/tomcat-archiver/mes-application/qcadoo/db.properties (after first build!) .We no longer provide possibility to create clean database when starting qcadoo MES.
Instead, we attach schema dump, which You can find in the following path:/mes/mes-application/src/main/resources/schema/demo_db_en.sql
Before You can run qcadoo MES, all You have to do is to restore this dump using the following command (assuming, You have installed postgreSQL as the user postgres, and created database mes with password postgres123 and appropriate locale):
psql -U postgres mes < path/to/schema/demo_db_en.sql
Schema version
Schema is valid for current master branch. If You decide to build qcadoo MES from branch different than current branch (e.g. dev, feature/xyz), You will fail to launch the application. In order to start qcadoo MES built from branch other than current master, change "hibernateHbm2ddlAuto=validate" to "hibernateHbm2ddlAuto=update" in file:
mes/mes-application/target/tomcat-archiver/mes-application/qcadoo/db.properties (created after command below is being executed)
Be aware - You may be missing some views, menu position etc., but You will be able to run qcadoo MES!
Building MES application
Navigate to
mes/mes-application
and use:mvn clean install -o -Ptomcat -Dprofile=package
IV. Start MES
In step III you created complete package with application in directory mes/mes-application/target/tomcat-archiver/mes-application.
To start local instance of MES:
Navigate to directory with mes package:
cd mes/mes-application/target/tomcat-archiver/mes-application
Give execute rights to tomcat scripts:
chmod a+x bin/*.sh
Start MES:
./bin/startup.sh
Shutdown MES:
./bin/shutdown.sh
Access to logs
Logs can be found in directory mes/mes-application/target/tomcat-archiver/mes-application/logs/.
Most of the time you will find information you need in file root.log, for example if your instance started correctly, details of found errors etc.
You should ignore aspects errors and log4j errors from catalina.out - these are just warnings.
Access to local instance of MES
To access started locally instance of MES, go to page (by default):
http://localhost:8080
If MES started correctly, you should see login page. Default user: admin, password: admin. Superadmin user: superadmin, password: superadmin (start with this user, and add access roles to groups!).
The procedure is as follows:
- Login as superadmin.
- Go to ‘Administration’ → ‘Groups’.
- Click the right group on a list - the one that is related to the user you want to log in. Next, go there.
- Select all available roles. Save your choice.
- Log out.
- Log in the account again.
If you have any problems with building MES with this guide, feel free to contact us: pomoc@qcadoo.com.