Skip to content

Commit f04edc4

Browse files
authored
Merge pull request #1813 from marklogic/feature/release-7.2.0-take-2
MLE-22953 Merging release/7.2.0 into master but without copyright updates
2 parents 93dbd85 + 2bd6e44 commit f04edc4

File tree

223 files changed

+3797
-6487
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

223 files changed

+3797
-6487
lines changed

test-app/.env renamed to .env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ MARKLOGIC_IMAGE=progressofficial/marklogic-db:latest
44
MARKLOGIC_LOGS_VOLUME=./docker/marklogic/logs
55

66
# This image should be used instead of the above image when testing functions that only work with MarkLogic 12.
7-
# MARKLOGIC_IMAGE=ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12
7+
#MARKLOGIC_IMAGE=ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12

.github/workflows/pr-workflow.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: 🏷️ JIRA ID Validator
2+
3+
on:
4+
# Using pull_request_target instead of pull_request to handle PRs from forks
5+
pull_request_target:
6+
types: [opened, edited, reopened, synchronize]
7+
# No branch filtering - will run on all PRs
8+
9+
jobs:
10+
jira-pr-check:
11+
name: 🏷️ Validate JIRA ticket ID
12+
# Use the reusable workflow from the central repository
13+
uses: marklogic/pr-workflows/.github/workflows/jira-id-check.yml@main
14+
with:
15+
# Pass the PR title from the event context
16+
pr-title: ${{ github.event.pull_request.title }}

CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
# Each line is a file pattern followed by one or more owners.
33

44
# These owners will be the default owners for everything in the repo.
5-
* @anu3990 @billfarber @rjrudin
5+
* @anu3990 @billfarber @rjrudin @stevebio

CONTRIBUTING.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,7 @@ be a local instance or it may be running in a Docker container. If you would lik
3333
instance, you may create the container with the following commands (starting in the project root directory):
3434

3535
```
36-
cd test-app
3736
docker-compose up -d --build
38-
cd ..
3937
```
4038

4139
Once you have a MarkLogic instance ready, the application is then deployed via the following command:

Jenkinsfile

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,19 @@ def getJava(){
1313
}
1414

1515
def setupDockerMarkLogic(String image){
16+
cleanupDocker()
1617
sh label:'mlsetup', script: '''#!/bin/bash
1718
echo "Removing any running MarkLogic server and clean up MarkLogic data directory"
1819
sudo /usr/local/sbin/mladmin remove
1920
sudo /usr/local/sbin/mladmin cleandata
20-
cd java-client-api/test-app
21+
cd java-client-api
2122
docker compose down -v || true
2223
docker volume prune -f
2324
echo "Using image: "'''+image+'''
2425
docker pull '''+image+'''
2526
MARKLOGIC_IMAGE='''+image+''' MARKLOGIC_LOGS_VOLUME=marklogicLogs docker compose up -d --build
26-
echo "mlPassword=admin" > gradle-local.properties
2727
echo "Waiting for MarkLogic server to initialize."
2828
sleep 60s
29-
cd ..
30-
echo "mlPassword=admin" > gradle-local.properties
3129
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
3230
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
3331
./gradlew mlTestConnections
@@ -135,10 +133,11 @@ def postProcessTestResults() {
135133

136134
def tearDownDocker() {
137135
sh label:'tearDownDocker', script: '''#!/bin/bash
138-
cd java-client-api/test-app
136+
cd java-client-api
139137
docker compose down -v || true
140138
docker volume prune -f
141139
'''
140+
cleanupDocker()
142141
}
143142

144143
pipeline{
@@ -170,7 +169,7 @@ pipeline{
170169
}
171170
}
172171
steps {
173-
setupDockerMarkLogic("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12")
172+
setupDockerMarkLogic("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:12.0.0-ubi-rootless-2.2.0")
174173
sh label:'run marklogic-client-api tests', script: '''#!/bin/bash
175174
export JAVA_HOME=$JAVA_HOME_DIR
176175
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
@@ -183,6 +182,7 @@ pipeline{
183182
}
184183
post {
185184
always {
185+
updateWorkspacePermissions()
186186
tearDownDocker()
187187
}
188188
}
@@ -206,24 +206,6 @@ pipeline{
206206
}
207207
}
208208

