# JJB macros specific to Integration/Distribution ODL project
---
+- builder:
+ name: distribution-deploy-verify
+ # Operation: Deploy ODL with all fetures and check it is not broken.
+ # Required bash variables:
+ # KARAF_VERSION: 'karaf4' or 'karaf3'.
+ # Use distribution-karaf-version macro to customize.
+ builders:
+ - integration-detect-variables
+ - shell: !include-raw: distribution-deploy-verify.sh
+
+- builder:
+ name: distribution-deploy-offline
+ # Operation: Deploys ODL on the current system, with no external repo configuration, check it works.
+ # Required bash variables:
+ # KARAF_VERSION: 'karaf4' or 'karaf3'.
+ # Use distribution-karaf-version macro to customize.
+ builders:
+ - integration-detect-variables
+ - shell: !include-raw: distribution-deploy-offline.sh
+
- builder:
name: distribution-check-wipe
# Step zero: Wipe file repositories up front.
rm -rfv /tmp/n
echo "wipe t: the transient repository used in some manipulations"
rm -rfv /tmp/t
+ echo "create n: multithreaded execution might fail at creating it."
+ mkdir /tmp/n
- builder:
name: distribution-check-build-project
# pom: Relative path to pom file to use. Typically '$GERRIT_PROJECT/pom.xml'.
builders:
- maven-target:
- maven-version: 'mvn33'
+ maven-version: '{mvn-version}'
pom: '{pom}'
goals: |
clean deploy
# dist-pom: Relative path to pom file to use. 'distribution/pom.xml' is recommended.
builders:
- maven-target:
- maven-version: 'mvn33'
+ maven-version: '{mvn-version}'
pom: '{dist-pom}'
goals: |
clean install
- shell: |
cp -r /tmp/r /tmp/t
- maven-target:
- maven-version: 'mvn33'
+ maven-version: '{mvn-version}'
pom: '{pom}'
goals: |
clean install
# dist-pom: Relative path to pom file to use. 'distribution/pom.xml' is recommended.
builders:
- maven-target:
- maven-version: 'mvn33'
+ maven-version: '{mvn-version}'
pom: '{dist-pom}'
goals: |
clean install
{mvn-opts}
java-opts:
- '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+
+- builder:
+ name: distribution-check-warn-9191
+ # Detect ODL bundles referenced cross-project from features, store them to a file to be archived.
+ # Do not fail the build, this is just to inform interested contributors.
+ # TODO: Improve integration archiving macro so that it finds bug_9191 log without us crating it in $WORKSPACE/.
+ builders:
+ - shell: |
+ # No failure in this macro should affect the job result.
+ set +e
+ rm -f "$WORKSPACE/bug_9191.log"
+ pushd "$WORKSPACE/distribution/$KARAF_ARTIFACT/target/assembly/system/org/opendaylight"
+ for folder in `ls`; do
+ find "$folder" -name \*features.xml | xargs fgrep -n '<bundle>' > bug_9191.0.log
+ fgrep org.opendaylight bug_9191.0.log | fgrep -v "org.opendaylight.$folder" >> "$WORKSPACE/bug_9191.log"
+ rm bug_9191.0.log
+ done
+ popd
+
+- builder:
+ name: distribution-check-warn-9192
+ # Detect ODL bundles referenced from multiple features within a project, store them to a file to be archived.
+ # Current implementation will also include Bug 9191 violations,
+ # presenting an unified diff with lines marked to be removed, among unmarked lines to compare to.
+ # Do not fail the build, this is just to inform interested contributors.
+ # TODO: Improve integration archiving macro so that it finds bug_9192 log without us crating it in $WORKSPACE/.
+ builders:
+ - shell: |
+ # No failure in this macro should affect the job result.
+ set +e
+ pushd "$WORKSPACE/distribution/$KARAF_ARTIFACT/target/assembly/system/org/opendaylight"
+ find . -name \*features.xml | xargs fgrep -n '<bundle>' > "$WORKSPACE/bug_9192.0.log"
+ popd
+ fgrep org.opendaylight bug_9192.0.log > "$WORKSPACE/bug_9192.1.log"
+ sort -s -t '<' -k 2 "$WORKSPACE/bug_9192.1.log" > "$WORKSPACE/bug_9192.2.log"
+ sort -u -s -t '<' -k 2 "$WORKSPACE/bug_9192.1.log" > "$WORKSPACE/bug_9192.3.log"
+ diff -U 999 -b -t -d "$WORKSPACE/bug_9192.2.log" "$WORKSPACE/bug_9192.3.log" > "$WORKSPACE/bug_9192.diff.log"
+ rm -f "$WORKSPACE"/bug_9192.?.log
+
+- builder:
+ name: distribution-check-bootup
+ # Operation: Locally deploy ODL with all fetures, check it is not broken.
+ # Required bash variables:
+ # KARAF_VERSION: 'karaf4' or 'karaf3'.
+ # Use distribution-karaf-version macro to customize.
+ builders:
+ - shell: !include-raw: distribution-check-bootup.sh