Skip to content

jamda/elexis-3-core

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elexis 3 Core Repository

build status

IMPORTANT Please employ the 3lexisFormatterProfile.xml as Eclipse default formatter prior to development and pull requests.
This accounts for all Elexis 3 related development.

Install latest build

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.

Building

Maven based build

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

Continuos Intergration builds

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

Building via Eclipse IDE

If you want a complete development environment, try Oomph

Developer Overview

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 console
  • ch.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 tasks
  • ch.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:

Generate Javadoc

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.

Check whether Javadocs are correctly generated

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.

Packages

No packages published

Languages

  • Java 96.8%
  • Ruby 1.4%
  • HTML 1.1%
  • XSLT 0.5%
  • Shell 0.2%
  • Groovy 0.0%