Building OpenICF Connectors

Last modified 22 Apr 2021 17:31 +02:00
This functionality is obsolete. It is no longer supported or maintained.

Build and Deploy New Connector Version

  1. Connector source code is in Evolveum OpenICF git repo at github:

  2. Modify the connector code, build it, install to local maven repo (mvn clean install)

  3. Test the connector by changing the dependency in midpoint/build-system/pom.xml and running appropriate unit tests …​ or by manual jar deploy and manual test

  4. Commit changes (committing to master is OK)

  5. Determine connector version by using git describe (see below)

  6. Change version in connector pom.xml file. E.g. from to 1.1.0.em23. DO NOT COMMIT this change.

  7. Build the connector with the new version (mvn clean install)

  8. Deploy the artifacts from target directory to Deploy to "OpenICF Releases (Evolveum)" repository.

    1. User target/reduced-pom.xml as pom file in nexus.

    2. Add the \*.jar artifact from the target

    3. Add source artifact (if available)

    4. Click "Deploy" button

  9. Revert the version number change in the pom.xml to avoid accidental commit (e.g. git checkout pom.xml)

  10. If the connector is a bundled midPoint connector (ldap, csvfile, dbtable, …​)

    1. change the connector version in midpoint/build-system/pom.xml and run appropriate tests

    2. change the connector version in provisioning-impl test XML files

    3. update Identity Connectors wiki page

Connector Versioning

Connector versions are in the form:


The a, b and c versions are determined by upstream development schedule (by ForgeRock OpenICF development plan). The last number is used to Evolveum intermediary releases. The last number is in a form eXXX where XXX is the number of commits in evolveum git repository from the last upstream release. It can be determined by running git describe. E.g. the output means that there were 42 commits from the last tag. Therefore the connector version number will be 1.1.2.e42.

But …​. in the meantime while there are no tags for OpenICF releases in the evolveum repository we use emark tag as a reference and prepend the number with m. Therefore is the git describe displays emark-3-g759fc53 the resulting connector version will be 1.1.0.em3. Note the m letter and also note that the version is 1.1.0.emXXX and not 1.1.1.emXXX (the current version is which means that the last released version was