Building OpenICF Connectors
OBSOLETE
This functionality is obsolete.
It is no longer supported or maintained.
|
Build and Deploy New Connector Version
-
Connector source code is in Evolveum OpenICF git repo at github:
https://github.com/Evolveum/openicf -
Modify the connector code, build it, install to local maven repo (mvn clean install)
-
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
-
Commit changes (committing to
master
is OK) -
Determine connector version by using
git describe
(see below) -
Change version in connector pom.xml file. E.g. from
1.1.1.0-SNAPSHOT
to1.1.0.em23
. DO NOT COMMIT this change. -
Build the connector with the new version (mvn clean install)
-
Deploy the artifacts from
target
directory to https://nexus.evolveum.com/. Deploy to "OpenICF Releases (Evolveum)" repository.-
User
target/reduced-pom.xml
as pom file in nexus. -
Add the
*.jar
artifact from thetarget
-
Add source artifact (if available)
-
Click "Deploy" button
-
-
Revert the version number change in the pom.xml to avoid accidental commit (e.g.
git checkout pom.xml
) -
If the connector is a bundled midPoint connector (ldap, csvfile, dbtable, …)
-
change the connector version in midpoint/build-system/pom.xml and run appropriate tests
-
change the connector version in provisioning-impl test XML files
-
update Identity Connectors page
-
Connector Versioning
Connector versions are in the form:
a.b.c.d
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 1.1.2.0-42-g659ec33
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 1.1.1.0-SNAPSHOT
which means that the last released version was 1.1.0.0).