The jOOQ User Manual. Multiple Pages : Code generation : Running the code generator with Gradle | previous : next |
All versions: 3.11 | 3.10 | 3.9 | 3.8 | 3.7 | Development versions: 3.12 | Unsupported versions: 3.6 | 3.5 | 3.4
Run generation with the Gradle plugin
We recommend using the Gradle plugin by Etienne Studer (from Gradle Inc.). It provides a concise DSL that allows you to tune all configuration properties supported by each jOOQ version. Please direct any support questions or issues you may find directly to the third party plugin vendor.
Alternatively, the XML MarkupBuilder can be used
If you don't want to use the above third party plugin, there's also the possibility to use jOOQ's standalone code generator for simplicity. The following working example build.gradle script should work out of the box:
// Configure the Java plugin and the dependencies // ---------------------------------------------- apply plugin: 'java' repositories { mavenLocal() mavenCentral() } dependencies { compile 'org.jooq:jooq:3.8.9' runtime 'com.h2database:h2:1.4.177' testCompile 'junit:junit:4.11' } buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath 'org.jooq:jooq-codegen:3.8.9' classpath 'com.h2database:h2:1.4.177' } } // Use your favourite XML builder to construct the code generation configuration file // ---------------------------------------------------------------------------------- def writer = new StringWriter() def xml = new groovy.xml.MarkupBuilder(writer) .configuration('xmlns': 'http://www.jooq.org/xsd/jooq-codegen-3.8.7.xsd') { jdbc() { driver('org.h2.Driver') url('jdbc:h2:~/test-gradle') user('sa') password('') } generator() { database() { } // Watch out for this caveat when using MarkupBuilder with "reserved names" // - https://github.com/jOOQ/jOOQ/issues/4797 // - http://stackoverflow.com/a/11389034/521799 // - https://groups.google.com/forum/#!topic/jooq-user/wi4S9rRxk4A generate([:]) { pojos true daos true } target() { packageName('org.jooq.example.gradle.db') directory('src/main/java') } } } // Run the code generator // ---------------------- org.jooq.util.GenerationTool.generate(writer.toString())