【问题标题】:Ebean ORM - enhancing classes manuallyEbean ORM - 手动增强类
【发布时间】:2017-03-25 15:27:40
【问题描述】:

我可以通过代码或脚本增强有趣的类吗?我正在使用 gradle,似乎没有开箱即用的解决方案。我也在使用 10.x 版的 EBean。

【问题讨论】:

    标签: ebean


    【解决方案1】:

    这可以在 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      相关资源
      最近更新 更多