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, 65 insertions, 1 deletions
diff --git a/tunnel/build.gradle b/tunnel/build.gradle
index ff1aad19..148e89ca 100644
--- a/tunnel/build.gradle
+++ b/tunnel/build.gradle
@@ -1,16 +1,25 @@
+buildscript {
+ dependencies {
+ classpath "com.google.protobuf:protobuf-gradle-plugin:$protobufGradleVersion"
+ }
+}
+
plugins {
id 'com.android.library'
+ id 'com.google.protobuf' version "$protobufGradleVersion"
}
version wireguardVersionName
group groupName
android {
- compileSdkVersion 31
+ compileSdk 33
+ ndkVersion '21.4.7075529'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+ namespace 'com.wireguard.android.tunnel'
defaultConfig {
minSdkVersion 21
targetSdkVersion 31
@@ -47,13 +56,68 @@ android {
disable('LongLogTag')
disable('NewApi') // Desugaring!
}
+ ndkVersion "21.3.6528147"
+ splits {
+ abi {
+ enable true
+ reset()
+ include "arm64-v8a", "armeabi-v7a"
+ universalApk false
+ }
+ }
}
dependencies {
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
+})
+
apply from: "publish.gradle"