ebeanorm-手动增强类

ebeanorm-手动增强类,ebean,Ebean,我可以从代码或脚本中增强有趣的类吗?我使用的是gradle,似乎没有现成的解决方案。此外,我正在使用10.x版的EBean。一种方法可以在gradle中实现: buildscript { repositories { mavenCentral() } dependencies { classpath 'io.ebean:ebean-agent:10.1.7' } } def ebeanOutputDir = 'build/g

我可以从代码或脚本中增强有趣的类吗?我使用的是gradle,似乎没有现成的解决方案。此外,我正在使用10.x版的EBean。

一种方法可以在gradle中实现:

   buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.ebean:ebean-agent:10.1.7'
    }
}

def ebeanOutputDir = 'build/generated-ebean'
def ebeanSyncDir = 'generated/ebean'

import io.ebean.enhance.Transformer
import io.ebean.enhance.ant.OfflineFileTransform

configurations {
    ebeangenerator
}

dependencies {
    ebeangenerator lib.ebean_querybean_generator
}

task generateQueryBeans(type: GroovyCompile) {
    source = sourceSets.main.groovy
    classpath = configurations.compile + configurations.ebeangenerator
    options.compilerArgs = [
            '-processor', 'io.ebean.querybean.generator.Processor'
    ]
    destinationDir = file(ebeanOutputDir)
}

task syncEBeanQuery(type: Sync) {
    dependsOn tasks.generateQueryBeans
    from ebeanOutputDir
    into ebeanSyncDir
    include "**/*.java"
}

compileGroovy {
    dependsOn tasks.syncEBeanQuery
}

classes.doLast {
    new OfflineFileTransform(
            new Transformer(null, ''),
            getClass().getClassLoader(),
            "$buildDir\\classes\\main")
            .process("**")
}

clean {
    delete file(ebeanSyncDir)
}


apply plugin: 'idea'

idea {
    module {
        sourceDirs += file(ebeanOutputDir)
    }
}
我在我的项目中使用GROOVY,因此
groovyCompile