11@Library (' shared-libraries'  ) _
22
3- def  getJava (){
3+ def  getJava ()  {
44	if  (env. JAVA_VERSION  ==  " JAVA21"  ) {
55		return  " /home/builder/java/jdk-21.0.1" 
66	} else  {
77		return  " /home/builder/java/jdk-17.0.2" 
88	}
99}
1010
11- def  setupDockerMarkLogic (String  image ){
11+ def  setupDockerMarkLogic (String  image )  {
1212	cleanupDocker()
13- 	sh label :' mlsetup'  , script : ''' #!/bin/bash
13+ 	sh label :  ' mlsetup'  , script : ''' #!/bin/bash
1414	echo "Removing any running MarkLogic server and clean up MarkLogic data directory" 
1515    sudo /usr/local/sbin/mladmin remove 
1616    sudo /usr/local/sbin/mladmin cleandata 
1717    cd java-client-api 
1818    docker compose down -v || true 
1919    docker volume prune -f 
20-     echo "Using image: "'''  + image+ ''' 
21-     docker pull '''  + image+ ''' 
22-     MARKLOGIC_IMAGE='''  + image+ '''  MARKLOGIC_LOGS_VOLUME=marklogicLogs docker compose up -d --build
20+     echo "Using image: "'''    +   image  +   ''' 
21+     docker pull '''    +   image  +   ''' 
22+     MARKLOGIC_IMAGE='''    +   image  +   '''  MARKLOGIC_LOGS_VOLUME=marklogicLogs docker compose up -d --build
2323    echo "Waiting for MarkLogic server to initialize." 
2424    sleep 60s 
2525		export JAVA_HOME=$JAVA_HOME_DIR 
@@ -33,7 +33,7 @@ def setupDockerMarkLogic(String image){
3333def  runTests (String  image ) {
3434	setupDockerMarkLogic(image)
3535
36- 	sh label :' run marklogic-client-api tests'  , script : ''' #!/bin/bash
36+ 	sh label :  ' run marklogic-client-api tests'  , script : ''' #!/bin/bash
3737			export JAVA_HOME=$JAVA_HOME_DIR 
3838			export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR 
3939			export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH 
@@ -44,7 +44,7 @@ def runTests(String image) {
4444			./gradlew marklogic-client-api:test  || true 
4545	'''  
4646
47- 	sh label :' run ml-development-tools tests'  , script : ''' #!/bin/bash
47+ 	sh label :  ' run ml-development-tools tests'  , script : ''' #!/bin/bash
4848			export JAVA_HOME=$JAVA_HOME_DIR 
4949			export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR 
5050			export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH 
@@ -53,7 +53,7 @@ def runTests(String image) {
5353			./gradlew ml-development-tools:test || true 
5454	'''  
5555
56- 	sh label :' run fragile functional tests'  , script : ''' #!/bin/bash
56+ 	sh label :  ' run fragile functional tests'  , script : ''' #!/bin/bash
5757			export JAVA_HOME=$JAVA_HOME_DIR 
5858			export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR 
5959			export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH 
@@ -62,15 +62,15 @@ def runTests(String image) {
6262			./gradlew marklogic-client-api-functionaltests:runFragileTests || true 
6363	'''  
6464
65- 	sh label :' run fast functional tests'  , script : ''' #!/bin/bash
65+ 	sh label :  ' run fast functional tests'  , script : ''' #!/bin/bash
6666			export JAVA_HOME=$JAVA_HOME_DIR 
6767			export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR 
6868			export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH 
6969			cd java-client-api 
7070			./gradlew marklogic-client-api-functionaltests:runFastFunctionalTests || true 
7171	'''  
7272
73- 	sh label :' run slow functional tests'  , script : ''' #!/bin/bash
73+ 	sh label :  ' run slow functional tests'  , script : ''' #!/bin/bash
7474			export JAVA_HOME=$JAVA_HOME_DIR 
7575			export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR 
7676			export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH 
@@ -84,23 +84,23 @@ def runTests(String image) {
8484def  runTestsWithReverseProxy (String  image ) {
8585	setupDockerMarkLogic(image)
8686
87- 	sh label :' run fragile functional tests with reverse proxy'  , script : ''' #!/bin/bash
87+ 	sh label :  ' run fragile functional tests with reverse proxy'  , script : ''' #!/bin/bash
8888			export JAVA_HOME=$JAVA_HOME_DIR 
8989			export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR 
9090			export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH 
9191			cd java-client-api 
9292			./gradlew -PtestUseReverseProxyServer=true test-app:runReverseProxyServer marklogic-client-api-functionaltests:runFragileTests || true 
9393	'''  
9494
95- 	sh label :' run fast functional tests with reverse proxy'  , script : ''' #!/bin/bash
95+ 	sh label :  ' run fast functional tests with reverse proxy'  , script : ''' #!/bin/bash
9696			export JAVA_HOME=$JAVA_HOME_DIR 
9797			export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR 
9898			export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH 
9999			cd java-client-api 
100100			./gradlew -PtestUseReverseProxyServer=true test-app:runReverseProxyServer marklogic-client-api-functionaltests:runFastFunctionalTests || true 
101101	'''  
102102
103- 	sh label :' run slow functional tests with reverse proxy'  , script : ''' #!/bin/bash
103+ 	sh label :  ' run slow functional tests with reverse proxy'  , script : ''' #!/bin/bash
104104			export JAVA_HOME=$JAVA_HOME_DIR 
105105			export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR 
106106			export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH 
@@ -112,7 +112,7 @@ def runTestsWithReverseProxy(String image) {
112112}
113113
114114def  postProcessTestResults () {
115- 	sh label :' post-test-process'  , script : ''' 
115+ 	sh label :  ' post-test-process'  , script : ''' 
116116			cd java-client-api 
117117			mkdir -p marklogic-client-api-functionaltests/build/test-results/runFragileTests 
118118			mkdir -p marklogic-client-api-functionaltests/build/test-results/runFastFunctionalTests 
@@ -131,88 +131,90 @@ def postProcessTestResults() {
131131}
132132
133133def  tearDownDocker () {
134- 	sh label :' tearDownDocker'  , script : ''' #!/bin/bash
134+ 	sh label :  ' tearDownDocker'  , script : ''' #!/bin/bash
135135		cd java-client-api 
136136		docker compose down -v || true 
137137		docker volume prune -f 
138138	'''  
139139	cleanupDocker()
140140}
141141
142- pipeline{
143-    agent {label ' javaClientLinuxPool'  }
142+ pipeline  {
143+ 	 agent {  label ' javaClientLinuxPool'   }
144144
145-    options {
146-      checkoutToSubdirectory ' java-client-api' 
147-      buildDiscarder logRotator(artifactDaysToKeepStr : ' 7'  , artifactNumToKeepStr : ' '  , daysToKeepStr : ' 7'  , numToKeepStr : ' 10'  )
148-    }
145+ 	 options {
146+ 		 checkoutToSubdirectory ' java-client-api' 
147+ 		 buildDiscarder logRotator(artifactDaysToKeepStr : ' 7'  , artifactNumToKeepStr : ' '  , daysToKeepStr : ' 7'  , numToKeepStr : ' 10'  )
148+ 	 }
149149
150-    parameters {
151-      booleanParam(name : ' regressions'  , defaultValue : false , description : ' indicator if build is for regressions'  )
152-      string(name : ' Email'  , defaultValue : ' '  , description : ' Who should I say send the email to?'  )
153-      string(name : ' JAVA_VERSION'  , defaultValue : ' JAVA8'  , description : ' Who should I say send the email to?'  )
154-    }
150+ 	 parameters {
151+ 		 booleanParam(name : ' regressions'  , defaultValue : false , description : ' indicator if build is for regressions'  )
152+ 		 string(name : ' Email'  , defaultValue : ' ' ,  description : ' Who should I say send the email to?'  )
153+ 		 string(name : ' JAVA_VERSION'  , defaultValue : ' JAVA8' ,  description : ' Who should I say send the email to?'  )
154+ 	 }
155155
156-    environment {
157-      JAVA_HOME_DIR =  getJava()
158-      GRADLE_DIR     = " .gradle" 
159-      DMC_USER       =  credentials(' MLBUILD_USER'  )
160-      DMC_PASSWORD  =  credentials(' MLBUILD_PASSWORD'  )
161-    }
156+ 	 environment {
157+ 		 JAVA_HOME_DIR   =  getJava()
158+ 		 GRADLE_DIR  =   " .gradle" 
159+ 		 DMC_USER  =  credentials(' MLBUILD_USER'  )
160+ 		 DMC_PASSWORD  =  credentials(' MLBUILD_PASSWORD'  )
161+ 	 }
162162
163-    stages {
164-      stage(' pull-request-tests'  ) {
165-        when {
166-          not {
167-            expression {return  params. regressions}
168-          }
169-        }
170-        steps {
171- 	       setupDockerMarkLogic(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:11.3.2-ubi-rootless-2.2.2"  )
172-          sh label :' run marklogic-client-api tests'  , script : ''' #!/bin/bash
163+ 	 stages {
164+ 		 stage(' pull-request-tests'  ) {
165+ 			 when {
166+ 				 not {
167+ 					 expression {  return  params. regressions  }
168+ 				 }
169+ 			 }
170+ 			 steps {
171+ 				 setupDockerMarkLogic(" ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless:11.3.2-ubi-rootless-2.2.2"  )
172+ 				 sh label :  ' run marklogic-client-api tests'  , script : ''' #!/bin/bash
173173          export JAVA_HOME=$JAVA_HOME_DIR 
174174          export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR 
175175          export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH 
176176          cd java-client-api 
177177          // Ensure all modules can be built first. 
178178          ./gradlew clean build -x test 
179-           ./gradlew cleanTest marklogic-client-api:test 
179+ 
180+           // Run a sufficient number of tests to verify the PR. 
181+           ./gradlew cleanTest marklogic-client-api:test || true 
180182        '''  
181183				//  Omitting this until MLE-24523 can be addressed
182184				//  ./gradlew -PtestUseReverseProxyServer=true test-app:runReverseProxyServer marklogic-client-api-functionaltests:runFastFunctionalTests || true
183-          junit ' **/build/**/TEST*.xml' 
184-        }
185+ 				 junit ' **/build/**/TEST*.xml' 
186+ 			 }
185187			post {
186188				always {
187189					updateWorkspacePermissions()
188190					tearDownDocker()
189191				}
190192			}
191-      }
192-      stage(' publish'  ){
193-        when {
194-          branch ' develop' 
195-          not {
196-            expression {return  params. regressions}
197-          }
198-        }
199-        steps{
200-          sh label :' publish'  , script : ''' #!/bin/bash
193+ 		 }
194+ 		 stage(' publish'  )  {
195+ 			 when {
196+ 				 branch ' develop' 
197+ 				 not {
198+ 					 expression {  return  params. regressions  }
199+ 				 }
200+ 			 }
201+ 			 steps  {
202+ 				 sh label :  ' publish'  , script : ''' #!/bin/bash
201203          export JAVA_HOME=$JAVA_HOME_DIR 
202204          export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR 
203205          export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH 
204206          cp ~/.gradle/gradle.properties $GRADLE_USER_HOME; 
205207          cd java-client-api 
206208          ./gradlew publish 
207209        '''  
208-        }
209-      }
210+ 			 }
211+ 		 }
210212
211213		stage(' regressions-11'  ) {
212214			when {
213215				allOf {
214216					branch ' develop' 
215- 					expression {return  params. regressions}
217+ 					expression {  return  params. regressions  }
216218				}
217219			}
218220			steps {
@@ -251,7 +253,7 @@ pipeline{
251253			when {
252254				allOf {
253255					branch ' develop' 
254- 					expression {return  params. regressions}
256+ 					expression {  return  params. regressions  }
255257				}
256258			}
257259			steps {
@@ -270,7 +272,7 @@ pipeline{
270272			when {
271273				allOf {
272274					branch ' develop' 
273- 					expression {return  params. regressions}
275+ 					expression {  return  params. regressions  }
274276				}
275277			}
276278			steps {
@@ -285,5 +287,5 @@ pipeline{
285287			}
286288		}
287289
288-    }
290+ 	 }
289291}
0 commit comments