209-
stage('regressions-11.2.0') {
210-
when {
211-
allOf {
212-
branch 'develop'
213-
expression {return params.regressions}
214-
}
215-
}
216-
steps {
217-
runTests("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:11.2.0-ubi")
218-
junit '**/build/**/TEST*.xml'
219-
}
220-
post {
221-
always {
222-
tearDownDocker()
223-
}
224-
}
225-
}
226-
227209
stage('regressions-11') {
228210
when {
229211
allOf {
@@ -237,6 +219,7 @@ pipeline{
237219
}
238220
post {
239221
always {
222+
updateWorkspacePermissions()
240223
tearDownDocker()
241224
}
242225
}
@@ -255,6 +238,7 @@ pipeline{
255238
}
256239
post {
257240
always {
241+
updateWorkspacePermissions()
258242
tearDownDocker()
259243
}
260244
}
@@ -268,11 +252,12 @@ pipeline{
268252
}
269253
}
270254
steps {
271-
runTests("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12")
255+
runTests("ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:12.0.0-ubi-rootless-2.2.0")
272256
junit '**/build/**/TEST*.xml'
273257
}
274258
post {
275259
always {
260+
updateWorkspacePermissions()
276261
tearDownDocker()
277262
}
278263
}
@@ -291,6 +276,7 @@ pipeline{
291276
}
292277
post {
293278
always {
279+
updateWorkspacePermissions()
294280
tearDownDocker()
295281
}
296282
}

NOTICE.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MarkLogic® for Java Client
22

3-
Copyright © 2025 MarkLogic Corporation. All Rights Reserved.
3+
Copyright (c) 2010-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
44

55
To the extent required by the applicable open-source license, a complete machine-readable copy of the source code
66
corresponding to such code is available upon request. This offer is valid to anyone in receipt of this information and
@@ -10,32 +10,32 @@ product and version for which you are requesting source code.
1010

1111
Third Party Notices
1212

13-
jackson-databind 2.17.2 (Apache-2.0)
14-
jackson-dataformat-csv 2.17.2 (Apache-2.0)
13+
jackson-databind 2.19.0 (Apache-2.0)
14+
jackson-dataformat-csv 2.19.0 (Apache-2.0)
1515
okhttp 4.12.0 (Apache-2.0)
1616
logging-interceptor 4.12.0 (Apache-2.0)
1717
jakarta.mail 2.0.1 (EPL-1.0)
1818
okhttp-digest 2.7 (Apache-2.0)
1919
jakarta.xml.bind-api 3.0.1 (EPL-1.0)
2020
javax.ws.rs-api 2.1.1 (CDDL-1.1)
2121
jaxb-runtime 3.0.2 (CDDL-1.1)
22-
slf4j-api 2.0.16 (Apache-2.0)
22+
slf4j-api 2.0.17 (Apache-2.0)
2323

2424
Common Licenses
2525

2626
Apache License 2.0 (Apache-2.0)
27-
Common Development and Distribution License 1.1 (CDDL-1.1)
28-
Eclipse Public License 1.0 (EPL-1.0)
27+
Common Development and Distribution License 1.1 (CDDL-1.1)
28+
Eclipse Public License 1.0 (EPL-1.0)
2929

3030
Third-Party Components
3131

32-
The following is a list of the third-party components used by the MarkLogic® for Java Client 7.1.0 (last updated January 6, 2025):
32+
The following is a list of the third-party components used by the MarkLogic® for Java Client 7.2.0 (last updated July 21, 2025):
3333

34-
jackson-databind 2.17.2 (Apache-2.0)
34+
jackson-databind 2.19.0 (Apache-2.0)
3535
https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/
3636
For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
3737

38-
jackson-dataformat-csv 2.17.2 (Apache-2.0)
38+
jackson-dataformat-csv 2.19.0 (Apache-2.0)
3939
https://repo1.maven.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-csv/
4040
For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
4141

@@ -67,13 +67,13 @@ jaxb-runtime 3.0.2 (Apache-2.0)
6767
https://repo1.maven.org/maven2/org/glassfish/jaxb/jaxb-runtime/
6868
For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
6969

70-
slf4j-api 2.0.16 (Apache-2.0)
70+
slf4j-api 2.0.17 (Apache-2.0)
7171
https://repo1.maven.org/maven2/org/slf4j/slf4j-api/
7272
For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
7373

7474
Common Licenses
7575

76-
The following is a list of the third-party components used by the MarkLogic® for Java Client 7.1.0 (last updated January 6, 2025):
76+
The following is a list of the third-party components used by the MarkLogic® for Java Client 7.2.0 (last updated July 21, 2025):
7777

7878
Apache License 2.0 (Apache-2.0)
7979
https://spdx.org/licenses/Apache-2.0.html

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ To use the client in your [Maven](https://maven.apache.org/) project, include th
3333
<dependency>
3434
<groupId>com.marklogic</groupId>
3535
<artifactId>marklogic-client-api</artifactId>
36-
<version>7.1.0</version>
36+
<version>7.2.0</version>
3737
</dependency>
3838

3939
To use the client in your [Gradle](https://gradle.org/) project, include the following in your `build.gradle` file:
4040

4141
dependencies {
42-
implementation "com.marklogic:marklogic-client-api:7.1.0"
42+
implementation "com.marklogic:marklogic-client-api:7.2.0"
4343
}
4444

4545
Next, read [The Java API in Five Minutes](http://developer.marklogic.com/try/java/index) to get started.

build.gradle

Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,51 +4,50 @@
44
// used for that. So we have to add the properties plugin to the buildscript classpath and then apply the properties
55
// plugin via subprojects below.
66
buildscript {
7-
repositories {
8-
maven {
9-
url "https://plugins.gradle.org/m2/"
10-
}
11-
}
12-
dependencies {
13-
classpath "net.saliman:gradle-properties-plugin:1.5.2"
14-
}
7+
repositories {
8+
maven {
9+
url = "https://plugins.gradle.org/m2/"
10+
}
11+
}
12+
dependencies {
13+
classpath "net.saliman:gradle-properties-plugin:1.5.2"
14+
}
1515
}
1616

1717
subprojects {
18-
apply plugin: "net.saliman.properties"
19-
apply plugin: 'java'
20-
21-
tasks.withType(JavaCompile) {
22-
options.encoding = 'UTF-8'
23-
}
24-
25-
// To ensure that the Java Client continues to support Java 8, both source and target compatibility are set to 1.8.
26-
// May adjust this for src/test/java so that tests can take advantage of more expressive functions in Java 9+, such
27-
// as Map.of().
28-
java {
29-
sourceCompatibility = 1.8
30-
targetCompatibility = 1.8
31-
}
32-
33-
configurations {
34-
testImplementation.extendsFrom compileOnly
35-
}
36-
37-
repositories {
38-
mavenLocal()
39-
mavenCentral()
40-
}
18+
apply plugin: "net.saliman.properties"
19+
apply plugin: 'java'
20+
21+
tasks.withType(JavaCompile) {
22+
options.encoding = 'UTF-8'
23+
options.compilerArgs += ["-Xlint:unchecked", "-Xlint:deprecation"]
24+
}
25+
26+
// To ensure that the Java Client continues to support Java 8, both source and target compatibility are set to 1.8.
27+
java {
28+
sourceCompatibility = 1.8
29+
targetCompatibility = 1.8
30+
}
31+
32+
configurations {
33+
testImplementation.extendsFrom compileOnly
34+
}
35+
36+
repositories {
37+
mavenLocal()
38+
mavenCentral()
39+
}
4140

4241
test {
4342
systemProperty "file.encoding", "UTF-8"
4443
systemProperty "javax.xml.stream.XMLOutputFactory", "com.sun.xml.internal.stream.XMLOutputFactoryImpl"
4544
}
4645

4746
// Until we do a cleanup of javadoc errors, the build (and specifically the javadoc task) fails on Java 11
48-
// and higher. Preventing that until the cleanup can occur.
49-
javadoc.failOnError = false
47+
// and higher. Preventing that until the cleanup can occur.
48+
javadoc.failOnError = false
5049

51-
// Ignores warnings on param tags with no descriptions. Will remove this once javadoc errors are addressed.
52-
// Until then, it's just a lot of noise.
53-
javadoc.options.addStringOption('Xdoclint:none', '-quiet')
50+
// Ignores warnings on param tags with no descriptions. Will remove this once javadoc errors are addressed.
51+
// Until then, it's just a lot of noise.
52+
javadoc.options.addStringOption('Xdoclint:none', '-quiet')
5453
}

test-app/docker-compose.yaml renamed to docker-compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: marklogic-javaclient-test-app
1+
name: docker-tests-java-client
22

33
services:
44

examples/build.gradle

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright © 2024 MarkLogic Corporation. All Rights Reserved.
1+
// Copyright © 2025 MarkLogic Corporation. All Rights Reserved.
22

33
plugins {
44
id "java-library"
@@ -7,27 +7,22 @@ plugins {
77
dependencies {
88
implementation project(':marklogic-client-api')
99

10-
// Forcing usage of 3.4.0 instead of 3.2.0 to address vulnerability - https://security.snyk.io/vuln/SNYK-JAVA-COMSQUAREUPOKIO-5820002
11-
implementation 'com.squareup.okio:okio:3.4.0'
12-
1310
// The 'api' configuration is used so that the test configuration in marklogic-client-api doesn't have to declare
1411
// all of these dependencies. This library project won't otherwise be depended on by anything else as it's not
1512
// setup for publishing.
1613
api 'com.squareup.okhttp3:okhttp:4.12.0'
1714
api 'io.github.rburgst:okhttp-digest:2.7'
18-
api 'org.slf4j:slf4j-api:2.0.16'
19-
api "com.fasterxml.jackson.core:jackson-databind:2.17.2"
20-
21-
// hsqldb < 2.7 has a High CVE - https://nvd.nist.gov/vuln/detail/CVE-2022-41853 .
22-
// And hsqldb 2.6+ requires Java 11+. So this is ignored, along with the associated test,
23-
// until the Java Client can drop Java 8 support.
24-
// api 'org.hsqldb:hsqldb:2.7.1'
15+
api 'org.slf4j:slf4j-api:2.0.17'
16+
api "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}"
2517

2618
api 'org.jdom:jdom2:2.0.6.1'
2719
api 'org.dom4j:dom4j:2.1.4'
2820
api 'com.google.code.gson:gson:2.10.1'
2921
api 'net.sourceforge.htmlcleaner:htmlcleaner:2.29'
30-
api 'com.opencsv:opencsv:4.6'
31-
api 'org.springframework:spring-jdbc:5.3.39'
32-
api 'org.apache.commons:commons-lang3:3.12.0'
22+
api ('com.opencsv:opencsv:5.11.2') {
23+
// Excluding this due to a security vulnerability, and the test for the example that uses this library
24+
// passes without this on the classpath.
25+
exclude module: "commons-beanutils"
26+
}
27+
api 'org.apache.commons:commons-lang3:3.18.0'
3328
}

0 commit comments

Comments
 (0)