aboutsummaryrefslogtreecommitdiffstats
path: root/build-logic/src/main
AgeCommit message (Collapse)AuthorFilesLines
19 hoursbuild: 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>
21 hoursbuild: 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>
21 hoursbuild: 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
2023-05-24feat(build): use JVM toolchains to enforce Java 17 usageHarsh Shandilya4-15/+23
This simplifies project setup in both CI and for individual contributors
2023-05-20feat(build): move to AGP 8.2.xHarsh Shandilya1-7/+10
2023-05-16feat(build): raise target bytecode to Java 17Harsh Shandilya2-5/+5