File: test-downstream.sh

package info (click to toggle)
checker-framework-java 3.2.0%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 23,104 kB
  • sloc: java: 145,916; xml: 839; sh: 518; makefile: 404; perl: 26
file content (54 lines) | stat: -rwxr-xr-x 2,234 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash

set -e
set -o verbose
set -o xtrace
export SHELLOPTS
echo "SHELLOPTS=${SHELLOPTS}"

if [ -d "/tmp/plume-scripts" ] ; then
  (cd /tmp/plume-scripts && git pull -q)
else
  (cd /tmp && git clone --depth 1 -q https://github.com/plume-lib/plume-scripts.git)
fi

export CHECKERFRAMEWORK="${CHECKERFRAMEWORK:-$(pwd -P)}"
echo "CHECKERFRAMEWORK=$CHECKERFRAMEWORK"

SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
echo "BUILDJDK=${BUILDJDK}"
# In newer shellcheck than 0.6.0, pass: "-P SCRIPTDIR" (literally)
# shellcheck disable=SC1090
source "$SCRIPTDIR"/build.sh "${BUILDJDK}"


## downstream tests:  projects that depend on the Checker Framework.
## These are here so they can be run by pull requests.  (Pull requests
## currently don't trigger downstream jobs.)
## Exceptions:
##  * checker-framework-inference is run by test-cf-inference.sh
##  * plume-lib is run by test-plume-lib.sh
##  * daikon-typecheck is run as a separate CI project

# Checker Framework demos
/tmp/plume-scripts/git-clone-related typetools checker-framework.demos
./gradlew :checker:demosTests --console=plain --warning-mode=all --no-daemon

# Guava
# Can't use `git-clone-related` here, since we want slightly different behavior.
# shellcheck disable=SC2046
eval $(/tmp/plume-scripts/ci-info typetools)
REPO_URL=$(/tmp/plume-scripts/git-find-fork "${CI_ORGANIZATION}" typetools guava)
BRANCH=$(/tmp/plume-scripts/git-find-branch "${REPO_URL}" "${CI_BRANCH}" cf-master)
if [ "$BRANCH" = "master" ] ; then
  # ${CI_ORGANIZATION} has a fork of Guava, but no branch that corresponds to the pull-requested branch,
  # nor a cf-master branch.  Use upstream.
  REPO_URL=https://github.com/typetools/guava.git
  if [ "$CI_BRANCH" = "master" ] ; then
    BRANCH=$(/tmp/plume-scripts/git-find-branch ${REPO_URL} cf-master)
  else
    BRANCH=$(/tmp/plume-scripts/git-find-branch ${REPO_URL} "${CI_BRANCH}" cf-master)
  fi
fi
git -C .. clone -b "${BRANCH}" --single-branch --depth 1 -q ${REPO_URL} guava || git -C .. clone -b "${BRANCH}" --single-branch --depth 1 -q ${REPO_URL} guava
(cd ../guava/guava && mvn -B compile -P checkerframework-local -Dcheckerframework.checkers=org.checkerframework.checker.nullness.NullnessChecker)