ziggy/script-plugins/database-schemas.gradle

70 lines
2.9 KiB
Groovy

// TODO Disable connection pooling altogether
// While the HSQLDB memory database allows the tasks to run, it is 10
// seconds slower then running without a connection pool. Find a
// property that will disable connection pooling and use it instead of
// hibernate.connection.url.
task generateHsqldbCreateScript(type: JavaExec, dependsOn: copyLibs) {
inputs.dir "$buildDir/libs"
outputs.dir "$buildDir/schema"
outputs.file "$buildDir/schema/ddl.hsqldb-create.sql"
mainClass.set("gov.nasa.ziggy.services.database.ZiggySchemaExport")
classpath fileTree(dir: "$buildDir/libs", include: "*.jar")
jvmArgs "-Dhibernate.connection.url=jdbc:hsqldb:mem:test",
"-Dhibernate.dialect=org.hibernate.dialect.HSQLDialect",
"-Djava.library.path=$outsideDir/lib"
args "--create", "--output=$buildDir/schema/ddl.hsqldb-create.sql"
}
test.dependsOn generateHsqldbCreateScript
integrationTest.dependsOn generateHsqldbCreateScript
assemble.dependsOn generateHsqldbCreateScript
task generateHsqldbDropScript(type: JavaExec, dependsOn: copyLibs) {
inputs.dir "$buildDir/libs"
outputs.dir "$buildDir/schema"
outputs.file "$buildDir/schema/ddl.hsqldb-drop.sql"
mainClass.set("gov.nasa.ziggy.services.database.ZiggySchemaExport")
classpath fileTree(dir: "$buildDir/libs", include: "*.jar")
jvmArgs "-Dhibernate.connection.url=jdbc:hsqldb:mem:test",
"-Dhibernate.dialect=org.hibernate.dialect.HSQLDialect",
"-Djava.library.path=$outsideDir/lib"
args "--drop", "--output=$buildDir/schema/ddl.hsqldb-drop.sql"
}
test.dependsOn generateHsqldbDropScript
integrationTest.dependsOn generateHsqldbDropScript
assemble.dependsOn generateHsqldbDropScript
task generatePostgresqlCreateScript(type: JavaExec, dependsOn: copyLibs) {
inputs.dir "$buildDir/libs"
outputs.dir "$buildDir/schema"
outputs.file "$buildDir/schema/ddl.postgresql-create.sql"
mainClass.set("gov.nasa.ziggy.services.database.ZiggySchemaExport")
classpath fileTree(dir: "$buildDir/libs", include: "*.jar")
jvmArgs "-Dhibernate.connection.url=jdbc:hsqldb:mem:test",
"-Dhibernate.dialect=org.hibernate.dialect.PostgreSQLDialect",
"-Djava.library.path=$outsideDir/lib"
args "--create", "--output=$buildDir/schema/ddl.postgresql-create.sql"
}
assemble.dependsOn generatePostgresqlCreateScript
task generatePostgresqlDropScript(type: JavaExec, dependsOn: copyLibs) {
inputs.dir "$buildDir/libs"
outputs.dir "$buildDir/schema"
outputs.file "$buildDir/schema/ddl.postgresql-drop.sql"
mainClass.set("gov.nasa.ziggy.services.database.ZiggySchemaExport")
classpath fileTree(dir: "$buildDir/libs", include: "*.jar")
jvmArgs "-Dhibernate.connection.url=jdbc:hsqldb:mem:test",
"-Dhibernate.dialect=org.hibernate.dialect.PostgreSQLDialect",
"-Djava.library.path=$outsideDir/lib"
args "--drop", "--output=$buildDir/schema/ddl.postgresql-drop.sql"
}
assemble.dependsOn generatePostgresqlDropScript