diff --git a/.gitignore b/.gitignore
index 8b440b9e3e4709580090b0e5789a2fdf72cb0304..047415d15e7bcbe6744d3867d05eebe8b710a70f 100755
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ jbossmodule/
 /nbproject/
 *~
 .idea/
+/VIPSCommon.iml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 16da97d45a170ec93555f7b43fa29cc13a596d6c..fab30a96772ab11bb510da0c1fbad6e42d8361de 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,8 @@
-image: openjdk:11-jdk
+include:
+  - project: 'VIPS/vips-common-config'
+    file: '/gitlab-ci-vips-libraries.yml'
+    ref: main
+
 stages:
   - build
   - test
@@ -13,10 +17,6 @@ stages:
   - models-8
 
 variables:
-  MAVEN_CLI_OPTS: "-s ci_settings.xml --batch-mode"
-  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository -Dmaven.artifact.threads=10"
-  MAIN_BRANCH: "main"
-  RELEASE_BRANCH: "release"
   ALTERNARIA_PROJECT_ID: "173"
   APPLESCABM_PROJECT_ID: "20"
   BARLEYNETB_PROJECT_ID: "21"
@@ -40,365 +40,607 @@ variables:
   SEPAPIICOL_PROJECT_ID: "39"
   SEPTORIAHU_PROJECT_ID: "65"
   SEPTREFHUM_PROJECT_ID: "135"
-cache:
-  paths:
-    - .m2/repository/
-
-build:
-  stage: build
-  script:
-    - ./mvnw $MAVEN_CLI_OPTS $MAVEN_OPTS package
-  tags:
-    - vips-java
-
-test:
-  stage: test
-  script:
-    - ./mvnw $MAVEN_CLI_OPTS $MAVEN_OPTS test
-  tags:
-    - vips-java
-
-deploy-snapshot:
-  stage: deploy
-  script:
-    - export VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - if ! [[ $VERSION =~ .*SNAPSHOT ]]; then exit 1; fi
-    - ./mvnw $MAVEN_CLI_OPTS $MAVEN_OPTS deploy -DskipTests
-  tags:
-    - vips-java
-  rules:
-    - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
-# Runs after new SNAPSHOT is deployed to package registry. Triggers job on release branch in model repo,
+# Runs after new SNAPSHOT is deployed to package registry. Triggers job on main branch in model repo,
 # which builds model with the new version of VIPSCommon. This pipeline fails if model build fails.
 
 verify_model_ALTERNARIA:
