/elexis.3rdparty.libraries

build support for P2-update site for third party libraries used by the Elexis project

Primary LanguageRuby

This (small) project is here to create a P2-update site for third party libraries used by the Elexis project.

For version 3.0 up to 3.6

In 2020 we cleaned up our https://download.elexis.info, as we were not aware of any users still using it, as the
current version was 3.8.

In 2022 we became aware of some users (at least 2) still using 3.6. Therefore we made it available again under https://archive.elexis.info/elexis.3.3rdparty.libraries/.

Also on March 23.2022 I verified that the 3.6 branch of elexis-3-core and elexis-3-base can be built using archive.elexis.info
instead of download.elexis.info. Added the noa jars to the project, as they can no longer be found on its origin.
Also google-api-client version was upped from 1.20.0 to 1.25.0. Added a shell.nix to build the project under NixOS. Updated the
get_ag_ion.rb to load the needed gems.

The p2-update site service is sponsored by Medelexis AG. Thanks a lot!

To build it you need maven >= 3.0. Then call mvn clean install p2:site. (Needs Ruby to execute get_ag_ion.rb)

To add another item simply edit the pom and add another line of the form:
<artifact><id>group-id:artifact-id:version</id></artifact>

To test it call mvn jetty:run and you should be able to use it as a p2 site by adding http://localhost:8080/site/ to your target file.

For questions and suggestions send an e-mail to elexis-develop@lists.sourceforge.net.

Remarks

Our main goal is to generate a P2-site which contains plugins for all Elexis features (OpenSource and closed source, to avoid duplication).

AG_ION

We use the ruby script get_ag_ion.rb to download the needed jar files, which later get packed using the p2-maven-plugin.

google-calendar

Handling the google-calendar plugins consists of the following steps:

  • Download google_calendar_v3.zip to from developers.google.com
  • Unzip it into the target directory unsing the antrun plugin
  • Install each of the files, e.g. target/calendar/libs/google-api-client-1.25.0.jar as a temporary jar with the groupId elexis_3rdparty
  • Add it to to p2 site (using the p2-maven-plugin) and add special instruction to set it’s SymbolicName and Version using the following code snippet
<artifact><source>false</source><id>elexis_3rdparty:google-api-client:1.25.0</id>
 <instructions>
    <Bundle-SymbolicName>com.google.api.client</Bundle-SymbolicName>
    <Bundle-Version>1.25.0</Bundle-Version>
    <Comment>Built for Elexis 3.1 master branch via elexis.3rdparty.libraries project</Comment>
  </instructions>
</artifact>

Checking versions of used maven plugins

It is a good idea to run from time to time (especially when problems arise) whether all Maven plugins are uptodate. Run mvn versions:display-plugin-updates.
More info can be found at http://stackoverflow.com/questions/786552/how-do-i-upgrade-the-version-of-a-maven-plugin