summaryrefslogtreecommitdiffhomepage
path: root/tunnel/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'tunnel/build.gradle')
-rw-r--r--tunnel/build.gradle66
1 files changed, 66 insertions, 0 deletions
diff --git a/tunnel/build.gradle b/tunnel/build.gradle
index 54ef4d91..2a1b2103 100644
--- a/tunnel/build.gradle
+++ b/tunnel/build.gradle
@@ -1,5 +1,12 @@
+buildscript {
+ dependencies {
+ classpath "com.google.protobuf:protobuf-gradle-plugin:$protobufGradleVersion"
+ }
+}
+
plugins {
id 'com.android.library'
+ id 'com.google.protobuf' version "$protobufGradleVersion"
}
version wireguardVersionName
@@ -47,13 +54,72 @@ android {
lint {
disable 'LongLogTag', 'NewApi'
}
+ splits {
+ abi {
+ enable true
+ reset()
+ include "arm64-v8a", "armeabi-v7a"
+ universalApk false
+ }
+ }
}
dependencies {
+ implementation project(":bgp-java")
implementation "androidx.annotation:annotation:$annotationsVersion"
implementation "androidx.collection:collection:$collectionVersion"
+ implementation "io.grpc:grpc-okhttp:$grpcVersion"
+ implementation "io.grpc:grpc-protobuf-lite:$grpcVersion"
+ implementation "io.grpc:grpc-stub:$grpcVersion"
compileOnly "com.google.code.findbugs:jsr305:$jsr305Version"
+ compileOnly "javax.annotation:javax.annotation-api:1.2"
testImplementation "junit:junit:$junitVersion"
}
+protobuf {
+ protoc {
+ // You still need protoc like in the non-Android case
+ artifact = "com.google.protobuf:protoc:$protocVersion"
+ }
+ plugins {
+ grpc {
+ artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion"
+ }
+ }
+ generateProtoTasks {
+ all().each { task ->
+ task.builtins {
+ java {
+ option 'lite'
+ }
+ }
+ task.plugins {
+ grpc {
+ option 'lite'
+ }
+ }
+ }
+ }
+}
+
+afterEvaluate({ project ->
+ // All custom configurations created by the protobuf plugin,
+ // are only available at this point.
+ def protoc = configurations.getByName('protobufToolsLocator_protoc')
+
+ task copyProtoc(type: Copy) {
+ // Used by tunnel/tools/libwg-go/Makefile run in tools/CMakeLists.txt
+ from protoc
+ into "${gradle.gradleUserHomeDir}/caches/protoc-${protocVersion}"
+ rename 'protoc-.*', 'protoc'
+ fileMode 0775
+ }
+
+ preBuild.dependsOn copyProtoc
+
+ // Extract duration.proto used by external library in libwg.proto
+ preDebugBuild.dependsOn extractIncludeDebugProto
+ preReleaseBuild.dependsOn extractIncludeReleaseProto
+})
+
apply from: "publish.gradle"