2017-03-24 13 views
1

注釈プロセッサをスプーンするように指定しようとしています 注釈プロセッサを取得する方法をスプーンに指定する方法を知りたいと思います。たとえば、私が 'com.neenbedankt.android-apt'を使用している場合、 'META-INF/services/javax.annotation.processing.Processor'ファイルの内部にクラス参照を指定する必要があります。私のGradleコードカスタマイズされた注釈の作成にスプーングラードプラグインを使用するプロセッサ

buildscript { 
    repositories { 
     jcenter() 
     mavenLocal() 
     maven { 
      url 'http://spoon.gforge.inria.fr/repositories/' 
     } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.0' 
     classpath group: 'fr.inria.gforge.spoon', 
       name: 'spoon-gradle-plugin', 
       version:'1.0-SNAPSHOT' 
     classpath files('build/classes/main') 


     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

apply plugin: 'java' 
apply plugin: 'spoon' 

spoon { 
    processors = ['com.craftman.spoonprocessor.CustomProcessor'] 
} 

以下である

は私のカスタム注釈プロセッサのコードが

ある
public class CustomProcessor extends AbstractAnnotationProcessor<DoInBackground,CtMethod> { 


     @Override 
     public void process(DoInBackground annotation, CtMethod method) { 
      /** 
       my logic 
      **/ 
     } 

    } 

答えて

1

私はよく理解していれば、あなたのプロセッサを使用するようにスプーンを指定しようとしていますGradleプラグインで。最も簡単な方法は、そこに記載されている説明に従うことです:https://github.com/SpoonLabs/spoon-gradle-plugin#how-to-add-processors。つまり、プロセッサのコードのみを含む特定のgradleモジュールを作成し、処理したいプロジェクトに表示されているGradleファイルとほぼ同じものを使用できます。新しいプロセッサモジュールへの依存性を追加するだけです。

buildscript { 
    repositories { 
     jcenter() 
     mavenLocal() 
     maven { 
      url 'http://spoon.gforge.inria.fr/repositories/' 
     } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.0' 
     classpath group: 'fr.inria.gforge.spoon', 
       name: 'spoon-gradle-plugin', 
       version:'1.0-SNAPSHOT' 
     // here you put your module dependency 
     classpath group: 'com.craftman.spoonprocessor', 
       name: 'customprocessor', 
       version: '1.0_SNAPSHOT' 
     classpath files('build/classes/main') 


     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

apply plugin: 'java' 
apply plugin: 'spoon' 

spoon { 
    processors = ['com.craftman.spoonprocessor.CustomProcessor'] 
} 

これは役に立ちます。

関連する問題