Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 106 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,106 @@
.pc/
# Created by https://www.gitignore.io/api/java,eclipse
# Edit at https://www.gitignore.io/?templates=java,eclipse

### Eclipse ###
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
.pmd

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# PyDev specific (Python IDE for Eclipse)
*.pydevproject

# CDT-specific (C/C++ Development Tooling)
.cproject

# CDT- autotools
.autotools

# Java annotation processor (APT)
.factorypath

# PDT-specific (PHP Development Tools)
.buildpath

# sbteclipse plugin
.target

# Tern plugin
.tern-project

# TeXlipse plugin
.texlipse

# STS (Spring Tool Suite)
.springBeans

# Code Recommenders
.recommenders/

# Annotation Processing
.apt_generated/

# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet

### Eclipse Patch ###
# Eclipse Core
.project

# JDT-specific (Eclipse Java Development Tools)
.classpath

# Annotation Processing
.apt_generated

.sts4-cache/

### Java ###
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

# End of https://www.gitignore.io/api/java,eclipse

/target
/*/target

.flattened-pom.xml

*pom.xml.versionsBackup
112 changes: 102 additions & 10 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,111 @@
image: openjdk:11-stretch
image: eclipse-temurin:21

stages:
- build
variables:
# This will suppress any download for dependencies and plugins or upload messages which would clutter the console log.
# `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work.
MAVEN_OPTS: |
-Dhttps.protocols=TLSv1.3,TLSv1.2
-Djdk.tls.client.protocols=TLSv1.3,TLSv1.2
-Dorg.slf4j.simpleLogger.showDateTime=true
-Djava.awt.headless=true
-Xss4m
MAVEN_CLI_OPTS: |
--batch-mode
--strict-checksums
--errors
--show-version
--no-transfer-progress
-DinstallAtEnd=true
-DdeployAtEnd=true
-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository
-Dmaven.user.home=$CI_PROJECT_DIR/.m2

cache:
# Cache downloaded dependencies and plugins between builds.
# To keep cache across branches add 'key: "$CI_JOB_NAME"'
cache: &global_cache
key:
files:
- pom.xml
paths:
- .m2/
- .m2
- .mvn

variables:
M2_HOME: ".m2/maven"
MAVEN_OPTS: "-Dmaven.repo.local=.m2"
GITLAB_BASE_URL: "https://gitlab.com"
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
when: never
- if: '$CI_COMMIT_BRANCH'

stages:
- build
- test
- check

build:
stage: build
script:
- bash mvnw clean verify -P safer
- ./mvnw $MAVEN_CLI_OPTS package -P codegen -DskipTests
artifacts:
paths:
- "*/target/"

tests:
stage: test
needs:
- job: build
artifacts: true
parallel:
matrix:
- JDK_IMAGE:
- azul/zulu-openjdk:8
- azul/zulu-openjdk:11
- azul/zulu-openjdk:17
- azul/zulu-openjdk:21
- azul/zulu-openjdk:22
- openjdk:23-ea-oraclelinux9
image: $JDK_IMAGE
script:
- ./mvnw $MAVEN_CLI_OPTS verify -Denforcer.skip=true
cache:
# inherit all global cache settings
<<: *global_cache
policy: pull
artifacts:
reports:
junit:
- "*/target/surefire-reports/TEST-*.xml"
- "**/target/junit-platform/TEST-*.xml"

sonarcloud-check:
stage: check
cache:
key: "${CI_JOB_NAME}"
paths:
- .sonar/cache
variables:
GIT_STRATEGY: clone
GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
script:
- |
./mvnw $MAVEN_CLI_OPTS verify sonar:sonar \
-Dsonar.qualitygate.wait=true -Dsonar.organization=ongresinc \
-Dsonar.coverage.jacoco.xmlReportPaths="${CI_PROJECT_DIR}/coverage-report/target/site/jacoco-aggregate/jacoco.xml" \
-P coverage
only:
- merge_requests
- develop
- main

static-checks:
stage: check
needs:
- job: build
artifacts: true
script:
- ./mvnw $MAVEN_CLI_OPTS verify -P checks -DskipTests
cache:
# inherit all global cache settings
<<: *global_cache
policy: pull
1 change: 1 addition & 0 deletions .mvn/maven.config
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--strict-checksums
Loading
Loading