From cf6c588e79d9a43aa864aed0838955f44c61cbbf Mon Sep 17 00:00:00 2001 From: Clayton Walker Date: Mon, 5 Aug 2024 10:37:35 -0600 Subject: [PATCH] HBX-2889: Write project path using Properties to fix functional tests on Windows --- .../gradle/test/func/utils/FuncTestTemplate.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/test/func/utils/FuncTestTemplate.java b/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/test/func/utils/FuncTestTemplate.java index e274eb8d18..9685ad11a2 100644 --- a/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/test/func/utils/FuncTestTemplate.java +++ b/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/test/func/utils/FuncTestTemplate.java @@ -3,9 +3,12 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.io.StringReader; +import java.io.StringWriter; import java.io.Writer; import java.net.URISyntaxException; import java.nio.file.Files; +import java.util.Properties; import org.gradle.testkit.runner.BuildResult; import org.gradle.testkit.runner.GradleRunner; @@ -37,7 +40,16 @@ protected File getHibernatePropertiesFile() { } protected String getHibernatePropertiesContents() { - return HIBERNATE_PROPERTIES_CONTENTS.replace("${projectDir}", projectDir.getAbsolutePath()); + try { + Properties properties = new Properties(); + properties.load(new StringReader(HIBERNATE_PROPERTIES_CONTENTS)); + properties.setProperty("hibernate.connection.url", "jdbc:h2:" + new File(projectDir, DATABASE_PATH)); + StringWriter writer = new StringWriter(); + properties.store(writer, null); + return writer.toString(); + } catch (IOException e) { + throw new RuntimeException(e); + } } protected void copyDatabase() {