-  stage: models-1
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-1
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_ALTERNARIA" -t $RELEASE_BRANCH $ALTERNARIA_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_ALTERNARIA" -t $MAIN_BRANCH $ALTERNARIA_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_APPLESCABM:
-  stage: models-1
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-1
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_APPLESCABM" -t $RELEASE_BRANCH $APPLESCABM_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_APPLESCABM" -t $MAIN_BRANCH $APPLESCABM_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_BARLEYNETB:
-  stage: models-1
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-1
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_BARLEYNETB" -t $RELEASE_BRANCH $BARLEYNETB_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_BARLEYNETB" -t $MAIN_BRANCH $BARLEYNETB_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_BREMIALACT:
-  stage: models-2
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-2
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_BREMIALACT" -t $RELEASE_BRANCH $BREMIALACT_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_BREMIALACT" -t $MAIN_BRANCH $BREMIALACT_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_DELIARADIC:
-  stage: models-2
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-2
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DELIARADIC" -t $RELEASE_BRANCH $DELIARADIC_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DELIARADIC" -t $MAIN_BRANCH $DELIARADIC_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_DELIARFOBS:
-  stage: models-2
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-2
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DELIARFOBS" -t $RELEASE_BRANCH $DELIARFOBS_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DELIARFOBS" -t $MAIN_BRANCH $DELIARFOBS_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_DOWNCASTMO:
-  stage: models-3
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-3
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DOWNCASTMO" -t $RELEASE_BRANCH $DOWNCASTMO_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DOWNCASTMO" -t $MAIN_BRANCH $DOWNCASTMO_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_FAWMODEL01:
-  stage: models-3
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-3
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_FAWMODEL01" -t $RELEASE_BRANCH $FAWMODEL01_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_FAWMODEL01" -t $MAIN_BRANCH $FAWMODEL01_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_FINNCEREAL:
-  stage: models-3
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-3
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_FINNCEREAL" -t $RELEASE_BRANCH $FINNCEREAL_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_FINNCEREAL" -t $MAIN_BRANCH $FINNCEREAL_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_GRASSDRYMO:
-  stage: models-4
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-4
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_GRASSDRYMO" -t $RELEASE_BRANCH $GRASSDRYMO_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_GRASSDRYMO" -t $MAIN_BRANCH $GRASSDRYMO_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_LEAFBLOTCH:
-  stage: models-4
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-4
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_LEAFBLOTCH" -t $RELEASE_BRANCH $LEAFBLOTCH_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_LEAFBLOTCH" -t $MAIN_BRANCH $LEAFBLOTCH_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_LYGUSRUGUL:
-  stage: models-4
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-4
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_LYGUSRUGUL" -t $RELEASE_BRANCH $LYGUSRUGUL_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_LYGUSRUGUL" -t $MAIN_BRANCH $LYGUSRUGUL_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_MAIZEPHENO:
-  stage: models-5
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-5
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_MAIZEPHENO" -t $RELEASE_BRANCH $MAIZEPHENO_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_MAIZEPHENO" -t $MAIN_BRANCH $MAIZEPHENO_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_MAMESTRABR:
-  stage: models-5
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-5
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_MAMESTRABR" -t $RELEASE_BRANCH $MAMESTRABR_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_MAMESTRABR" -t $MAIN_BRANCH $MAMESTRABR_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_NAERSTADMO:
-  stage: models-5
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-5
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_NAERSTADMO" -t $RELEASE_BRANCH $NAERSTADMO_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_NAERSTADMO" -t $MAIN_BRANCH $NAERSTADMO_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_NEGPROGMOD:
-  stage: models-6
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-6
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_NEGPROGMOD" -t $RELEASE_BRANCH $NEGPROGMOD_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_NEGPROGMOD" -t $MAIN_BRANCH $NEGPROGMOD_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_OATFLOWERM:
-  stage: models-6
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-6
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_OATFLOWERM" -t $RELEASE_BRANCH $OATFLOWERM_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_OATFLOWERM" -t $MAIN_BRANCH $OATFLOWERM_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_PSILAROBSE:
-  stage: models-6
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-6
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_PSILAROBSE" -t $RELEASE_BRANCH $PSILAROBSE_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_PSILAROBSE" -t $MAIN_BRANCH $PSILAROBSE_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_PSILARTEMP:
-  stage: models-7
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-7
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_PSILARTEMP" -t $RELEASE_BRANCH $PSILARTEMP_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_PSILARTEMP" -t $MAIN_BRANCH $PSILARTEMP_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_ROUGHAGENU:
-  stage: models-7
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-7
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_ROUGHAGENU" -t $RELEASE_BRANCH $ROUGHAGENU_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_ROUGHAGENU" -t $MAIN_BRANCH $ROUGHAGENU_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_SEPAPIICOL:
-  stage: models-7
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-7
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPAPIICOL" -t $RELEASE_BRANCH $SEPAPIICOL_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPAPIICOL" -t $MAIN_BRANCH $SEPAPIICOL_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_SEPTORIAHU:
-  stage: models-8
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-8
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPTORIAHU" -t $RELEASE_BRANCH $SEPTORIAHU_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPTORIAHU" -t $MAIN_BRANCH $SEPTORIAHU_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
 verify_model_SEPTREFHUM:
-  stage: models-8
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-8
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export PROJECT_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPTREFHUM" -t $RELEASE_BRANCH $SEPTREFHUM_PROJECT_ID -e VERSION=$PROJECT_VERSION
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPTREFHUM" -t $MAIN_BRANCH $SEPTREFHUM_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="verify"
   tags:
     - vips-java
+  dependencies:
+    - deploy-snapshot
   rules:
     - if: '$CI_COMMIT_REF_NAME == $MAIN_BRANCH'
 
