summaryrefslogtreecommitdiffstats
path: root/build-logic/src
AgeCommit message (Collapse)AuthorFilesLines
24 hoursfeat(app): add an about screenDanilo M.1-0/+10
Version with build number, documentation and project links, Ko-fi, the privacy statement, the certificate this copy was really signed with, and the licenses. Debug builds also show the git commit, since a test build can share its version with a release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
28 hoursbuild: raise minSdk to 31Danilo M.1-1/+1
The project targets GrapheneOS, which only runs current Android. Android 12 gives the platform night mode API and removes the fingerprint dialog path that needs AppCompat. Devices below it stay on 0.2.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 hoursbuild(app): drop the View-era dependencies and view bindingDanilo M.2-8/+1
Nothing uses preference, recyclerview, recyclerview-selection, fastscroll or modernandroidpreferences since the Compose screens replaced the Views, nor view binding. fragment-ktx stays as the pin that keeps androidx.fragment at 1.8.4. The preference widget override, the multiselect attribute, the toolbar and bottom sheet styles and the lint ignores for deleted layouts go. Lint checks unused ids again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 daysbuild: drop the nonFree flavor, Sentry and Play ServicesDanilo M.4-86/+5
The fork targets GrapheneOS and ships only FOSS builds. The nonFree flavor added Sentry crash reporting, wired to upstream's Sentry project, and Play Services SMS one-time-code autofill, which needs Google's servers. Neither is wanted, so remove the flavor dimension entirely: - Delete app/src/nonFree, the SentryPlugin, the sentry-stub module, the Sentry and Play Services catalog entries, and the Sentry scope setup in Application. - Move the free AutofillSmsActivity stub into main; it keeps the SMS OTP feature off exactly as the free build did. A ponytail note marks the FillOtpFromSms paths for later removal. - SlimTests no longer needs to skip a nonFree variant. - Workflows and docs use :app:assembleDebug / :app:assembleRelease. A bare assembleRelease would also verify library modules in release mode, where ui:compose fails on a pre-existing AppCompat attribute reference the old flavored task never touched. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 daysbuild: update to Gradle 9.8.2, AGP 9.5.0, Kotlin 2.4.21, Hilt 2.60.1Danilo M.6-87/+22
AGP 9 migration: - Configure the shared Android setup through the new DSL (CommonExtension, ApplicationExtension) instead of the removed TestedExtension and BaseAppModuleExtension; targetSdk moves to the application extension. - Stop applying the Kotlin Android plugin; AGP 9 compiles Kotlin itself. - Replace kapt with KSP 2.3.13 for Hilt, which built-in Kotlin requires, and carry the Dagger compiler options over as KSP arguments. - AGP 9 now applies packaging excludes to unit-test resources, which stripped the diceware word list (**/*.txt) from its tests; lift that exclude in the diceware module. - Use resources.directories instead of the deprecated srcDir. Plugin updates required by Gradle 9 / AGP 9: Sentry Gradle plugin 6.25.0 (sentry-android 8.62.0), metalava plugin 0.5.1, maven-publish 0.37.0, spotless 8.10.4, version-catalog-update 1.1.2, download task 5.7.0, foojay resolver 1.0.0, with their API changes. Newer metalava models Kotlin properties, so autofill-parser/api.txt is regenerated; the diff is representation only, no API was added or removed. Fix new Kotlin 2.4 and lint findings (explicit return type in a function with an early return, UseKtx in autofill-parser), drop deprecated Kotlin Gradle properties, and make the AGENTS.md pre-commit command cover every task CI runs (both flavors, lint on all modules). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 daysbuild: update to Gradle 8.14.6, AGP 8.13.2, Kotlin 2.1.21, Hilt 2.58Danilo M.1-2/+0
Newest releases that still fit together on the Gradle 8 / AGP 8 line: - Kotlin stops at 2.1, the newest metadata Gradle 8's embedded Kotlin 2.0 compiler can read when compiling build-logic. - Hilt stops at 2.58; 2.59 and later require AGP 9. Hilt 2.52's annotation processor could not read Kotlin 2.1 metadata. Drop the languageVersion = 1.9 pin so code compiles with the K2 frontend; Kotlin 2.4 no longer accepts 1.9. Drop the R8 8.5.35 pin and its repository, which is older than the R8 AGP 8.13 bundles. Move the deprecated buildFeatures.androidResources flag to androidResources.enable, and replace Uri.parse with toUri for the new UseKtx lint check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2024-09-13fix(build): drop use of deprecated KAPT APIHarsh Shandilya1-1/+1
2024-08-20chore(deps): update dependency com.facebook:ktfmt to v0.52 (#3181)renovate[bot]1-1/+1
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-18fix: rework Crowdin integration (#3175)Harsh Shandilya6-242/+0
* chore: set up Crowdin configuration * fix(app): sync strings from Crowdin Closes #3174 * fix(ci): use crowdin/github-action instead of homebrew setup * fix(build): remove obsolete Crowdin plugin
2024-08-14chore: add missing copyright headers and update existing onesHarsh Shandilya31-16/+91
2024-08-14feat(build): replace homebrew ktfmt formatter with SpotlessHarsh Shandilya8-232/+44
Spotless has fixed their Gradle Configuration Cache woes in the past couple months which gets rid of my primary complaint.
2024-08-08fix(build): compile against SDK 35Harsh Shandilya1-1/+1
2024-07-30fix: remove useless Lint suppressionHarsh Shandilya1-2/+0
2024-06-14fix(deps): update ktfmt to 0.51Harsh Shandilya3-24/+17
2024-05-28chore: reformat with trailing commas changesHarsh Shandilya7-16/+8
2024-05-28fix(build): automatically manage trailing commas in ktfmtHarsh Shandilya1-2/+6
2024-05-22fix(deps): update kotlin and compose to v2 (major) (#3064)renovate[bot]1-28/+0
* fix(deps): update kotlin and compose to v2 * fix(build): switch to Kotlin Compose Compiler --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2024-05-08fix(deps): update kotlin and compose to v1.9.24 (#3043)renovate[bot]1-4/+8
* fix(deps): update kotlin and compose to v1.9.24 * fix(deps): upgrade Compose Compiler to 1.5.14-dev-k1.9.24-50022def4af * fix(build): enable Compose strong skipping --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2024-03-22fix(deps): upgrade everything to unstable tracksHarsh Shandilya1-1/+1
2024-03-22feat(build): add back dependency updates pluginHarsh Shandilya1-0/+34
2024-03-22refactor(build): migrate to java-semverHarsh Shandilya2-12/+12
2024-02-24fix(deps): go back to AGP 8.3.xHarsh Shandilya1-2/+3
2024-01-25fix(build): disable `ObsoleteLintCustomCheck` lintHarsh Shandilya1-0/+2
2024-01-22feat(build): remove dependency updates pluginHarsh Shandilya1-35/+0
Renovate handles this for us
2023-12-16fix(build): temporarily downgrade AGP to stable trackHarsh Shandilya1-2/+2
Fixes #2820
2023-12-15fix(build): disable all version update lintsHarsh Shandilya1-0/+2
2023-12-10fix: temporarily disable pre-launch biometric auth (#2803)Harsh Shandilya1-0/+2
* fix: temporarily disable pre-launch biometric auth Completely broken right now and prevents users from opening the app. Updates #2802 * fix: disable UnusedResources lint
2023-11-28feat: remove WhatTheStackHarsh Shandilya2-18/+0
This is pretty unmaintained
2023-11-28refactor(build): use typed catalog in build-logicHarsh Shandilya2-18/+10
2023-11-26fix(build): address `enableAndroidTest` deprecationHarsh Shandilya1-2/+2
2023-11-01fix(build): disable `TrulyRandom` lintHarsh Shandilya1-0/+2
2023-11-01fix(build): lower JVM compilation target to 17Harsh Shandilya1-1/+1
Lint does not understand Java 20 classes yet
2023-09-08fix(deps): update dependency com.slack.lint:slack-lint-checks to v0.5.0 (#2679)renovate[bot]1-3/+0
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2023-09-04fix(deps): update dependency com.hierynomus:sshj to v0.36.0 (#2670)renovate[bot]1-0/+3
* fix(deps): update dependency com.hierynomus:sshj to v0.36.0 * refactor(build): drop unnecessary explicit dependency * chore(idea): cruft * fix(app): ensure SLF4J v1 is used * fix(build): disable illegal BindsCanBeExtensionFunction lint * chore: refresh Lint baselines --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2023-08-26chore(build): require a Java 20 hostHarsh Shandilya1-1/+1
2023-07-22fix(build): only enable `-Werror` in CIHarsh Shandilya1-1/+1
2023-07-12feat(build): target API 34Harsh Shandilya1-2/+2
2023-07-12refactor(build): move dependency updates to a `Settings` pluginHarsh Shandilya1-15/+17
2023-07-07fix(build): only suppress compat check for Compose Compiler when requiredHarsh Shandilya1-7/+18
2023-07-06refactor(build): cleanup ktfmt codeHarsh Shandilya2-11/+1
2023-07-06fix(build): adjust ktfmt path filtering to allow formatting build.gradle.kts ↵Harsh Shandilya1-1/+1
files
2023-07-06feat(build): automatically handle Compose Compiler compatibility overrideHarsh Shandilya1-0/+19
2023-07-01fix(build): remove useless Java configuration for Gradle ToolchainsHarsh Shandilya1-2/+0
2023-07-01fix(build): remove JVM vendor preferenceHarsh Shandilya1-5/+1
2023-06-28fix(build): update `publicsuffix.org` pinned cert chainHarsh Shandilya1-3/+3
2023-06-15feat: adopt Kotlin 1.9 Enum entries featureHarsh Shandilya1-1/+1
2023-06-15fix(build): add default value for Sentry DSNHarsh Shandilya1-4/+2
2023-06-06fix(build): use base plugin for publishingHarsh Shandilya1-2/+5
2023-06-06fix(build): fully disable Sentry ProGuard by defaultHarsh Shandilya1-0/+3
2023-06-04feat: add `slack-lint-checks`Harsh Shandilya2-4/+11