From 0f281bddfa62d9fc16297d14f6130ad3c5b0d0f3 Mon Sep 17 00:00:00 2001 From: labkey-jeckels Date: Mon, 12 Feb 2024 11:02:42 -0800 Subject: [PATCH 1/5] Fix more tests that launch ClusterStartup --- .../SequenceRemoteIntegrationTests.java | 34 ++----------------- 1 file changed, 2 insertions(+), 32 deletions(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceRemoteIntegrationTests.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceRemoteIntegrationTests.java index 9b7c1b8b0..faa074c82 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceRemoteIntegrationTests.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceRemoteIntegrationTests.java @@ -2,7 +2,6 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.SystemUtils; import org.jetbrains.annotations.Nullable; import org.json.JSONObject; import org.junit.AfterClass; @@ -10,9 +9,9 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import org.labkey.api.module.ModuleLoader; import org.labkey.api.pipeline.PipelineJob; import org.labkey.api.pipeline.PipelineJobService; +import org.labkey.api.pipeline.PipelineService; import org.labkey.api.pipeline.TaskId; import org.labkey.api.pipeline.WorkDirectory; import org.labkey.api.reader.Readers; @@ -25,7 +24,6 @@ import java.io.File; import java.io.IOException; import java.io.PrintWriter; -import java.util.ArrayList; import java.util.List; import static org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService.SEQUENCE_TOOLS_PARAM; @@ -202,35 +200,7 @@ public void RunBwaRemote() throws Exception protected void executeJobRemote(File workDir, @Nullable File jobJson) throws IOException { - List args = new ArrayList<>(); - args.add(System.getProperty("java.home") + "/bin/java" + (SystemUtils.IS_OS_WINDOWS ? ".exe" : "")); - - File labkeyBootstrap = new File(System.getProperty("catalina.home"), "lib/labkeyBootstrap.jar"); - if (!labkeyBootstrap.exists()) - { - throw new IOException("Unable to find labkeyBootstrap.jar, expected: " + labkeyBootstrap.getPath()); - } - - args.add("-cp"); - args.add(labkeyBootstrap.getPath()); - args.add("org.labkey.bootstrap.ClusterBootstrap"); - - File webappDir = new File(ModuleLoader.getServletContext().getRealPath("")); - if (!webappDir.exists()) - { - throw new IOException("Unable to find webappdir, expected: " + webappDir.getPath()); - } - - for (String sysProp : new String[]{"labkey.externalModulesDir", "labkey.modulesDir", "cpas.modulesDir"}) - { - String sysPropValue = StringUtils.trimToNull(System.getProperty(sysProp)); - if (sysPropValue != null) - { - args.add("-D" + sysProp +"=" + sysPropValue); - } - } - - args.add("-webappdir=" + webappDir.getPath()); + List args = PipelineService.get().getClusterStartupArguments(); File configDir = setupConfigDir(workDir); args.add("-configdir=" + configDir.getPath()); From 2e7e00728fbae4b3ccd72943737468c6c7605200 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Tue, 13 Feb 2024 09:55:16 -0800 Subject: [PATCH 2/5] Put pipelineConfig.xml in correct location for embedded Tomcat --- SequenceAnalysis/build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index c600a7abe..ea1ef25c3 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -193,7 +193,9 @@ if (project.findProject(BuildUtils.getTestProjectPath(project.gradle)) != null & return newLine }) - task.destinationDir = new File("${ServerDeployExtension.getServerDeployDirectory(project)}/config") + task.destinationDir = BuildUtils.useEmbeddedTomcat(project) + ? new File("${BuildUtils.getEmbeddedConfigPath(project)}") + : new File("${ServerDeployExtension.getServerDeployDirectory(project)}/config") } testProject.tasks.named("startTomcat").configure { dependsOn(createPipelineConfigTask) From 111208ab8a17a4b1c017b8c22931853d138caa37 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Tue, 13 Feb 2024 13:20:21 -0800 Subject: [PATCH 3/5] Revert change to pipelineConfig.xml location --- SequenceAnalysis/build.gradle | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index ea1ef25c3..c600a7abe 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -193,9 +193,7 @@ if (project.findProject(BuildUtils.getTestProjectPath(project.gradle)) != null & return newLine }) - task.destinationDir = BuildUtils.useEmbeddedTomcat(project) - ? new File("${BuildUtils.getEmbeddedConfigPath(project)}") - : new File("${ServerDeployExtension.getServerDeployDirectory(project)}/config") + task.destinationDir = new File("${ServerDeployExtension.getServerDeployDirectory(project)}/config") } testProject.tasks.named("startTomcat").configure { dependsOn(createPipelineConfigTask) From 6163438239ceae707bcc90b2259f89595037b664 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Tue, 13 Feb 2024 13:28:09 -0800 Subject: [PATCH 4/5] Actually, we do want that location --- SequenceAnalysis/build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index c600a7abe..ea1ef25c3 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -193,7 +193,9 @@ if (project.findProject(BuildUtils.getTestProjectPath(project.gradle)) != null & return newLine }) - task.destinationDir = new File("${ServerDeployExtension.getServerDeployDirectory(project)}/config") + task.destinationDir = BuildUtils.useEmbeddedTomcat(project) + ? new File("${BuildUtils.getEmbeddedConfigPath(project)}") + : new File("${ServerDeployExtension.getServerDeployDirectory(project)}/config") } testProject.tasks.named("startTomcat").configure { dependsOn(createPipelineConfigTask) From e72d78b2fbd8cf6712c26b342a0d7199d04c8804 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Thu, 15 Feb 2024 09:24:13 -0800 Subject: [PATCH 5/5] Set pipeline config path --- SequenceAnalysis/build.gradle | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index ea1ef25c3..39231e670 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -1,6 +1,7 @@ import org.labkey.gradle.plugin.TeamCity import org.labkey.gradle.plugin.extension.ServerDeployExtension import org.labkey.gradle.plugin.extension.TeamCityExtension +import org.labkey.gradle.task.DoThenSetup import org.labkey.gradle.util.BuildUtils import org.labkey.gradle.util.GroupNames import org.labkey.gradle.util.PropertiesUtils @@ -174,6 +175,7 @@ dependencies { if (project.findProject(BuildUtils.getTestProjectPath(project.gradle)) != null && project.hasProperty("teamcity")) { project.evaluationDependsOn(BuildUtils.getTestProjectPath(project.gradle)) + def configDir = "${ServerDeployExtension.getServerDeployDirectory(project)}/config" def testProject = project.findProject(BuildUtils.getTestProjectPath(project.gradle)) def createPipelineConfigTask = project.tasks.register("createPipelineConfig", Copy) { Copy task -> @@ -193,12 +195,25 @@ if (project.findProject(BuildUtils.getTestProjectPath(project.gradle)) != null & return newLine }) - task.destinationDir = BuildUtils.useEmbeddedTomcat(project) - ? new File("${BuildUtils.getEmbeddedConfigPath(project)}") - : new File("${ServerDeployExtension.getServerDeployDirectory(project)}/config") + task.destinationDir = new File(configDir) + + if (BuildUtils.useEmbeddedTomcat(project)) { + task.doFirst { + new File(new File(BuildUtils.getEmbeddedConfigPath(project)), "application.properties") << "\n${configDir}" + } + + rootProject.allprojects { + task.mustRunAfter tasks.withType(DoThenSetup) + } + } } testProject.tasks.named("startTomcat").configure { dependsOn(createPipelineConfigTask) + if (BuildUtils.useEmbeddedTomcat(project)) { + it.doFirst { + new File(new File(BuildUtils.getEmbeddedConfigPath(project)), "application.properties") << "\ncontext.pipelineConfig=${configDir}" + } + } } }