-deploy-release:
-  stage: deploy
-  script:
-    # For debugging git interaction
-    #- export GIT_TRACING=2
-    #- export GIT_CURL_VERBOSE=1
-    - git config --global user.name "${GITLAB_USER_NAME}"
-    - git config --global user.email "${GITLAB_USER_EMAIL}"
-
-    # Use access token given by CI/CD variable ACCESS_TOKEN to authenticate
-    - export NEW_REPO_URL=https://root:$ACCESS_TOKEN@$CI_SERVER_HOST/$CI_PROJECT_PATH.git
-    - git remote set-url --push origin $NEW_REPO_URL
-    - git fetch origin --prune --prune-tags
-
-    # Checkout release branch, set release version and deploy. Commit, tag and push.
-    - git checkout $RELEASE_BRANCH
-    - git status
-    - git reset --hard origin/$RELEASE_BRANCH
-    - ./mvnw $MAVEN_CLI_OPTS $MAVEN_OPTS validate -DremoveSnapshot
-    - ./mvnw $MAVEN_CLI_OPTS $MAVEN_OPTS deploy -DskipTests
-    - export RELEASE_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - if [[ $RELEASE_VERSION =~ .*SNAPSHOT ]]; then exit 1; fi
-    - export RELEASE_TAG="v${RELEASE_VERSION}"
-    - git add pom.xml
-    - git commit -m "[ci skip] Set release version ${RELEASE_VERSION}"
-    - git tag -a $RELEASE_TAG -m "Tag release ${RELEASE_TAG}"
-    - git push origin $RELEASE_TAG
-    - git push origin $RELEASE_BRANCH
-
-    # Checkout main branch, merge release branch. Push commit.
-    - git fetch
-    - git checkout $MAIN_BRANCH
-    - git reset --hard origin/$MAIN_BRANCH
-    - git merge -m "[ci skip] Merge ${RELEASE_BRANCH}" --no-ff $RELEASE_BRANCH
-    - git push origin $MAIN_BRANCH
+# Runs after new release is deployed to package registry. Triggers job on main branch in model repo,
+# which builds model with the new version of VIPSCommon, and releases a new snapshot version of the model.
+
+update_model_ALTERNARIA:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-1
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_ALTERNARIA" -t $MAIN_BRANCH $ALTERNARIA_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
   tags:
     - vips-java
+  dependencies:
+    - deploy-release
   rules:
     - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
 
-# Runs after new release is deployed to package registry. Triggers job on main branch in model repo,
-# which builds model with the new version of VIPSCommon, and release a new snapshot version of the model.
+update_model_APPLESCABM:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-1
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_APPLESCABM" -t $MAIN_BRANCH $APPLESCABM_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
 
-update_model_ALTERNARIA:
+update_model_BARLEYNETB:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
   stage: models-1
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_BARLEYNETB" -t $MAIN_BRANCH $BARLEYNETB_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_BREMIALACT:
   image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-2
+  before_script: []
   script:
-    - apk add --no-cache openjdk11
-    - export RELEASE_VERSION=$(./mvnw --batch-mode --no-transfer-progress --non-recursive help:evaluate -Dexpression=project.version | grep -v "\[.*")
-    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_ALTERNARIA" -t $MAIN_BRANCH $ALTERNARIA_PROJECT_ID -e VERSION=$RELEASE_VERSION -e PURPOSE="update"
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_BREMIALACT" -t $MAIN_BRANCH $BREMIALACT_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
   tags:
     - vips-java
