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.
Use Help..Install New Software to add the desired features from the elexis-3-base P2 repository.
You need Java 1.8+. Maven >= 3.3. 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 -V clean verify -Dtycho.localArtifacts=ignore -Dmaven.test.skip=true -P all-archs
Explanation of the used options
- -V: emits version of Java, Maven, GUI-Toolkit, Architecture. Handy when you ask a problem
- clean: Build everything from scratch
- verify: Compile, test and build a P2-site including products. But does NOT install maven artefacts
- -Dtycho.localArtifacts=ignore: Do not use any locally built maven artefacts
- -Dmaven.test.skip=true: Skip unit tests (Use it only if you want to speed up the build)
- -P all-archs: This a work-around for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=491951. We will get rid of around April 2018 when its fix will be in the next Oxygen Release
- —quiet: Used for travis builds to generate Quiet output – only show errors. Without it the log would bee too long and make the travis-build fail.
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
We use Travis-CI to ensure that our build system works using a well documented environment. The status for the different branches can be founde under Travis-CI elexis-3-core
The downloads found under http://download.elexis.info/elexis/ are produced by jobs running via the Medelexis GitLab
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.