diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..734f952282b6667b5fc0f68334bd392a69cb5fb5 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,107 @@ +image: ${DEVOPS_REGISTRY}usgs/centos:latest + +stages: + - test + - publish + +variables: + JAVA_IMAGE: ${DEVOPS_REGISTRY}usgs/java:11-jdk + #CPP_IMAGE: ${DEVOPS_REGISTRY}usgs/python:3.9-obspy # gets us ubuntu + + # environment variables + APP_NAME: hazdev-broker + UPSTREAM_PATH: ghsc/neic/utilities/hazdev-broker + +## -------------------------------------------------- +# Templates +## -------------------------------------------------- + +# rules to define which branches should trigger actions +.dev-env: &dev-env + if: $CI_PROJECT_PATH != $UPSTREAM_PATH + variables: + ENVIRONMENT: dev + +.publish-env: &publish-env + if: $CI_PROJECT_PATH == $UPSTREAM_PATH + variables: + ENVIRONMENT: publish + +## -------------------------------------------------- +# Test Stage +## -------------------------------------------------- + +# Java +Java Test: + after_script: + # runs before cache is saved + - rm -f "${CI_PROJECT_DIR}/java/.gradle/caches/modules-2/modules-2.lock" + - rm -fr "${CI_PROJECT_DIR}/java/.gradle/caches/*/plugin-resolution/" + cache: + paths: + - java/.gradle/caches + - java/.gradle/wrapper + image: ${JAVA_IMAGE} + script: + - cd java + # run gradle and javadoc + - export GRADLE_USER_HOME="${CI_PROJECT_DIR}/.gradle" + - ./gradlew build javadoc + rules: + - <<: *dev-env + when: always + - <<: *publish-env + when: always + stage: test + tags: + - development + +# cpp +#CPP Build: +# before_script: +# - apt update -y +# - apt install gcc=5:5.5.0-12ubuntu1 -y +# - apt install cmake -y +# - apt install libgtest-dev -y +# script: +# - cd cpp +# - mkdir build +# - cd build +# - cmake -DRUN_TESTS=1 -DRAPIDJSON_PATH=../lib/rapidjson .. && make +# stage: test +# image: ${CPP_IMAGE} +# variables: +# CXX: "g++-5" +# CC: "gcc-5" + +## -------------------------------------------------- +# Publish stage +## -------------------------------------------------- +Java Publish: + after_script: + # runs before cache is saved + - rm -f "${CI_PROJECT_DIR}/java/.gradle/caches/modules-2/modules-2.lock" + - rm -fr "${CI_PROJECT_DIR}/java/.gradle/caches/*/plugin-resolution/" + cache: + paths: + - java/.gradle/caches + - java/.gradle/wrapper + image: ${JAVA_IMAGE} + script: + # upstream check + - if [ "${CI_PROJECT_PATH}" != "${UPSTREAM_PATH}" ]; then + echo "Skipping publish on non-upstream (${CI_PROJECT_PATH})"; + exit 0; + fi + - cd java + # use gradle to publish to our maven repository + - export GRADLE_USER_HOME="${CI_PROJECT_DIR}/.gradle" + - ./gradlew publish + stage: publish + rules: + - <<: *dev-env + when: never + - <<: *publish-env + when: manual + tags: + - development \ No newline at end of file diff --git a/java/build.gradle b/java/build.gradle index 2e22178b8bbf4278b20bcce705c36a3d6de5a0ce..7795c93033f353d908bec87ea012d7e57aefce74 100644 --- a/java/build.gradle +++ b/java/build.gradle @@ -20,7 +20,7 @@ plugins { sourceCompatibility = '1.11' targetCompatibility = '1.11' -version = '0.3.0' +version = '0.4.0' group = "gov.usgs" repositories { diff --git a/java/src/main/java/gov/usgs/hazdevbroker/ClientBase.java b/java/src/main/java/gov/usgs/hazdevbroker/ClientBase.java index 2993b1ce45195fc6b413471af2cdd06d5e8d7030..2ac97b76ce9287729ba12e1e985fa53c14cc1191 100644 --- a/java/src/main/java/gov/usgs/hazdevbroker/ClientBase.java +++ b/java/src/main/java/gov/usgs/hazdevbroker/ClientBase.java @@ -29,7 +29,7 @@ public class ClientBase { */ public static final Integer VERSION_MAJOR = 0; - public static final Integer VERSION_MINOR = 3; + public static final Integer VERSION_MINOR = 4; public static final Integer VERSION_PATCH = 0; /** Client Configuration ID */ diff --git a/java/src/main/java/gov/usgs/hazdevbroker/Consumer.java b/java/src/main/java/gov/usgs/hazdevbroker/Consumer.java index 4f715dc978663d3892df87bb7b97edd2fbb68a77..353b4ad3d99c15d5003f0bd2d89d77e48eb497a2 100644 --- a/java/src/main/java/gov/usgs/hazdevbroker/Consumer.java +++ b/java/src/main/java/gov/usgs/hazdevbroker/Consumer.java @@ -349,6 +349,7 @@ public class Consumer extends ClientBase { * this function gets the partition ids for a topic * * @param topic - A string containing the topic to query + * @return An ArrayList of String objects containing the list of partition ids for a topic */ public ArrayList<String> getPartitions(String topic) { ArrayList<String> partitions = new ArrayList<String>();