Skip to content
Merged
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
28 changes: 18 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,42 @@

Android SDK for ThunderID. Provides authentication and user management for native Android applications.

- [Quickstart](https://thunderid.dev/docs/next/getting-started/connect-your-application/android/)
- [API reference](https://thunderid.dev/docs/next/sdks/android/overview/)

## Installation

### Gradle

![GitHub release](https://img.shields.io/github/v/release/thunder-id/android-sdks)

Make sure your project's `settings.gradle.kts` includes JitPack:

```kotlin
dependencies {
implementation("dev.thunderid:android:0.1.0")
dependencyResolutionManagement {
repositories {
maven("https://jitpack.io")
}
}
```
Comment on lines +14 to 22

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
printf '%s\n' '--- tracked files ---'
git ls-files | sed -n '1,120p'
printf '%s\n' '--- README excerpt ---'
cat -n README.md | sed -n '1,50p'
printf '%s\n' '--- Gradle repository declarations ---'
rg -n --glob '*.gradle' --glob '*.gradle.kts' 'google\(\)|mavenCentral\(\)|jitpack|repositories\s*\{' .
printf '%s\n' '--- README newline status ---'
python3 - <<'PY'
from pathlib import Path
p = Path("README.md")
b = p.read_bytes()
print({"exists": p.exists(), "ends_with_one_newline": b.endswith(b"\n") and not b.endswith(b"\n\n"), "trailing_newlines": len(b) - len(b.rstrip(b"\n"))})
PY

Repository: thunder-id/android-sdks

Length of output: 9351


🏁 Script executed:

#!/bin/bash
printf '%s\n' '--- root settings.gradle.kts ---'
cat -n settings.gradle.kts
printf '%s\n' '--- root build.gradle.kts ---'
cat -n build.gradle.kts | sed -n '1,180p'
printf '%s\n' '--- quickstart settings.gradle.kts ---'
cat -n samples/quickstart/settings.gradle.kts
printf '%s\n' '--- dependency declarations ---'
rg -n --glob '*.gradle.kts' 'implementation|api|compileOnly|androidTestImplementation|kotlin\(' .

Repository: thunder-id/android-sdks

Length of output: 6191


Keep the standard Gradle repositories in this example.

If users copy this block as their complete repository configuration, AndroidX and Compose dependencies cannot resolve. Keep google() and mavenCentral(), then add JitPack.

Proposed fix
 dependencyResolutionManagement {
     repositories {
+        google()
+        mavenCentral()
         maven("https://jitpack.io")
     }
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Make sure your project's `settings.gradle.kts` includes JitPack:
```kotlin
dependencies {
implementation("dev.thunderid:android:0.1.0")
dependencyResolutionManagement {
repositories {
maven("https://jitpack.io")
}
}
```
Make sure your project's `settings.gradle.kts` includes JitPack:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 14 - 22, Update the settings.gradle.kts repository
example to retain google() and mavenCentral() alongside
maven("https://jitpack.io") within dependencyResolutionManagement.repositories,
so standard AndroidX and Compose dependencies remain resolvable.


For Jetpack Compose UI components, also add:

```kotlin
dependencies {
implementation("dev.thunderid:compose:0.1.0")
implementation("com.github.thunder-id.android-sdks:android:<latest-release-tag>")
}
```

Make sure your project's `settings.gradle.kts` includes the ThunderID Maven repository:
For Jetpack Compose UI components, also add:

```kotlin
dependencyResolutionManagement {
repositories {
maven("https://maven.thunderid.dev/releases")
}
dependencies {
implementation("com.github.thunder-id.android-sdks:compose:<latest-release-tag>")
}
Comment on lines 24 to 35

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -e

printf '%s\n' '--- README.md ---'
sed -n '1,55p' README.md

printf '%s\n' '--- Gradle-related files ---'
git ls-files | grep -E '(^|/)(settings\.gradle(\.kts)?|build\.gradle(\.kts)?|gradle\.properties)$|(^|/)gradle/' || true

printf '%s\n' '--- Repository and dependency declarations ---'
rg -n --glob '!*build*' 'google\(\)|mavenCentral\(\)|jitpack|implementation\(|compose|android-sdks' .

printf '%s\n' '--- README newline status ---'
python3 - <<'PY'
from pathlib import Path
p = Path("README.md")
b = p.read_bytes()
print("exists:", p.exists())
print("ends_with_one_newline:", b.endswith(b"\n") and not b.endswith(b"\n\n"))
print("last_bytes:", repr(b[-8:]))
PY

Repository: thunder-id/android-sdks

Length of output: 50381


🏁 Script executed:

#!/bin/bash
set -e

printf '%s\n' '--- settings.gradle.kts ---'
cat -n settings.gradle.kts

printf '%s\n' '--- root build.gradle.kts ---'
cat -n build.gradle.kts

printf '%s\n' '--- sample dependency declarations ---'
rg -n -C 3 'implementation\(|api\(|project\(' samples/quickstart/build.gradle.kts

printf '%s\n' '--- Gradle project declarations ---'
rg -n 'include|includeBuild|project\(|group\s*=|publishing|maven-publish|archivesBaseName|artifactId' \
  settings.gradle.kts build.gradle.kts gradle.properties samples/quickstart/settings.gradle.kts \
  samples/quickstart/build.gradle.kts || true

printf '%s\n' '--- README trailing bytes ---'
python3 - <<'PY'
from pathlib import Path
b = Path("README.md").read_bytes()
print(repr(b[-16:]))
print("exactly_one_final_newline:", b.endswith(b"\n") and not b.endswith(b"\n\n"))
PY

Repository: thunder-id/android-sdks

Length of output: 4626


🌐 Web query:

JitPack single-module Maven coordinates custom groupId artifactId Gradle Android library

💡 Result:

To publish a single-module Android library on JitPack with custom Maven coordinates, you must configure the maven-publish plugin in your module's build file [1][2]. JitPack detects your library by building your project and looking for the artifacts produced during the build process [3][4][5]. Key steps to configure custom groupId and artifactId: 1. Enable the maven-publish plugin in your library's build.gradle or build.gradle.kts file [1][6]. 2. Configure the publishing block to specify your desired groupId, artifactId, and version [1][6][2]. 3. Ensure the project can run the task publishToMavenLocal successfully [2][5]. Example configuration in build.gradle (Groovy): plugins { id 'com.android.library' id 'maven-publish' } publishing { publications { release(MavenPublication) { groupId = 'com.yourcustom.group' artifactId = 'your-custom-artifact' version = '1.0.0' afterEvaluate { from components.release } } } } Important considerations: - Default Coordinates: If you do not explicitly define a groupId, JitPack defaults to com.github.Username:RepositoryName [7][8]. - Custom Domain: If you wish to use your own domain name as the groupId (e.g., com.yourcompany), you must map your domain to your GitHub organization using a DNS TXT record (git.yourcompany.com -> https://github.com/yourcompany) and verify it through the JitPack website [3][9][10]. - Build Requirements: JitPack builds tagged releases from your Git repository [4]. Ensure you have created a tag (e.g., v1.0.0) in your repository and that your project includes a Gradle wrapper [4][5]. - Consumption: Once built, you can include your library in other projects by adding the JitPack repository to your settings.gradle or build.gradle and specifying the dependency using your custom coordinates: implementation 'com.yourcustom.group:your-custom-artifact:1.0.0' [4][2].

Citations:


🏁 Script executed:

#!/bin/bash
set -e

printf '%s\n' '--- JitPack metadata for repository-style coordinates ---'
for url in \
  'https://jitpack.io/com/github/thunder-id/android-sdks/maven-metadata.xml' \
  'https://jitpack.io/com/github/thunder-id/android-sdks/android/maven-metadata.xml' \
  'https://jitpack.io/com/github/thunder-id/android-sdks/compose/maven-metadata.xml' \
  'https://jitpack.io/com/github/thunder-id/android-sdks/0.2.0/android-sdks-0.2.0.pom' \
  'https://jitpack.io/com/github/thunder-id/android-sdks/0.2.0/android-0.2.0.pom'
do
  printf '\nURL: %s\n' "$url"
  curl -L --max-time 15 -sS -o /tmp/jitpack-response -w 'HTTP %{http_code}\n' "$url"
  head -c 1000 /tmp/jitpack-response
  printf '\n'
done

Repository: thunder-id/android-sdks

Length of output: 3520


🏁 Script executed:

#!/bin/bash
set -e

for version in 0.2.0 v0.2.0 0.3.1 v0.3.1 v1.0.0; do
  for artifact in android-sdks android compose; do
    url="https://jitpack.io/com/github/thunder-id/android-sdks/${version}/${artifact}-${version}.pom"
    status="$(curl -L --max-time 15 -sS -o /tmp/jitpack-pom -w '%{http_code}' "$url")"
    printf '%-7s %-12s HTTP %s ' "$version" "$artifact" "$status"
    if [ "$status" = 200 ]; then
      sed -nE 's/.*<(groupId|artifactId|version)>([^<]+).*/\1=\2/p' /tmp/jitpack-pom | head -n 3 | tr '\n' ' '
    fi
    printf '\n'
  done
done

printf '%s\n' '--- Latest release metadata ---'
curl -L --max-time 15 -sS \
  'https://api.github.com/repos/thunder-id/android-sdks/releases/latest' |
  jq '{tag_name, name, draft, prerelease}'

printf '%s\n' '--- Current release tag tree indicators ---'
curl -L --max-time 15 -sS \
  'https://api.github.com/repos/thunder-id/android-sdks/git/refs/tags/v1.0.0' |
  jq '{ref, object}'

Repository: thunder-id/android-sdks

Length of output: 1159


Use the single-module JitPack coordinate.

The android and compose coordinates do not publish artifacts for the release tags. This project publishes one library that includes the Compose components. Use:

dependencies {
    implementation("com.github.thunder-id:android-sdks:<latest-release-tag>")
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 24 - 35, Update the README dependency examples to use
the single published JitPack coordinate
com.github.thunder-id:android-sdks:<latest-release-tag> for both standard
Android and Compose usage, removing the separate android and compose
coordinates.

```

> [!NOTE]
> Replace `<latest-release-tag>` with the [latest release tag](https://github.com/thunder-id/android-sdks/releases) of the `android-sdks` repository.

## License

This project is licensed under the [Apache License 2.0](https://github.com/thunder-id/thunderid/blob/main/LICENSE)
Loading