ここにワイヤ用の gradle プラグインがあります: https://github.com/square/wire-gradle-plugin。ただし、まだゴールデンタイムの準備が整っていないようです。私はそれを機能させるのに苦労しました。
しかし、ワイヤ コンパイラを直接使用し、単純な gradle タスクを使用して、*.proto ファイルから Java コードの生成を自動化する方法を次に示します。build.gradle に変更を加えたスニペットを以下に示します。ソース レイアウトに基づいて、protoPath と wireGeneratedPath を変更します。
def protoPath = 'src/proto'
def wireGeneratedPath = 'build/generated/source/wire'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.squareup.wire:wire-compiler:2.2.0'
}
}
android {
sourceSets {
main {
java {
include wireGeneratedPath
}
}
}
}
dependencies {
compile 'com.squareup.wire:wire-runtime:2.2.0'
// Leave this out if you're not doing integration testing...
androidTestCompile 'com.squareup.wire:wire-runtime:2.2.0'
}
// This handles the protocol buffer generation with wire
task generateWireClasses {
description = 'Generate Java classes from protocol buffer (.proto) schema files for use with squareup\'s wire library'
delete(wireGeneratedPath)
fileTree(dir: protoPath, include: '**/*.proto').each { File file ->
doLast {
javaexec {
main = 'com.squareup.wire.WireCompiler'
classpath = buildscript.configurations.classpath
args = ["--proto_path=${protoPath}", "--java_out=${wireGeneratedPath}", "${file}"]
}
}
}
}
preBuild.dependsOn generateWireClasses