From 618418e2e66b43e581e5ede0333096867e4da6ef Mon Sep 17 00:00:00 2001 From: ChrisJoosse Date: Thu, 17 Apr 2025 14:42:00 -0700 Subject: [PATCH 1/6] support for contextPath --- .../plugin/extension/TeamCityExtension.groovy | 5 +++++ .../org/labkey/gradle/task/DoThenSetup.groovy | 15 +++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/groovy/org/labkey/gradle/plugin/extension/TeamCityExtension.groovy b/src/main/groovy/org/labkey/gradle/plugin/extension/TeamCityExtension.groovy index 0f27bf3c..6e551975 100644 --- a/src/main/groovy/org/labkey/gradle/plugin/extension/TeamCityExtension.groovy +++ b/src/main/groovy/org/labkey/gradle/plugin/extension/TeamCityExtension.groovy @@ -178,6 +178,11 @@ class TeamCityExtension return getTeamCityProperty(project, "labkey.server", "http://localhost") } + static String getLabKeyContextPath(Project project) + { + return getTeamCityProperty(project, "labkey.contextpath", null) + } + static String getLabKeyServerPort(Project project) { return getTeamCityProperty(project, 'tomcat.port', null) diff --git a/src/main/groovy/org/labkey/gradle/task/DoThenSetup.groovy b/src/main/groovy/org/labkey/gradle/task/DoThenSetup.groovy index 6d18fc7c..d49daef2 100644 --- a/src/main/groovy/org/labkey/gradle/task/DoThenSetup.groovy +++ b/src/main/groovy/org/labkey/gradle/task/DoThenSetup.groovy @@ -22,6 +22,8 @@ import org.gradle.api.file.DuplicatesStrategy import org.gradle.api.tasks.Input import org.gradle.api.tasks.Optional import org.gradle.api.tasks.TaskAction +import org.gradle.initialization.Environment +import org.gradle.internal.component.external.model.ComponentVariant import org.labkey.gradle.plugin.extension.TeamCityExtension import org.labkey.gradle.util.BuildUtils import org.labkey.gradle.util.DatabaseProperties @@ -50,7 +52,7 @@ class DoThenSetup extends DefaultTask void setup() { doDatabaseTask() if (!embeddedConfigUpToDate()) { - Properties configProperties = databaseProperties.getConfigProperties() + Environment.Properties configProperties = databaseProperties.getConfigProperties() configProperties.putAll(getExtraJdbcProperties()) // in .properties files, backward slashes are seen as escape characters, so all paths must use forward slashes, even on Windows configProperties.setProperty("pathToServer", project.rootDir.getAbsolutePath().replaceAll("\\\\", "/")) @@ -60,6 +62,11 @@ class DoThenSetup extends DefaultTask "serverPort", project.hasProperty("useSsl") ? "8443" : "8080")) + configProperties.setProperty("contextPath", tcPropOrDefault(project, + TeamCityExtension::getLabKeyContextPath, + "contextPath", + "")) + configProperties.setProperty("shutdownPort", tcPropOrDefault(project, TeamCityExtension::getLabKeyServerShutdownPort, "shutdownPort", @@ -78,7 +85,7 @@ class DoThenSetup extends DefaultTask } String embeddedDir = BuildUtils.getEmbeddedConfigPath(project) - File configsDir = new File(BuildUtils.getConfigsProject(project).projectDir, "configs") + ComponentVariant.File configsDir = new File(BuildUtils.getConfigsProject(project).projectDir, "configs") project.copy({ CopySpec copy -> copy.from configsDir copy.into embeddedDir @@ -102,6 +109,10 @@ class DoThenSetup extends DefaultTask { line = line.replace("#context.", "context.") } + if (configProperties.containsKey("contextPath") && line.contains("=@@contextPath")) + { + line = line.replace("#context.", "context.") + } if (line.startsWith("#")) { return line // Don't apply replacements to comments } From 5957cb8003e32b0219ef6e1b9d2fa6d0fa0df686 Mon Sep 17 00:00:00 2001 From: ChrisJoosse Date: Fri, 18 Apr 2025 16:19:15 -0700 Subject: [PATCH 2/6] support for contextPath --- build.gradle | 2 +- src/main/groovy/org/labkey/gradle/task/DoThenSetup.groovy | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index b0ca5afb..e4283bd4 100644 --- a/build.gradle +++ b/build.gradle @@ -42,7 +42,7 @@ dependencies { } group = 'org.labkey.build' -project.version = "6.2.0-SNAPSHOT" +project.version = "6.2.0_fb_serverContext_SNAPSHOT" gradlePlugin { plugins { diff --git a/src/main/groovy/org/labkey/gradle/task/DoThenSetup.groovy b/src/main/groovy/org/labkey/gradle/task/DoThenSetup.groovy index d49daef2..51799759 100644 --- a/src/main/groovy/org/labkey/gradle/task/DoThenSetup.groovy +++ b/src/main/groovy/org/labkey/gradle/task/DoThenSetup.groovy @@ -22,8 +22,6 @@ import org.gradle.api.file.DuplicatesStrategy import org.gradle.api.tasks.Input import org.gradle.api.tasks.Optional import org.gradle.api.tasks.TaskAction -import org.gradle.initialization.Environment -import org.gradle.internal.component.external.model.ComponentVariant import org.labkey.gradle.plugin.extension.TeamCityExtension import org.labkey.gradle.util.BuildUtils import org.labkey.gradle.util.DatabaseProperties @@ -52,7 +50,7 @@ class DoThenSetup extends DefaultTask void setup() { doDatabaseTask() if (!embeddedConfigUpToDate()) { - Environment.Properties configProperties = databaseProperties.getConfigProperties() + Properties configProperties = databaseProperties.getConfigProperties() configProperties.putAll(getExtraJdbcProperties()) // in .properties files, backward slashes are seen as escape characters, so all paths must use forward slashes, even on Windows configProperties.setProperty("pathToServer", project.rootDir.getAbsolutePath().replaceAll("\\\\", "/")) @@ -85,7 +83,7 @@ class DoThenSetup extends DefaultTask } String embeddedDir = BuildUtils.getEmbeddedConfigPath(project) - ComponentVariant.File configsDir = new File(BuildUtils.getConfigsProject(project).projectDir, "configs") + File configsDir = new File(BuildUtils.getConfigsProject(project).projectDir, "configs") project.copy({ CopySpec copy -> copy.from configsDir copy.into embeddedDir From fcb4b7cd2fc106c39b6dfdb9138439ac4339b23e Mon Sep 17 00:00:00 2001 From: ChrisJoosse Date: Mon, 21 Apr 2025 10:11:49 -0700 Subject: [PATCH 3/6] update version to hopefully publish successfully --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index e4283bd4..cc5056a2 100644 --- a/build.gradle +++ b/build.gradle @@ -42,7 +42,7 @@ dependencies { } group = 'org.labkey.build' -project.version = "6.2.0_fb_serverContext_SNAPSHOT" +project.version = "6.2.0_fb_serverContext-SNAPSHOT" gradlePlugin { plugins { From 5f4dd7e81bc6b4b5ff335535d29677dc4ea66237 Mon Sep 17 00:00:00 2001 From: ChrisJoosse Date: Wed, 23 Apr 2025 09:53:44 -0700 Subject: [PATCH 4/6] update release notes, version to 6.2.0 --- README.md | 8 +++++++- build.gradle | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 829342fd..43225b5e 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,16 @@ on how to do that, including how to develop and test locally and the versioning ## Release Notes -### 6.2.0-SNAPSHOT +### 6.3.0-SNAPSHOT *Released*: TBD (Earliest compatible LabKey version: 25.2) +### 6.2.0 +*Released*: 23 April, 2025 +(Earliest compatible LabKey version: 25.2) +- allow TC property `system.labkey.contextpath` (or local commandline arg -PcontextPath=) to uncomment and set + context.contextPath in pick task + ### 6.1.0 *Released*: 10 January, 2025 (Earliest compatible LabKey version: 25.2) diff --git a/build.gradle b/build.gradle index cc5056a2..52095a7c 100644 --- a/build.gradle +++ b/build.gradle @@ -42,7 +42,7 @@ dependencies { } group = 'org.labkey.build' -project.version = "6.2.0_fb_serverContext-SNAPSHOT" +project.version = "6.2.0" gradlePlugin { plugins { From d3fcacc44478954a70e0c136930654b34601579b Mon Sep 17 00:00:00 2001 From: ChrisJoosse Date: Wed, 23 Apr 2025 12:14:23 -0700 Subject: [PATCH 5/6] version -> 6.3.0-SNAPSHOT --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 52095a7c..d61bc1b0 100644 --- a/build.gradle +++ b/build.gradle @@ -42,7 +42,7 @@ dependencies { } group = 'org.labkey.build' -project.version = "6.2.0" +project.version = "6.3.0-SNAPSHOT" gradlePlugin { plugins { From a4f4368392ae313e170ba194861a4dbdf79c21cf Mon Sep 17 00:00:00 2001 From: Chris Joosse Date: Wed, 23 Apr 2025 13:49:55 -0700 Subject: [PATCH 6/6] Update README.md more succinct change summary Co-authored-by: Trey Chadick --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 43225b5e..fe6f5a7d 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,7 @@ on how to do that, including how to develop and test locally and the versioning ### 6.2.0 *Released*: 23 April, 2025 (Earliest compatible LabKey version: 25.2) -- allow TC property `system.labkey.contextpath` (or local commandline arg -PcontextPath=) to uncomment and set - context.contextPath in pick task +- Allow `PickDb` task to set server context path via `labkey.contextpath` property ### 6.1.0 *Released*: 10 January, 2025