Skip to content

Instantly share code, notes, and snippets.

@jbrackett
Last active April 14, 2021 11:01
Show Gist options
  • Save jbrackett/095801f357f7e7673dc6 to your computer and use it in GitHub Desktop.
Save jbrackett/095801f357f7e7673dc6 to your computer and use it in GitHub Desktop.
Build file with task to generate Querydsl classes from SQL
configurations {
querydslsql
}
sourceSets { generated }
sourceSets.generated.java.srcDirs = ['src/main/generated']
ext {
sqlserverVersion = "1.3.1"
queryDslVersion = "3.6.1"
}
dependencies {
querydslsql "com.mysema.querydsl:querydsl-sql:$queryDslVersion",
"com.mysema.querydsl:querydsl-sql-codegen:$queryDslVersion",
"net.sourceforge.jtds:jtds:$sqlserverVersion"
}
task generateQueryDSLFromDB << {
ant.taskdef(name: 'generateQueryDSL', classname: 'com.mysema.query.sql.ant.AntMetaDataExporter', classpath: configurations.querydslsql.asPath)
ant.generateQueryDSL(jdbcDriverClass: "$config.jdbc.driver", dbUrl: "$config.jdbc.url", dbUserName: "$config.jdbc.username", dbPassword: "$config.jdbc.password", schemaPattern: "$config.jdbc.schema", targetPackage: 'sql', targetSourceFolder: 'my-project/src/main/generated')
}
compileJava {
dependsOn generateQueryDSLFromDB
source sourceSets.generated.java.srcDirs.iterator().next()
}
compileGeneratedJava {
dependsOn generateQueryDSLFromDB
options.warnings = false
classpath += sourceSets.main.runtimeClasspath
}
clean {
delete sourceSets.generated.java.srcDirs
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment