2017-03-25 4 views
0

コードやスクリプトから興味深いクラスを強化できますか?私はgradleを使用しており、それは箱のソリューションがないと思われる。また、私はEBeanのバージョン10.xを使用しています。これはGradleの中で行うことができるEbean ORM - 手作業でクラスを改善する

答えて

0

一つの方法:

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) 
    } 
} 

私は、それゆえ私のプロジェクトでgroovyCompileをGROOVYを使用しています。

関連する問題