IMPORTANT Please employ the 3lexisFormatterProfile.xml
as Eclipse default formatter prior to development and pull requests.
This accounts for all Elexis 3 related development.
Go to Jenkins-CI Builds. Download and unzip the zip file for your machine.
Install Oracle java 1.8 from http://www.java.com/de/download/manual.jsp
Start the Elexis3 application.
You need Java 1.8+. Maven 3.0.x (Higher version do NOT work due to plugin incompatibilities). Then you should be able to generate the application and p2 update site using the following calls:
git clone https://github.com/elexis/elexis-3-core
mvn clean install
It will be built for your OS/Window-System/Architecture combination. You will find the executables under ch.elexis.core.p2site/target/products/ch.elexis.core.application.ElexisApp/*/*/*
Note: This will fail in MacOSX. Build instructions for Mac:
Install Homebrew
brew install homebrew/versions/maven30
git clone https://github.com/elexis/elexis-3-core
mvn clean install -Pall-archs -Dmaven.test.skip=true
If you want a complete development environment, try Oomph
This repository hosts the core Elexis 3. It consists of the following plug-ins and features:
ch.rgw.utility
Utilities required to drive Elexis.ch.elexis.core
Core concepts and interface definitions.ch.elexis.core.data
Core persistence and functionality packages and classes.ch.elexis.core.console.application
Headless Elexis application.ch.elexis.core.ui
User Interface dependent portions. Dependent on Eclipse RCP 3.×.ch.elexis.core.application
Core UI Elexis Application.
ch.elexis.core.releng
Release Engineering specific parts (Build Target, 3rd party …)
ch.elexis.core.logging
Plug-In for starting ch.qos.logback logging (via slf4j interface)ch.elexis.core.logging.feature
Feature for logging and Felix-gogo consolech.elexis.core.logging.default_configuration
Default logging configuration (logback.xml)
ch.elexis.core.ui.icons
Plug-In for central icon management.ch.elexis.core.ui.contacts
Plug-In for contact management.ch.elexis.core.ui.laboratory
Plug-In for laboratory related tasks.ch.elexis.core.ui.p2
Plug-In to realize client side p2 update tasksch.elexis.core.common.feature
Headless Core Feature.ch.elexis.core.ui.feature
Core UI Feature.ch.elexis.core.application.feature
Core Application Feature.
For details about the resp. plug-ins/features switch to the respective directory. The plug-ins and features
are contained and inter-dependent as follows:
Elexis uses Javadoc go documents its API interface. The Eclipse IDE offers built-in support for reading the javadoc for a given method or class and provides also helper to generate it.
This is accomplished by calling mvn -DforceContextQualifier=javadoc javadoc:javadoc
. It generates a complete javadoc. The generated output can be search at target/site/apidocs/index.html.
Even when theses javadoc are not used often, they provide a convenient way to get an overview over methods, packages, etc.
We use checkstyle to generate Javadoc. Use the following command line:
mvn checkstyle:checkstyle-aggregate site:site
This generates an browsable HTML file target/site/index.html. The links to the modules do not work, unless you call afterwards ch.elexis.core.releng/cleanup_after_checkstyle.rb
, a small ruby script which generates a few missing links (not supported on Windows).
It uses the rules defined in ch.elexis.core.releng/checkstyle.xml
to generate warnings for missing Javadoc. For each project, there exists an error report. E.g target/site/ch.rgw.utility/checkstyle.html. An aggregated, overall statistics can be found under target/site/checkstyle-aggregate.html
If you want to add even more checks, look at ch.elexis.core.releng/checkstyle_full.xml. Adding new checks should be discussed on the developers mailing list.