Skip to content
This repository was archived by the owner on Jun 9, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
[![Documentation](https://img.shields.io/badge/documentation-kdoc-brightgreen)](https://bitfireat.github.io/vcard4android/)
[![Jitpack link](https://img.shields.io/jitpack/version/com.github.bitfireAT/vcard4android)](https://jitpack.io/#bitfireAT/vcard4android)

_This software is not affiliated to, nor has it been authorized, sponsored or otherwise approved
by Google LLC. Android is a trademark of Google LLC._


# vcard4android

Expand All @@ -13,15 +16,15 @@ It's a framework for
from/into data classes that are compatible with the Android Contacts Provider, and
* accessing the Android Contacts Provider by a unified API.

It has been primarily developed for [DAVx⁵](https://www.davx5.com) and is currently intended
to be used as git submodule.
It has been primarily developed for [DAVx⁵](https://www.davx5.com).

_This software is not affiliated to, nor has it been authorized, sponsored or otherwise approved
by Google LLC. Android is a trademark of Google LLC._
To view the available gradle tasks for the library: `./gradlew vcard4android:tasks`
(the `vcard4android` module is defined in `settings.gradle`).

Generated KDoc: https://bitfireat.github.io/vcard4android/



## Contact

```
Expand Down
10 changes: 5 additions & 5 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
[versions]
agp = "8.7.1"
androidx-annotation = "1.8.2"
agp = "8.9.1"
androidx-annotation = "1.9.1"
androidx-test-runner = "1.6.2"
androidx-rest-rules = "1.6.1"
desugar = "2.1.2"
desugar = "2.1.5"
dokka = "1.9.20"
ezvcard = "0.12.1"
guava = "33.3.1-android"
kotlin = "2.0.21"
guava = "33.4.8-android"
kotlin = "2.1.20"
junit = "4.13.2"

[libraries]
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
18 changes: 12 additions & 6 deletions lib/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ android {
aarMetadata {
minCompileSdk = 29
}

// These ProGuard/R8 rules will be included in the final APK.
consumerProguardFiles("consumer-rules.pro")
}

compileOptions {
Expand All @@ -25,18 +28,21 @@ android {
jvmToolchain(21)
}

buildTypes {
release {
isMinifyEnabled = false
}
}

packaging {
resources {
excludes += listOf("LICENSE", "META-INF/LICENSE.txt", "META-INF/NOTICE.txt")
}
}

buildTypes {
release {
// Android libraries shouldn't be minified:
// https://developer.android.com/studio/projects/android-library#Considerations
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"))
}
}

lint {
disable += listOf("AllowBackup", "InvalidPackage")
}
Expand Down
8 changes: 8 additions & 0 deletions lib/consumer-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

# keep all vCard properties/parameters (used via reflection)
-keep class ezvcard.io.scribe.** { *; }
-keep class ezvcard.property.** { *; }
-keep class ezvcard.parameter.** { *; }

# AGP seems to remove this class, but ezvcard.io uses it. See https://github.com/bitfireAT/davx5/issues/499
-keep class javax.xml.namespace.QName { *; }
4 changes: 2 additions & 2 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ dependencyResolutionManagement {
}
}

rootProject.name = "vcard4android"
include (":lib")
rootProject.name = "root"
include(":lib")
project(":lib").name = "vcard4android"
Loading