diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index c600a7abe..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,10 +195,25 @@ if (project.findProject(BuildUtils.getTestProjectPath(project.gradle)) != null & return newLine }) - task.destinationDir = 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}" + } + } } } 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());