summaryrefslogtreecommitdiffhomepage
path: root/tunnel/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'tunnel/build.gradle')
-rw-r--r--tunnel/build.gradle68
1 files changed, 63 insertions, 5 deletions
diff --git a/tunnel/build.gradle b/tunnel/build.gradle
index 0c18e05c..2a1b2103 100644
--- a/tunnel/build.gradle
+++ b/tunnel/build.gradle
@@ -1,19 +1,27 @@
+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
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+ namespace 'com.wireguard.android.tunnel'
defaultConfig {
minSdkVersion 21
- targetSdkVersion 31
+ targetSdkVersion 33
versionCode wireguardVersionCode
versionName wireguardVersionName
}
@@ -43,9 +51,8 @@ android {
}
}
}
- lintOptions {
- disable('LongLogTag')
- disable('NewApi') // Desugaring!
+ lint {
+ disable 'LongLogTag', 'NewApi'
}
splits {
abi {
@@ -58,10 +65,61 @@ android {
}
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"