+  dependencies:
+    - deploy-release
   rules:
     - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_DELIARADIC:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-2
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DELIARADIC" -t $MAIN_BRANCH $DELIARADIC_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_DELIARFOBS:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-2
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DELIARFOBS" -t $MAIN_BRANCH $DELIARFOBS_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_DOWNCASTMO:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-3
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_DOWNCASTMO" -t $MAIN_BRANCH $DOWNCASTMO_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_FAWMODEL01:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-3
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_FAWMODEL01" -t $MAIN_BRANCH $FAWMODEL01_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_FINNCEREAL:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-3
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_FINNCEREAL" -t $MAIN_BRANCH $FINNCEREAL_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_GRASSDRYMO:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-4
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_GRASSDRYMO" -t $MAIN_BRANCH $GRASSDRYMO_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_LEAFBLOTCH:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-4
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_LEAFBLOTCH" -t $MAIN_BRANCH $LEAFBLOTCH_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_LYGUSRUGUL:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-4
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_LYGUSRUGUL" -t $MAIN_BRANCH $LYGUSRUGUL_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_MAIZEPHENO:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-5
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_MAIZEPHENO" -t $MAIN_BRANCH $MAIZEPHENO_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_MAMESTRABR:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-5
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_MAMESTRABR" -t $MAIN_BRANCH $MAMESTRABR_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_NAERSTADMO:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-5
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_NAERSTADMO" -t $MAIN_BRANCH $NAERSTADMO_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_NEGPROGMOD:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-6
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_NEGPROGMOD" -t $MAIN_BRANCH $NEGPROGMOD_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_OATFLOWERM:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-6
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_OATFLOWERM" -t $MAIN_BRANCH $OATFLOWERM_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_PSILAROBSE:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-6
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_PSILAROBSE" -t $MAIN_BRANCH $PSILAROBSE_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_PSILARTEMP:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-7
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_PSILARTEMP" -t $MAIN_BRANCH $PSILARTEMP_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_ROUGHAGENU:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-7
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_ROUGHAGENU" -t $MAIN_BRANCH $ROUGHAGENU_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_SEPAPIICOL:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-7
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPAPIICOL" -t $MAIN_BRANCH $SEPAPIICOL_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_SEPTORIAHU:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-8
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPTORIAHU" -t $MAIN_BRANCH $SEPTORIAHU_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
+
+update_model_SEPTREFHUM:
+  image: registry.gitlab.com/finestructure/pipeline-trigger
+  stage: models-8
+  before_script: []
+  script:
+    - trigger -h gitlab.nibio.no -a "$CICD_API_TOKEN" -p "$ACCESS_TOKEN_SEPTREFHUM" -t $MAIN_BRANCH $SEPTREFHUM_PROJECT_ID -e VERSION=$VERSION -e PURPOSE="update"
+  tags:
+    - vips-java
+  dependencies:
+    - deploy-release
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $RELEASE_BRANCH'
\ No newline at end of file
diff --git a/README.md b/README.md
index 86cce2925251c12b85604c7c8605914d2d51743f..b0d2c2865279cc50b209e5da5fe424e0f9c60744 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,8 @@
 This is a jar file that contains the entities and util classes that are used throughout the VIPS system
 
 ## Requirements
-* Java >= 14 
+* Java >= 14
 
 ## Development
 
+
diff --git a/ci_settings.xml b/ci_settings.xml
deleted file mode 100644
index da49fc0ffec4b5da556e6482d8f903129998bd81..0000000000000000000000000000000000000000
--- a/ci_settings.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
-    <servers>
-        <server>
-            <id>gitlab-maven</id>
-            <configuration>
-                <httpHeaders>
-                    <property>
-                        <name>Job-Token</name>
-                        <value>${CI_JOB_TOKEN}</value>
-                    </property>
-                </httpHeaders>
-            </configuration>
-        </server>
-    </servers>
-</settings>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index fd88ec72cd6f82ffc357244ad2d2255f6b86fd72..0971d451e68df5d4f50256def6e7eb3aa290f42f 100755
--- a/pom.xml
+++ b/pom.xml
@@ -5,22 +5,16 @@
     <parent>
         <groupId>no.nibio.vips</groupId>
         <artifactId>vips-parent-pom</artifactId>
-        <version>1.0.2</version>
+        <version>1.0.0</version>
     </parent>
 
-    <groupId>no.nibio.vips</groupId>
     <artifactId>VIPSCommon</artifactId>
-    <version>2.0.8-SNAPSHOT</version>
+    <version>2.0.1-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <name>VIPSCommon</name>
     <url>https://gitlab.nibio.no/VIPS/VIPSCommon</url>
 
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    </properties>
-
     <dependencies>
         <dependency>
             <groupId>junit</groupId>
@@ -153,10 +147,6 @@
         </dependency>
     </dependencies>
     <repositories>
-        <repository>
-            <id>gitlab-maven</id>
-            <url>https://gitlab.nibio.no/api/v4/projects/401/packages/maven</url>
-        </repository>
         <repository>
             <id>bedatadriven</id>
             <name>bedatadriven public repo</name>
@@ -238,7 +228,6 @@
                     </execution>
                 </executions>
             </plugin>
-
         </plugins>
     </build>
 </project>