Skip to content
Merged
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
11 changes: 6 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,29 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [ '11' ]
os: [ 'ubuntu-20.04']
java: [ '17' ]
os: [ 'ubuntu-22.04']
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
lfs: true
- name: Cache gradle dependencies
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle') }}
restore-keys: |
${{ runner.os }}-gradle-caches-
- name: Cache gradle wrapper
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
- name: Setup java
uses: actions/setup-java@v1
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Build with gradle
run: ./gradlew build checkLicense
Expand Down
18 changes: 10 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
prepare:
name: Prepare
if: ${{ !contains(github.event.head_commit.message, '[skip-ci]') }}
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v2
Expand All @@ -38,8 +38,8 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [ '11' ]
os: [ 'ubuntu-20.04']
java: [ '17' ]
os: [ 'ubuntu-22.04']
steps:
- name: Checkout code
uses: actions/checkout@v2
Expand All @@ -60,8 +60,9 @@ jobs:
git fetch
git checkout -b workflow-$GITHUB_RUN_ID origin/workflow-$GITHUB_RUN_ID~1
- name: Setup java
uses: actions/setup-java@v1
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Build with gradle
run: ./gradlew build
Expand All @@ -70,7 +71,7 @@ jobs:
name: Release
if: ${{ !contains(github.event.head_commit.message, '[skip-ci]') }}
needs: build
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v2
Expand Down Expand Up @@ -99,7 +100,7 @@ jobs:
name: Publish Dockers
if: ${{ !contains(github.event.head_commit.message, '[skip-ci]') }}
needs: release
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v2
Expand All @@ -112,9 +113,10 @@ jobs:
git fetch
git checkout -b workflow-$GITHUB_RUN_ID origin/workflow-$GITHUB_RUN_ID~1
- name: Setup java
uses: actions/setup-java@v1
uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'temurin'
java-version: 17
- name: Publish docker
run: ./gradlew :java:timebase-ws-server:dockerPublishImageAll
env:
Expand Down
133 changes: 70 additions & 63 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ buildscript {

plugins {
id 'base'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id 'org.springframework.boot' version '2.7.1' apply false
id 'io.spring.dependency-management' version '1.1.5'
id 'org.springframework.boot' version '3.3.0' apply false
id "com.github.node-gradle.node" version "3.3.0" apply false
id "com.webcohesion.enunciate" version "2.15.0" apply false
id "io.freefair.lombok" version "5.3.3.3" apply false
id "com.webcohesion.enunciate" version "2.17.0" apply false
id "io.freefair.lombok" version "8.6" apply false

id 'com.github.jk1.dependency-license-report' version '1.16'
id "com.github.hierynomus.license-report" version "0.15.0"
Expand All @@ -30,6 +30,11 @@ ext {
main : 'src/main/docker/Dockerfile'
//openjdk : 'src/main/docker/openjdk/Dockerfile',
]
defaultJvmArgs =
["-Dfile.encoding=UTF-8",
"--add-opens=java.base/sun.nio.ch=ALL-UNNAMED",
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.time=ALL-UNNAMED"]
}

def javaProjects = subprojects.findAll { project -> project.subprojects.empty }
Expand All @@ -50,7 +55,12 @@ licenseReport {
// }

excludeGroups = ['javax.servlet.*']
excludes = ['asm:asm', 'com.sun.codemodel:codemodel-project', 'net.jcip:jcip-annotations', 'com.fasterxml.jackson:jackson-bom']
excludeGroups = ['javax.servlet.*']
excludes = [
'com.fasterxml.jackson:jackson-bom',
'jakarta.annotation:jakarta.annotation-api', // DUAL license
'com.sun.activation:jakarta.activation' // DUAL license
]

configurations = ['runtimeClasspath']
allowedLicensesFile = new File("$rootDir/allowed-lic.json")
Expand All @@ -62,8 +72,8 @@ checkLicense {

configure(javaProjects) {

apply plugin: 'java-library'
apply plugin: 'java'
apply plugin: 'java-library'
apply plugin: 'maven-publish'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'org.owasp.dependencycheck'
Expand All @@ -79,22 +89,11 @@ configure(javaProjects) {
}
}

dependencyManagement {
imports {
// Keeps netty-related dependencies consistent
mavenBom 'io.netty:netty-bom:4.1.68.Final'
}
}


configurations.all {
resolutionStrategy {
// Disable this line on case of version conflict and then run :dependency task OR execute build with --scan option
failOnVersionConflict()
}

// same api defined in javax.annotation-api-*
exclude group: 'jakarta.annotation', module: 'jakarta.annotation-api' // GNU license
}

dependencyCheck {
Expand All @@ -108,15 +107,18 @@ configure(javaProjects) {
}

compileJava.options.encoding = 'UTF-8'
sourceCompatibility = 11
targetCompatibility = 11
compileJava.options.compilerArgs.add("-parameters")
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17

// Defines versions of dependencies to be used by subprojects
// https://github.com/spring-gradle-plugins/dependency-management-plugin#dependency-management-dsl
dependencyManagement {

imports {
mavenBom 'com.fasterxml.jackson:jackson-bom:2.13.5'
mavenBom 'io.netty:netty-bom:4.1.109.Final'
mavenBom "com.fasterxml.jackson:jackson-bom:$jacksonVersion"
mavenBom "io.netty:netty-bom:$nettyVersion"
mavenBom 'org.junit:junit-bom:5.11.4'
}

dependencies {
Expand Down Expand Up @@ -156,59 +158,66 @@ configure(javaProjects) {
//dependency 'deltix:deltix-spring-api-keys:0.1.4'

// spring boot tests
dependency 'org.junit.jupiter:junit-jupiter-api:5.8.2'
dependency 'junit:junit:4.13.2'

dependency 'com.nimbusds:oauth2-oidc-sdk:9.43.4'
dependency 'com.nimbusds:nimbus-jose-jwt:9.37.3'

dependency 'org.hdrhistogram:HdrHistogram:2.1.10'
dependency 'org.hdrhistogram:HdrHistogram:2.2.2'
dependency 'org.slf4j:slf4j-api:1.7.25'

// resolving conflicts
dependency 'com.squareup.okhttp3:okhttp:3.3.1'
dependency 'net.minidev:json-smart:2.4.11'
dependency 'net.minidev:json-smart:2.5.2'

dependency 'commons-logging:commons-logging:1.2'
dependency 'commons-cli:commons-cli:1.4'
dependency 'commons-codec:commons-codec:1.14'
dependency 'commons-io:commons-io:2.14.0'
dependency 'commons-io:commons-io:2.15.1'

dependency 'com.google.guava:guava:32.0.1-jre'
dependency 'com.google.code.gson:gson:2.8.9'
dependency 'com.google.code.findbugs:jsr305:3.0.2'
dependency 'com.google.code.findbugs:annotations:3.0.1'

dependency 'org.apache.commons:commons-compress:1.26.0'
dependency 'org.apache.commons:commons-lang3:3.7'
dependency 'org.apache.commons:commons-compress:1.26.1'
dependency 'org.apache.commons:commons-lang3:3.12.0'
dependency 'org.apache.commons:commons-math3:3.6'
dependency 'org.apache.commons:commons-text:1.10.0'
dependency 'org.hamcrest:hamcrest:2.2'
dependency 'net.bytebuddy:byte-buddy:1.15.4'

dependency 'com.fasterxml.jackson:jackson-bom:2.13.5'

dependencySet(group: 'com.fasterxml.jackson.core', version: '2.13.5') {
entry 'jackson-databind'
entry 'jackson-core'
entry 'jackson-annotations'
entry 'jackson-module-parameter-names'
}
// dependencySet(group: 'com.fasterxml.jackson.core', version: "$jacksonVersion") {
// entry 'jackson-databind'
// entry 'jackson-core'
// entry 'jackson-annotations'
// entry 'jackson-module-parameter-names'
// }

dependency 'com.azure:azure-security-keyvault-secrets:4.8.4'
dependency 'net.java.dev.jna:jna-platform:5.6.0' // azure sdk requires jna 5.6.0
dependency 'com.microsoft.azure:msal4j:1.15.1'

dependency 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.5'
dependency 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.5'

dependency 'io.micrometer:micrometer-registry-prometheus:1.9.1'
dependency 'io.micrometer:micrometer-core:1.9.1'
// dependencySet(group: 'com.fasterxml.jackson.datatype', version: "$jacksonVersion") {
// entry 'jackson-datatype-jsr310'
// entry 'jackson-datatype-jdk8'
// entry 'jackson-datatype-joda'
// entry 'jackson-datatype-joda'
// }

dependencySet(group: 'io.micrometer', version: '1.14.4') {
entry 'micrometer-core'
entry 'micrometer-observation'
entry 'micrometer-registry-prometheus'
}

dependencySet(group: 'org.bouncycastle', version: '1.70') {
entry 'bcpkix-jdk15on'
entry 'bcprov-jdk15on'
entry 'bcmail-jdk15on'
entry 'bcprov-ext-jdk15on'
dependencySet(group: 'org.bouncycastle', version: '1.80') {
entry 'bcpkix-jdk18on'
entry 'bcprov-jdk18on'
entry 'bcutil-jdk18on'
}

dependencySet(group: 'org.springframework', version: '5.3.39') {
dependencySet(group: 'org.springframework', version: "$springVersion") {
entry 'spring-beans'
entry 'spring-jcl'
entry 'spring-core'
Expand All @@ -223,9 +232,8 @@ configure(javaProjects) {
entry 'spring-websocket'
}

//dependency 'org.springframework.boot:spring-boot-starter-test:2.7.1'

dependencySet(group: 'org.springframework.boot', version: '2.7.18') {
dependencySet(group: 'org.springframework.boot', version: "$springBootVersion") {
entry 'spring-boot'
entry 'spring-boot-autoconfigure'
entry 'spring-boot-configuration-processor'
Expand All @@ -238,13 +246,13 @@ configure(javaProjects) {
entry 'spring-boot-starter-test'
}

dependencySet(group: 'org.apache.tomcat.embed', version: '9.0.90') {
dependencySet(group: 'org.apache.tomcat.embed', version: "$tomcatVersion") {
entry 'tomcat-embed-core'
entry 'tomcat-embed-websocket'
entry 'tomcat-embed-el'
}

dependencySet(group: 'org.springframework.security', version: '5.7.13') {
dependencySet(group: 'org.springframework.security', version: "$springSecurityVersion") {
entry 'spring-security-web'
entry 'spring-security-messaging'
entry 'spring-security-core'
Expand All @@ -255,31 +263,30 @@ configure(javaProjects) {
entry 'spring-security-oauth2-jose'
}

dependency 'org.springframework.security.oauth:spring-security-oauth2:2.5.2.RELEASE'
dependency 'org.springframework.security:spring-security-jwt:1.1.1.RELEASE'
dependency 'org.springframework.security.oauth:spring-security-oauth2:2.5.2.RELEASE' // todo remove
dependency "org.springframework.security:spring-security-oauth2-authorization-server:1.4.2"

dependency 'org.testcontainers:testcontainers:1.16.2'
dependency 'org.testcontainers:junit-jupiter:1.16.2'
dependency 'com.nimbusds:nimbus-jose-jwt:9.47'

dependency 'javax.annotation:javax.annotation-api:1.3.2'
dependency 'org.jetbrains:annotations:20.1.0'
dependency 'org.testcontainers:testcontainers:1.19.8'
dependency 'org.testcontainers:junit-jupiter:1.19.8'

dependency 'org.reflections:reflections:0.9.11'
dependency 'org.asynchttpclient:async-http-client:2.10.4'
dependency 'org.jetbrains:annotations:24.1.0'

dependency 'junit:junit:4.13.1'
dependency 'org.reflections:reflections:0.9.11'
dependency 'org.asynchttpclient:async-http-client:2.12.4'

dependency 'io.reactivex.rxjava2:rxjava:2.1.14'

dependency 'net.java.dev.jna:jna:5.8.0'
dependency 'net.java.dev.jna:jna:5.13.0'

dependency 'org.yaml:snakeyaml:2.0'

dependency 'org.apache.bcel:bcel:6.6.0'

dependency 'org.reactivestreams:reactive-streams:1.0.4'

dependencySet(group: 'io.netty', version: '4.1.115.Final') {
dependencySet(group: 'io.netty', version: "$nettyVersion") {
entry 'netty-codec'
entry 'netty-codec-http'
entry 'netty-handler'
Expand Down Expand Up @@ -317,11 +324,11 @@ configure(javaProjects) {

test {
ignoreFailures Boolean.getBoolean("test.ignoreFailures")
reports.junitXml.enabled = true
reports.junitXml.required = true

doLast {
copy {
from reports.junitXml.getDestination() include {"*.xml"}
from reports.junitXml.getOutputLocation() include {"*.xml"}
into file("$rootDir/build/reports/tests/xml")
}
}
Expand Down
10 changes: 8 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
#Mon Jul 19 08:25:17 UTC 2021
version=1.2.1-SNAPSHOT
systemProp.file.encoding=utf-8
timebaseVersion=6.2.9
commonsVersion=6.0.64
timebaseVersion=6.2.11
commonsVersion=6.0.68
springBootVersion=3.4.3
springVersion=6.2.3
springSecurityVersion=6.4.3
tomcatVersion=10.1.39
jacksonVersion=2.18.2
nettyVersion=4.1.119.Final
group=com.epam.deltix
docker.dockerCommonPath=epam/
4 changes: 3 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading