|
17 | 17 |
|
18 | 18 | import org.apache.commons.io.IOUtils; |
19 | 19 | import org.apache.commons.lang3.StringUtils; |
20 | | -import org.apache.logging.log4j.Logger; |
21 | 20 | import org.apache.logging.log4j.LogManager; |
| 21 | +import org.apache.logging.log4j.Logger; |
22 | 22 | import org.jetbrains.annotations.Nullable; |
23 | 23 | import org.junit.Assert; |
24 | 24 | import org.junit.Test; |
25 | 25 | import org.labkey.api.module.Module; |
26 | 26 | import org.labkey.api.module.ModuleLoader; |
27 | 27 | import org.labkey.api.pipeline.PipelineJobService; |
28 | | -import org.labkey.api.resource.FileResource; |
29 | 28 | import org.labkey.api.resource.DirectoryResource; |
| 29 | +import org.labkey.api.resource.FileResource; |
30 | 30 | import org.labkey.api.resource.Resource; |
31 | 31 | import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; |
32 | 32 | import org.labkey.api.settings.AppProps; |
|
46 | 46 | import java.io.InputStreamReader; |
47 | 47 | import java.io.StringWriter; |
48 | 48 | import java.util.ArrayList; |
| 49 | +import java.util.Arrays; |
49 | 50 | import java.util.HashSet; |
50 | 51 | import java.util.LinkedList; |
51 | 52 | import java.util.List; |
@@ -366,7 +367,7 @@ private List<String> getBaseParams() throws FileNotFoundException |
366 | 367 | throw new RuntimeException("Not found: " + jbzip2.getPath()); |
367 | 368 | } |
368 | 369 |
|
369 | | - File htsjdkJar = new File(libDir, "htsjdk-4.0.0.jar"); |
| 370 | + File htsjdkJar = findJar(libDir, "htsjdk-"); |
370 | 371 | if (!htsjdkJar.exists()) |
371 | 372 | { |
372 | 373 | throw new RuntimeException("Not found: " + htsjdkJar.getPath()); |
@@ -401,6 +402,27 @@ private List<String> getBaseParams() throws FileNotFoundException |
401 | 402 | return params; |
402 | 403 | } |
403 | 404 |
|
| 405 | + private File findJar(final File libDir, final String prefix) |
| 406 | + { |
| 407 | + if (!libDir.exists()) |
| 408 | + { |
| 409 | + throw new RuntimeException("Missing directory: " + libDir); |
| 410 | + } |
| 411 | + |
| 412 | + List<String> jarNames = Arrays.stream(libDir.list()).filter(fn -> fn.startsWith(prefix)).sorted().toList(); |
| 413 | + if (jarNames.isEmpty()) |
| 414 | + { |
| 415 | + throw new RuntimeException("Unable to find JAR with prefix: " + prefix); |
| 416 | + } |
| 417 | + |
| 418 | + if (jarNames.size() > 1) |
| 419 | + { |
| 420 | + _logger.info("More than one JAR found with prefix: " + prefix); |
| 421 | + } |
| 422 | + |
| 423 | + return new File(libDir, jarNames.get(jarNames.size() - 1)); |
| 424 | + } |
| 425 | + |
404 | 426 | private int getThreads() |
405 | 427 | { |
406 | 428 | return _threads; |
|
0 commit comments