diff --git a/build.gradle b/build.gradle index fc5eb041e0..ec5f085f53 100644 --- a/build.gradle +++ b/build.gradle @@ -125,32 +125,23 @@ if (!BuildUtils.isIntellij()) { } } -def initPropertiesTask = project.tasks.register("initProperties", Task) { - Task task -> +def initPropertiesTask = project.tasks.register("initProperties", Copy) { + Copy task -> task.group = GroupNames.TEST task.description = "Create test.properties if missing" - task.doLast({ - File testProperties = project.file('test.properties') - File testPropertiesTemplate = project.file('test.properties.template') - - if (!testProperties.exists()) - { - project.copy { - CopySpec copy -> - copy.from(testPropertiesTemplate) - copy.into(project.file(".")) - copy.rename(testPropertiesTemplate.getName(), testProperties.getName()) - copy.filter { String line -> - if (line.startsWith("#!!")) { - return null - } - else { - return line - } - } - } + task.from(project.file('test.properties.template')) + task.into(".") + task.outputs.files(project.file('test.properties')) + task.rename('test.properties.template', 'test.properties') + task.filter { String line -> + if (line.startsWith("#!!")) { + return null } - }) + else { + return line + } + } + task.onlyIf{ !project.file('test.properties').exists() } } project.tasks.register("convertHarToStressXml", JavaExec) { diff --git a/data/qc/build.gradle b/data/qc/build.gradle index 38757cafeb..c4d1e9b930 100644 --- a/data/qc/build.gradle +++ b/data/qc/build.gradle @@ -16,6 +16,10 @@ sourceSets { } } +// We declare that these jar file tasks must run after the sample data file task since writeSampleDataFile declares the +// testAutomation/data directory as an input. +def sampleDataFileTask = project.project(BuildUtils.getTestProjectPath(project.gradle)).tasks.named("writeSampleDataFile") + project.tasks.register('validatorJar', Jar) { group = "QC" description = "Builds jar for assay validation" @@ -31,6 +35,7 @@ project.tasks.register('validatorJar', Jar) { 'Built-By': System.getProperty("user.name"), 'Main-Class': 'org.labkey.AssayValidator' } + sampleDataFileTask.get().mustRunAfter(it) } project.tasks.register('transformJar', Jar) { @@ -48,6 +53,7 @@ project.tasks.register('transformJar', Jar) { 'Built-By': System.getProperty("user.name"), 'Main-Class': 'org.labkey.AssayTransform' } + sampleDataFileTask.get().mustRunAfter(it) } project.tasks.register('transformNoopJar', Jar) { @@ -65,6 +71,7 @@ project.tasks.register('transformNoopJar', Jar) { 'Built-By': System.getProperty("user.name"), 'Main-Class': 'org.labkey.AssayTransformNoOp' } + sampleDataFileTask.get().mustRunAfter(it) } project.tasks.register('transformWarningJar', Jar) { @@ -82,6 +89,7 @@ project.tasks.register('transformWarningJar', Jar) { 'Built-By': System.getProperty("user.name"), 'Main-Class': 'org.labkey.AssayTransformWarning' } + sampleDataFileTask.get().mustRunAfter(it) } var jarTask = project.tasks.named('jar') diff --git a/distributions/teamcity/build.gradle b/distributions/teamcity/build.gradle index 128edeb44c..f499b8e7ef 100644 --- a/distributions/teamcity/build.gradle +++ b/distributions/teamcity/build.gradle @@ -12,7 +12,7 @@ plugins { if (!BuildUtils.isOpenSource(project)) apply plugin: 'org.labkey.build.applyLicenses' -dist.description = "Distribution that includes all modules, for use in the continuous integration LabKey Server instance" +description = "Distribution that includes all modules, for use in the continuous integration LabKey Server instance" project.tasks.register("distribution", ModuleDistribution) { ModuleDistribution dist -> diff --git a/src/org/labkey/test/TestFileUtils.java b/src/org/labkey/test/TestFileUtils.java index 3af44b7639..c983d5237b 100644 --- a/src/org/labkey/test/TestFileUtils.java +++ b/src/org/labkey/test/TestFileUtils.java @@ -226,11 +226,11 @@ public static File getModulesDir() { if (_modulesDir == null) { - _modulesDir = new File(getDefaultDeployDir(), "modules"); + // Module root when deploying from embedded distribution + _modulesDir = new File(getDefaultDeployDir(), "embedded/modules"); if (!_modulesDir.isDirectory()) { - // Module root when deploying from embedded distribution - _modulesDir = new File(getDefaultDeployDir(), "embedded/modules"); + _modulesDir = new File(getDefaultDeployDir(), "modules"); } } return _modulesDir;