Skip to content

Commit 85f13c0

Browse files
nakamura-toclaude
andcommitted
Add database connection properties to SqlTestConfig
This allows configuring separate database connection settings for SQL test tasks, enabling different databases for testing SQL files than the main code generation. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 2d4b168 commit 85f13c0

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

codegen/src/main/java/org/seasar/doma/gradle/codegen/extension/SqlTestConfig.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,21 @@
55
import org.gradle.api.model.ObjectFactory;
66
import org.gradle.api.provider.Property;
77
import org.gradle.api.tasks.InputFiles;
8+
import org.gradle.api.tasks.Internal;
89

910
public class SqlTestConfig {
1011

1112
private final Property<FileTree> sqlFiles;
13+
private final Property<String> url;
14+
private final Property<String> user;
15+
private final Property<String> password;
1216

1317
@Inject
1418
public SqlTestConfig(ObjectFactory objects) {
1519
this.sqlFiles = objects.property(FileTree.class);
20+
this.url = objects.property(String.class);
21+
this.user = objects.property(String.class);
22+
this.password = objects.property(String.class);
1623
}
1724

1825
@InputFiles
@@ -23,4 +30,31 @@ public Property<FileTree> getSqlFiles() {
2330
public void setSqlFiles(FileTree sqlFiles) {
2431
this.sqlFiles.set(sqlFiles);
2532
}
33+
34+
@Internal
35+
public Property<String> getUrl() {
36+
return url;
37+
}
38+
39+
public void setUrl(String url) {
40+
this.url.set(url);
41+
}
42+
43+
@Internal
44+
public Property<String> getUser() {
45+
return user;
46+
}
47+
48+
public void setUser(String user) {
49+
this.user.set(user);
50+
}
51+
52+
@Internal
53+
public Property<String> getPassword() {
54+
return password;
55+
}
56+
57+
public void setPassword(String password) {
58+
this.password.set(password);
59+
}
2660
}

codegen/src/main/java/org/seasar/doma/gradle/codegen/task/CodeGenSqlTestTask.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,14 @@ public void generate() {
107107
}
108108

109109
private SqlTestSuiteDescFactory createSqlTestSuiteDescFactory() {
110+
String urlValue = sqlTestConfig.getUrl().getOrElse(url.get());
111+
String userValue = sqlTestConfig.getUser().getOrElse(user.get());
112+
String passwordValue = sqlTestConfig.getPassword().getOrElse(password.get());
110113
SqlTestDescFactory sqlTestDescFactory =
111114
globalFactory
112115
.get()
113116
.createSqlTestCaseDescFactory(
114-
dialect.get().getDialectClassName(), url.get(), user.get(), password.get());
117+
dialect.get().getDialectClassName(), urlValue, userValue, passwordValue);
115118
return globalFactory.get().createSqlTestSuiteDescFactory(sqlTestDescFactory);
116119
}
117120

0 commit comments

Comments
 (0)