Zuul Upstream

The project depends on a fork of the official Zuul Git repository to maintain the flexibility to diverge from upstream whenever it is needed (e.g. rely on unmerged patches or even maintain an older version with applied security patches). The repository is located at https://gitlab.open-xchange.com/middleware/netflix-zuul.

Branches within that repository should follow the origin Zuul naming scheme with an -ox suffix, for example 2.1-ox. Such branches should be kept up to date with new according minor releases from upstream and have all changes added as dedicated commits on top. Example:

  • Upstream branch 2.1 is Netflix’ development branch for the Zuul 2.1 code stream

  • Zuul 2.1.4 is the most recent release of this stream and tagged as v2.1.4

  • OX maintains a branch 2.1-ox that is based on tag v2.1.4 (and therefore potentially behind branch 2.1). OX commits fixes on the 2.1-ox branch.

  • If Zuul 2.1.5 is released and OX decides to upgrade, branch 2.1-ox would be rebased onto tag 2.1.5.

Release build versions done by OX are defined as ${upstreamVersion}-${patchNumber}-ox, e.g. 2.1.4-1-ox. For each release, a tag of the same name and with a v prefix must be set (e.g. v2.1.4-1-ox).

Prepare Workspace

git clone git@gitlab.open-xchange.com:middleware/netflix-zuul.git
cd netflix-zuul
git remote add upstream https://github.com/Netflix/zuul.git
git checkout 2.1-ox

Release Builds

To depend on a new Zuul version, be it for new OX commits or upstream changes, after applying all desired changes to the most recent OX branch, a JAR file along with source and JavaDoc JARs and maven repository metadata must be build. The correct version number must be passed as Gradle property release.version:

./gradlew :zuul-core:clean :zuul-core:build :zuul-core:publishToMavenLocal -Prelease.version="2.1.4-1-ox" -Dmaven.repo.local=./zuul-core/build/publications/ox
git tag v2.1.4-1-ox
git push origin --tags

To let appsuite-proxy depend on the new version, it must be published to https://artifactory.open-xchange.com/artifactory/libs-release-local/. The whole distribution to upload can be found in ./zuul-core/build/publications/ox.