From ec743d789ed3022eb5fea8125917dfbd841c47b6 Mon Sep 17 00:00:00 2001 From: Joel Weiser Date: Tue, 14 Jan 2025 17:30:33 -0500 Subject: [PATCH 01/11] adds dependency and execution for verifier jar --- pom.xml | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 091dc2b..bbffc51 100644 --- a/pom.xml +++ b/pom.xml @@ -58,6 +58,12 @@ com.fasterxml.jackson.core jackson-databind + + + org.reactome.release.verifier + verifier-lib + 1.0-SNAPSHOT + @@ -88,7 +94,6 @@ - ${project.artifactId} org.apache.maven.plugins @@ -118,6 +123,51 @@ + + maven-assembly-plugin + 3.6.0 + + + + main + + + + ${main.class} + + + + jar-with-dependencies + + ${project.artifactId} + + package + + single + + + + + verifier + + + jar-with-dependencies + + + + org.reactome.server.export.verifier.Verifier + + + ${project.artifactId}-verifier + + package + + single + + + + + org.apache.maven.plugins maven-checkstyle-plugin From 2154a25ef63ff0b3be8bbdec9dd15c0b843bdfed Mon Sep 17 00:00:00 2001 From: Joel Weiser Date: Tue, 14 Jan 2025 17:35:04 -0500 Subject: [PATCH 02/11] adds verifier code --- .../server/export/verifier/Utils.java | 29 ++++ .../server/export/verifier/Verifier.java | 138 ++++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100644 src/main/java/org/reactome/server/export/verifier/Utils.java create mode 100644 src/main/java/org/reactome/server/export/verifier/Verifier.java diff --git a/src/main/java/org/reactome/server/export/verifier/Utils.java b/src/main/java/org/reactome/server/export/verifier/Utils.java new file mode 100644 index 0000000..6c364db --- /dev/null +++ b/src/main/java/org/reactome/server/export/verifier/Utils.java @@ -0,0 +1,29 @@ +package org.reactome.server.export.verifier; + +import java.nio.file.Files; +import java.nio.file.Paths; + +import static org.reactome.release.verifier.FileUtils.downloadFileFromS3; + +/** + * @author Joel Weiser (joel.weiser@oicr.on.ca) + * Created 1/4/2025 + */ +public class Utils { + + public static void downloadDataExportFilesAndSizesListFromS3(int versionNumber) { + if (Files.notExists(Paths.get(getDataExportFilesAndSizesListName()))) { + downloadFileFromS3("reactome", getDataExportFilesAndSizesListPathInS3(versionNumber)); + } + } + + private static String getDataExportFilesAndSizesListPathInS3(int versionNumber) { + return String.format("private/releases/%d/data_export/data/%s", + versionNumber, getDataExportFilesAndSizesListName() + ); + } + + static String getDataExportFilesAndSizesListName() { + return "files_and_sizes.txt"; + } +} diff --git a/src/main/java/org/reactome/server/export/verifier/Verifier.java b/src/main/java/org/reactome/server/export/verifier/Verifier.java new file mode 100644 index 0000000..697e91a --- /dev/null +++ b/src/main/java/org/reactome/server/export/verifier/Verifier.java @@ -0,0 +1,138 @@ +package org.reactome.server.export.verifier; + +import com.martiansoftware.jsap.*; +import org.reactome.release.verifier.Results; +import org.reactome.release.verifier.TooSmallFile; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import static org.reactome.release.verifier.TooSmallFile.currentFileIsSmaller; + +/** + * @author Joel Weiser (joel.weiser@oicr.on.ca) + * Created 1/3/2025 + */ +public class Verifier { + private String outputDirectory; + private int releaseNumber; + + //private Results results; + + public static void main(String[] args) throws JSAPException, IOException { + Verifier verifier = new Verifier(); + verifier.parseCommandLineArgs(args); + verifier.run(); + } + + public void parseCommandLineArgs(String[] args) throws JSAPException { + SimpleJSAP jsap = new SimpleJSAP(Verifier.class.getName(), "Verify Data Export ran correctly", + new Parameter[]{ + new FlaggedOption("output", JSAP.STRING_PARSER, JSAP.NO_DEFAULT, JSAP.REQUIRED, 'o', "output", "The folder where the results are written to."), + new FlaggedOption("releaseNumber", JSAP.INTEGER_PARSER, JSAP.NO_DEFAULT, JSAP.REQUIRED, 'r', "releaseNumber", "The most recent Reactome release version") + } + ); + + JSAPResult config = jsap.parse(args); + if (jsap.messagePrinted()) System.exit(1); + + this.outputDirectory = config.getString("output"); + this.releaseNumber = config.getInt("releaseNumber"); + } + + public void run() throws IOException { + Results results = new Results(); + results.addErrorMessages(verifyDataExportRanCorrectly()); + if (!results.hasErrors()) { + System.out.println("Data Export has run correctly!"); + results.reportInfoMessages(); + } else { + results.reportErrors(); + System.exit(1); + } + } + + private List verifyDataExportRanCorrectly() throws IOException { + List errorMessages = new ArrayList<>(); + + errorMessages.addAll(checkDataExportFolderExists()); + if (errorMessages.isEmpty()) { + errorMessages.addAll(checkDataExportFilesExist()); + errorMessages.addAll(checkDataExportFileSizesComparedToPreviousRelease()); + } + + return errorMessages; + } + + private List checkDataExportFolderExists() { + return !Files.exists(Paths.get(this.outputDirectory)) ? + List.of(this.outputDirectory + " does not exist; Expected data-export output files at this location") : + new ArrayList<>(); + } + + private List checkDataExportFilesExist() throws IOException { + List errorMessages = new ArrayList<>(); + + Utils.downloadDataExportFilesAndSizesListFromS3(getPreviousReleaseNumber()); + for (String dataExportFileName : getDataExportFileNames()) { + Path dataExportFilePath = Paths.get(this.outputDirectory, dataExportFileName); + if (!Files.exists(dataExportFilePath)) { + errorMessages.add("File " + dataExportFilePath + " does not exist"); + } + } + + return errorMessages; + } + + private List checkDataExportFileSizesComparedToPreviousRelease() throws IOException { + Utils.downloadDataExportFilesAndSizesListFromS3(getPreviousReleaseNumber()); + List tooSmallFiles = new ArrayList<>(); + for (String dataExportFileName : getDataExportFileNames()) { + Path dataExportFilePath = Paths.get(this.outputDirectory, dataExportFileName); + + if (Files.exists(dataExportFilePath) && currentFileIsSmaller(dataExportFilePath)) { + tooSmallFiles.add(new TooSmallFile(dataExportFilePath)); + } + } + + return tooSmallFiles + .stream() + .map(TooSmallFile::toString) + .collect(Collectors.toList()); + } + + private List getDataExportFileNames() throws IOException { + return Files.lines(Paths.get(Utils.getDataExportFilesAndSizesListName())) + .map(this::getFileName) + .map(this::removeVersionNumberIfPresent) + .collect(Collectors.toList()); + } + + private String getFileName(String line) { + return line.split(" ")[1].replace("./", ""); + } + + private String replaceVersionNumberIfPresent(String fileName) { + return fileName.matches(".*_v\\d+\\.txt") ? + fileName.replaceFirst("\\d+", String.valueOf(this.releaseNumber)) : + fileName; + } + + private String removeVersionNumberIfPresent(String fileName) { + return (fileName.matches(".*_v\\d+\\.txt")) ? + fileName.replaceFirst("_v\\d+", "") : fileName; + } + + private String addVersionNumberToFileName(String fileName) { + return fileName.replaceFirst(".txt", "_v" + this.releaseNumber + ".txt"); + } + + private int getPreviousReleaseNumber() { + return this.releaseNumber - 1; + } +} From 2d99c02f136cdb5c579f008dd0775afcce467b26 Mon Sep 17 00:00:00 2001 From: Joel Weiser Date: Tue, 14 Jan 2025 17:41:08 -0500 Subject: [PATCH 03/11] removes flag for release number suffix on reactome_reaction_exporter file --- .../org/reactome/server/export/tasks/SequenceExporter.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/org/reactome/server/export/tasks/SequenceExporter.java b/src/main/java/org/reactome/server/export/tasks/SequenceExporter.java index 6a74ba7..fa9d92a 100644 --- a/src/main/java/org/reactome/server/export/tasks/SequenceExporter.java +++ b/src/main/java/org/reactome/server/export/tasks/SequenceExporter.java @@ -60,11 +60,6 @@ public String getName() { return "reactome_reaction_exporter"; } - @Override - public boolean printDbVersion() { - return true; - } - @Override public boolean addNullValues() { return false; From 0e38f45f4bf415a3005c607a71bb89446da6ca98 Mon Sep 17 00:00:00 2001 From: Joel Weiser Date: Tue, 14 Jan 2025 17:42:48 -0500 Subject: [PATCH 04/11] removes code for changing release number suffix on file name --- .../server/export/verifier/Verifier.java | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/main/java/org/reactome/server/export/verifier/Verifier.java b/src/main/java/org/reactome/server/export/verifier/Verifier.java index 697e91a..3215b53 100644 --- a/src/main/java/org/reactome/server/export/verifier/Verifier.java +++ b/src/main/java/org/reactome/server/export/verifier/Verifier.java @@ -109,7 +109,6 @@ private List checkDataExportFileSizesComparedToPreviousRelease() throws private List getDataExportFileNames() throws IOException { return Files.lines(Paths.get(Utils.getDataExportFilesAndSizesListName())) .map(this::getFileName) - .map(this::removeVersionNumberIfPresent) .collect(Collectors.toList()); } @@ -117,21 +116,6 @@ private String getFileName(String line) { return line.split(" ")[1].replace("./", ""); } - private String replaceVersionNumberIfPresent(String fileName) { - return fileName.matches(".*_v\\d+\\.txt") ? - fileName.replaceFirst("\\d+", String.valueOf(this.releaseNumber)) : - fileName; - } - - private String removeVersionNumberIfPresent(String fileName) { - return (fileName.matches(".*_v\\d+\\.txt")) ? - fileName.replaceFirst("_v\\d+", "") : fileName; - } - - private String addVersionNumberToFileName(String fileName) { - return fileName.replaceFirst(".txt", "_v" + this.releaseNumber + ".txt"); - } - private int getPreviousReleaseNumber() { return this.releaseNumber - 1; } From 45184be7834719ea93f20f10ee23b666bff8e7a3 Mon Sep 17 00:00:00 2001 From: Joel Weiser Date: Tue, 28 Jan 2025 16:16:47 -0500 Subject: [PATCH 05/11] adds post-step verification to Jenkinsfile --- Jenkinsfile | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 47123d7..150d305 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -42,7 +42,7 @@ pipeline{ sh "sudo service mysql stop" sh "sudo service tomcat9 stop" - sh "java -Xmx${env.JAVA_MEM_MAX}m -jar target/data-export-exec.jar --user $user --password $pass --output ./${env.OUTPUT_FOLDER} --verbose" + sh "java -Xmx${env.JAVA_MEM_MAX}m -jar target/data-export-jar-with-dependencies.jar --user $user --password $pass --output ./${env.OUTPUT_FOLDER} --verbose" sh "sudo service mysql start" sh "sudo service tomcat9 start" @@ -74,6 +74,15 @@ pipeline{ } } } + // Checks the output folder and files exist and compares their sizes to the previous release + stage('Post: Verify Data-Export ran correctly') { + steps { + def releaseVersion = utils.getReleaseVersion() + script { + sh "java -jar target/data-export-verifier-jar-with-dependencies.jar -o ${env.OUTPUT_FOLDER} -r ${releaseVersion}" + } + } + } // Move all data-export files to the downloads folder. At time of writing, these files aren't gzipped. stage('Post: Move export files to download folder') { steps{ From ff6f102cfe28cef44f8c7a4449a14c86e71e907e Mon Sep 17 00:00:00 2001 From: Joel Weiser Date: Tue, 28 Jan 2025 16:38:33 -0500 Subject: [PATCH 06/11] updates verifier class to use default verifier --- .../export/verifier/DataExportVerifier.java | 20 +++ .../server/export/verifier/Utils.java | 29 ----- .../server/export/verifier/Verifier.java | 122 ------------------ 3 files changed, 20 insertions(+), 151 deletions(-) create mode 100644 src/main/java/org/reactome/server/export/verifier/DataExportVerifier.java delete mode 100644 src/main/java/org/reactome/server/export/verifier/Utils.java delete mode 100644 src/main/java/org/reactome/server/export/verifier/Verifier.java diff --git a/src/main/java/org/reactome/server/export/verifier/DataExportVerifier.java b/src/main/java/org/reactome/server/export/verifier/DataExportVerifier.java new file mode 100644 index 0000000..42442a6 --- /dev/null +++ b/src/main/java/org/reactome/server/export/verifier/DataExportVerifier.java @@ -0,0 +1,20 @@ +package org.reactome.server.export.verifier; + +import com.martiansoftware.jsap.*; +import org.reactome.release.verifier.DefaultVerifier; +import org.reactome.release.verifier.Verifier; + +import java.io.IOException; + +/** + * @author Joel Weiser (joel.weiser@oicr.on.ca) + * Created 1/3/2025 + */ +public class DataExportVerifier { + + public static void main(String[] args) throws IOException { + Verifier verifier = new DefaultVerifier("data_export"); + verifier.parseCommandLineArgs(args); + verifier.run(); + } +} diff --git a/src/main/java/org/reactome/server/export/verifier/Utils.java b/src/main/java/org/reactome/server/export/verifier/Utils.java deleted file mode 100644 index 6c364db..0000000 --- a/src/main/java/org/reactome/server/export/verifier/Utils.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.reactome.server.export.verifier; - -import java.nio.file.Files; -import java.nio.file.Paths; - -import static org.reactome.release.verifier.FileUtils.downloadFileFromS3; - -/** - * @author Joel Weiser (joel.weiser@oicr.on.ca) - * Created 1/4/2025 - */ -public class Utils { - - public static void downloadDataExportFilesAndSizesListFromS3(int versionNumber) { - if (Files.notExists(Paths.get(getDataExportFilesAndSizesListName()))) { - downloadFileFromS3("reactome", getDataExportFilesAndSizesListPathInS3(versionNumber)); - } - } - - private static String getDataExportFilesAndSizesListPathInS3(int versionNumber) { - return String.format("private/releases/%d/data_export/data/%s", - versionNumber, getDataExportFilesAndSizesListName() - ); - } - - static String getDataExportFilesAndSizesListName() { - return "files_and_sizes.txt"; - } -} diff --git a/src/main/java/org/reactome/server/export/verifier/Verifier.java b/src/main/java/org/reactome/server/export/verifier/Verifier.java deleted file mode 100644 index 3215b53..0000000 --- a/src/main/java/org/reactome/server/export/verifier/Verifier.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.reactome.server.export.verifier; - -import com.martiansoftware.jsap.*; -import org.reactome.release.verifier.Results; -import org.reactome.release.verifier.TooSmallFile; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -import static org.reactome.release.verifier.TooSmallFile.currentFileIsSmaller; - -/** - * @author Joel Weiser (joel.weiser@oicr.on.ca) - * Created 1/3/2025 - */ -public class Verifier { - private String outputDirectory; - private int releaseNumber; - - //private Results results; - - public static void main(String[] args) throws JSAPException, IOException { - Verifier verifier = new Verifier(); - verifier.parseCommandLineArgs(args); - verifier.run(); - } - - public void parseCommandLineArgs(String[] args) throws JSAPException { - SimpleJSAP jsap = new SimpleJSAP(Verifier.class.getName(), "Verify Data Export ran correctly", - new Parameter[]{ - new FlaggedOption("output", JSAP.STRING_PARSER, JSAP.NO_DEFAULT, JSAP.REQUIRED, 'o', "output", "The folder where the results are written to."), - new FlaggedOption("releaseNumber", JSAP.INTEGER_PARSER, JSAP.NO_DEFAULT, JSAP.REQUIRED, 'r', "releaseNumber", "The most recent Reactome release version") - } - ); - - JSAPResult config = jsap.parse(args); - if (jsap.messagePrinted()) System.exit(1); - - this.outputDirectory = config.getString("output"); - this.releaseNumber = config.getInt("releaseNumber"); - } - - public void run() throws IOException { - Results results = new Results(); - results.addErrorMessages(verifyDataExportRanCorrectly()); - if (!results.hasErrors()) { - System.out.println("Data Export has run correctly!"); - results.reportInfoMessages(); - } else { - results.reportErrors(); - System.exit(1); - } - } - - private List verifyDataExportRanCorrectly() throws IOException { - List errorMessages = new ArrayList<>(); - - errorMessages.addAll(checkDataExportFolderExists()); - if (errorMessages.isEmpty()) { - errorMessages.addAll(checkDataExportFilesExist()); - errorMessages.addAll(checkDataExportFileSizesComparedToPreviousRelease()); - } - - return errorMessages; - } - - private List checkDataExportFolderExists() { - return !Files.exists(Paths.get(this.outputDirectory)) ? - List.of(this.outputDirectory + " does not exist; Expected data-export output files at this location") : - new ArrayList<>(); - } - - private List checkDataExportFilesExist() throws IOException { - List errorMessages = new ArrayList<>(); - - Utils.downloadDataExportFilesAndSizesListFromS3(getPreviousReleaseNumber()); - for (String dataExportFileName : getDataExportFileNames()) { - Path dataExportFilePath = Paths.get(this.outputDirectory, dataExportFileName); - if (!Files.exists(dataExportFilePath)) { - errorMessages.add("File " + dataExportFilePath + " does not exist"); - } - } - - return errorMessages; - } - - private List checkDataExportFileSizesComparedToPreviousRelease() throws IOException { - Utils.downloadDataExportFilesAndSizesListFromS3(getPreviousReleaseNumber()); - List tooSmallFiles = new ArrayList<>(); - for (String dataExportFileName : getDataExportFileNames()) { - Path dataExportFilePath = Paths.get(this.outputDirectory, dataExportFileName); - - if (Files.exists(dataExportFilePath) && currentFileIsSmaller(dataExportFilePath)) { - tooSmallFiles.add(new TooSmallFile(dataExportFilePath)); - } - } - - return tooSmallFiles - .stream() - .map(TooSmallFile::toString) - .collect(Collectors.toList()); - } - - private List getDataExportFileNames() throws IOException { - return Files.lines(Paths.get(Utils.getDataExportFilesAndSizesListName())) - .map(this::getFileName) - .collect(Collectors.toList()); - } - - private String getFileName(String line) { - return line.split(" ")[1].replace("./", ""); - } - - private int getPreviousReleaseNumber() { - return this.releaseNumber - 1; - } -} From 8c075a892d41db550fe4f64450b5eca4534ec850 Mon Sep 17 00:00:00 2001 From: jweiser Date: Tue, 16 Dec 2025 12:38:52 -0500 Subject: [PATCH 07/11] removes unneeded import --- .../org/reactome/server/export/verifier/DataExportVerifier.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/reactome/server/export/verifier/DataExportVerifier.java b/src/main/java/org/reactome/server/export/verifier/DataExportVerifier.java index 42442a6..babc244 100644 --- a/src/main/java/org/reactome/server/export/verifier/DataExportVerifier.java +++ b/src/main/java/org/reactome/server/export/verifier/DataExportVerifier.java @@ -1,6 +1,5 @@ package org.reactome.server.export.verifier; -import com.martiansoftware.jsap.*; import org.reactome.release.verifier.DefaultVerifier; import org.reactome.release.verifier.Verifier; From 17dd9b771516d690358965d0c4ba2a326d81e6b0 Mon Sep 17 00:00:00 2001 From: jweiser Date: Tue, 16 Dec 2025 12:39:43 -0500 Subject: [PATCH 08/11] adds Sonatype central snapshot repository to pom.xml --- pom.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pom.xml b/pom.xml index bbffc51..866a7c8 100644 --- a/pom.xml +++ b/pom.xml @@ -91,6 +91,18 @@ true + + + Central Portal Snapshots + central-portal-snapshots + https://central.sonatype.com/repository/maven-snapshots/ + + false + + + true + + From e7bdce9b5c752fc9f0cbabc5797e59ee1008a468 Mon Sep 17 00:00:00 2001 From: jweiser Date: Tue, 16 Dec 2025 12:48:54 -0500 Subject: [PATCH 09/11] updates spring-boot plugin to produce additional jar file for verifier --- pom.xml | 55 ++++++++++++++----------------------------------------- 1 file changed, 14 insertions(+), 41 deletions(-) diff --git a/pom.xml b/pom.xml index 866a7c8..e1e688b 100644 --- a/pom.xml +++ b/pom.xml @@ -38,6 +38,7 @@ org.reactome.server.export.Main + org.reactome.server.export.verifier.DataExportVerifier 11 @@ -106,6 +107,7 @@ + data-export org.apache.maven.plugins @@ -122,60 +124,31 @@ spring-boot-maven-plugin ${spring-boot.version} - ${main.class} true - exec + NONE + primary-exec repackage - - - - - - maven-assembly-plugin - 3.6.0 - - - - main - - - ${main.class} - - - - jar-with-dependencies - - ${project.artifactId} + ${main.class} + exec + true - package - - single - - - verifier - - - jar-with-dependencies - - - - org.reactome.server.export.verifier.Verifier - - - ${project.artifactId}-verifier - - package + verifier-exec - single + repackage + + ${verifier.main.class} + verifier + true + From f7405f483c4e36282b59e32f74c2fe74c0ef3f4f Mon Sep 17 00:00:00 2001 From: jweiser Date: Tue, 16 Dec 2025 15:28:08 -0500 Subject: [PATCH 10/11] updates Jenkinsfile to include verifier and file size baseline --- Jenkinsfile | 45 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1c80c58..d42d17d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -71,6 +71,41 @@ pipeline{ } } + // Execute the verifier jar file checking for the existence and proper file sizes of the data-export output + stage('Post: Verify DataExport ran correctly') { + steps { + script { + def releaseVersion = utils.getReleaseVersion() + + sh """ + docker run \\ + --rm \\ + -v ${pwd()}/${env.OUTPUT_FOLDER}:${CONT_ROOT}/${env.OUTPUT_FOLDER}/ \\ + -v \$HOME/.aws:/root/.aws:ro \\ + -e AWS_REGION=us-east-1 \\ + --net=host \\ + --name ${CONT_NAME}_verifier \\ + ${ECR_URL}:latest \\ + /bin/bash -c "java -jar target/data-export-verifier.jar --releaseNumber ${releaseVersion} --output ${CONT_ROOT}/${env.OUTPUT_FOLDER}" + """ + } + } + } + + // Creates a list of files and their sizes to use for comparison baseline during next release + stage('Post: Create files and sizes list to upload for next release\'s verifier') { + steps { + script { + def fileSizeList = "files_and_sizes.txt" + def releaseVersion = utils.getReleaseVersion() + + sh "find ${env.OUTPUT_FOLDER} -type f -printf \"%s\t%P\n\" > ${fileSizeList}" + sh "aws s3 --no-progress cp ${fileSizeList} s3://reactome/private/releases/${releaseVersion}/data_export/data/" + sh "rm ${fileSizeList}" + } + } + } + // This stage outputs the difference in line counts for data-export files between releases. stage('Post: Compare Data-Export file line counts between releases') { steps{ @@ -94,16 +129,6 @@ pipeline{ } } - // Checks the output folder and files exist and compares their sizes to the previous release - stage('Post: Verify Data-Export ran correctly') { - steps { - def releaseVersion = utils.getReleaseVersion() - script { - sh "java -jar target/data-export-verifier-jar-with-dependencies.jar -o ${env.OUTPUT_FOLDER} -r ${releaseVersion}" - } - } - } - // Move all data-export files to the downloads folder. At time of writing, these files aren't gzipped. stage('Post: Move export files to download folder') { steps{ From 82cf4719e3d43a5df11f7052dc87ddc22c64663b Mon Sep 17 00:00:00 2001 From: jweiser Date: Tue, 16 Dec 2025 15:28:25 -0500 Subject: [PATCH 11/11] updates Dockerfile to copy verifier jar file --- Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 22ff253..0e7e75d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,8 +32,10 @@ FROM eclipse-temurin:11-jre-focal ARG REPO_DIR -ARG JAR_FILE=target/data-export-exec.jar +ARG EXEC_JAR_FILE=target/data-export-exec.jar +ARG VERIFIER_JAR_FILE=target/data-export-verifier.jar WORKDIR ${REPO_DIR} -COPY --from=build-jar ${REPO_DIR}/${JAR_FILE} ./target/ +COPY --from=build-jar ${REPO_DIR}/${EXEC_JAR_FILE} ./target/ +COPY --from=build-jar ${REPO_DIR}/${VERIFIER_JAR_FILE} ./target/