File README.updating of Package java-monasca-common-kit
This package provides build dependencies for building monasca-common using
using Tetra (ruby2.2-rubygem-tetra). Using Tetra is neccessary due
monasca-common's Maven based build process downloading dependencies at build
time. Tetra will keep track of these downloaded dependencies during a so-called
"dry-run" build on the maintainer's machine and generate a tarball
(openstack-monasca-common-kit.tar.xz) containing all of them. This tarball
is then used to allow the same build to run in an offline manner in OBS (where
there is no Internet connectivity on purpose in order to allow for reproducible
builds). To generate openstack-monasca-common-java-kit.tar.xz for a new
version of monasca-common, proceed as follows (you will need to have Tetra
installed for this):
Note: these steps need to be performed on the machine where you keep your
java-monasca-common{,-kit} working copy.
1) Download an updated monasca-common stable tarball. We'll use the version
number resulting from extracting this tarball for the package (do not forget
to update it in the spec). At the time of this writing this was 2.3.1.dev1
for the stable/pike tarball.
2) Initialize a tetra build directory for your new monasca-common tarball
by running these commands from your openstack-monasca-common working copy:
# OBS checkouts may have colons in their directory names which messes with some
# Java build tools, so use a neutral location:
cp monasca-common-stable-pike.tar.gz /tmp
cd /tmp
tetra init java-monasca-common monasca-common-stable-pike.tar.gz
3) Perform a dry-run build with Tetra:
cd /tmp/java-monasca-common/src/monasca-common-2.3.1.dev1
tetra dry-run
# Make sure run_maven.sh finds a mvn executable to run in PATH. Otherwise it
# will quietly fail to run, causing us to miss tons of dependencies.
export PATH=$PATH:/tmp/java-monasca-common/kit/apache-maven-3.3.9/bin/
mvn dependency:go-offline
mvn clean install
4) Generate the new kit tarball:
tetra generate-all
You will now find an updated kit tarball in
/tmp/java-monasca-common/packages/java-monasca-common-kit/java-monasca-common-kit.tar.xz
Substitute this tarball for the existing one in the kit package and bump its
version.
Note: these instructions applied for openstack-monasca-common-2.3.1dev1 and
may not be sufficient for more recent monasca-common versions. If they turn
out to yield a broken kit tarball and you end up fixing it, please update this
file. Thank you!