Skip to content

Instantly share code, notes, and snippets.

@pieterbos
Created January 8, 2018 23:10
Show Gist options
  • Save pieterbos/3263d7a090bf0ddaad7f1c1fea6d4629 to your computer and use it in GitHub Desktop.
Save pieterbos/3263d7a090bf0ddaad7f1c1fea6d4629 to your computer and use it in GitHub Desktop.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.avaje.ebeanorm:avaje-ebeanorm-mavenenhancer:4.11.1'
classpath 'org.avaje.ebeanorm:avaje-ebeanorm-typequery-generator:1.5.1'
classpath 'org.avaje.ebeanorm:querybean-maven-plugin:2.3.1'
}
}
def getMavenClasspath() {
def mavenClasspath = new ArrayList<String>();
for(File file:sourceSets.main.runtimeClasspath.getFiles()) {
mavenClasspath.add(file.getAbsolutePath());
}
return mavenClasspath;
}
import com.avaje.ebean.enhance.maven.MavenEnhanceTask;
task ebeanEnhance {
doLast {
def mavenClasspath = getMavenClasspath();
def enhancer = new MavenEnhanceTask();
enhancer.classSource = "build/classes/java/main";
enhancer.compileClasspathElements = mavenClasspath;
enhancer.packages = "com.nedap.**"
enhancer.execute();
}
}
import org.avaje.ebean.typequery.generator.Generator;
import org.avaje.ebean.typequery.generator.GeneratorConfig;
/**
* Generate the type query beans from ebean. Rerun after changes to any ebeans
* and checkin the changes!
*/
task generateTypeQueries {
doLast {
GeneratorConfig config = new GeneratorConfig();
config.setClassesDirectory("./build/classes/java/main");
config.setDestDirectory("./src/main/java");
config.setDestResourceDirectory("./src/main/resources");
config.setEntityBeanPackage("com.yourcompany.yourproduct.persistence");
config.setDestPackage("com.yourcompany.yourproduct.persistence.query");
config.setOverwriteExistingFinders(false);
Generator generator = new Generator(config);
generator.generateQueryBeans();
}
}
task enhanceTypeQueries {
doLast {
def mavenClasspath = getMavenClasspath();
def enhancer = new org.avaje.ebean.typequery.maven.MavenEnhanceTask();
enhancer.classSource = "build/classes/java/main";
enhancer.compileClasspathElements = mavenClasspath;
enhancer.packages = "your.classpath.**"
enhancer.transformArgs="debug=1"
enhancer.execute();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment