44 lines
1.9 KiB
Dart
44 lines
1.9 KiB
Dart
|
|
// How Halkyon Todo is released (`dart run tool/release.dart todo`): the
|
||
|
|
// release tool's configuration of it, registered in tool/src/release/apps.dart.
|
||
|
|
import '../../tool/src/release/app_release.dart';
|
||
|
|
|
||
|
|
/// Halkyon Todo's releases (ADR 0033, step 5): the APK and the snap, both
|
||
|
|
/// connecting to todo.halkyon.eu, published on code.halkyon.app, the APK in
|
||
|
|
/// the project's F-Droid repository beside Learn and Train.
|
||
|
|
const todoRelease = AppRelease(
|
||
|
|
id: 'todo',
|
||
|
|
name: 'Halkyon Todo',
|
||
|
|
applicationId: 'app.halkyon.todo',
|
||
|
|
directory: 'apps/todo',
|
||
|
|
flutterPackage: 'apps/todo/halkyon_todo_flutter',
|
||
|
|
artifactName: 'halkyon-todo',
|
||
|
|
serverUrl: 'https://todo.halkyon.eu/',
|
||
|
|
forgejo: 'https://code.halkyon.app',
|
||
|
|
repository: 'project-halkyon/halkyon',
|
||
|
|
// A PKCS #12 keystore of its own outside the repository (also in the
|
||
|
|
// maintainer's password manager), as Learn's and Train's: it is the app's
|
||
|
|
// identity, and lost, installed apps can't be updated; one key for several
|
||
|
|
// apps would let either's build pass for the other's update.
|
||
|
|
android: AndroidSigning(
|
||
|
|
certificateFile: 'tool/release/todo-android-certificate.sha256',
|
||
|
|
keystoreVariable: 'HALKYON_TODO_ANDROID_KEYSTORE',
|
||
|
|
defaultKeystore: '.local/share/halkyon-todo/android-release.p12',
|
||
|
|
aliasVariable: 'HALKYON_TODO_ANDROID_KEY_ALIAS',
|
||
|
|
defaultAlias: 'halkyon-todo',
|
||
|
|
),
|
||
|
|
fdroid: FdroidListing(
|
||
|
|
script: 'tool/fdroid_repo.sh',
|
||
|
|
listing: 'tool/release/fdroid',
|
||
|
|
indexCertificateFile: 'tool/release/fdroid-index-certificate.sha256',
|
||
|
|
repositoryUrl: 'https://halkyon.app/fdroid/repo',
|
||
|
|
),
|
||
|
|
// Built in a clone of its own (`SnapRelease.projectPath`), as the root's
|
||
|
|
// snap/ is Learn's. To the Store's edge channel, as Learn's, once the
|
||
|
|
// name is registered (`snapcraft register halkyon-todo`).
|
||
|
|
snap: SnapRelease(
|
||
|
|
name: 'halkyon-todo',
|
||
|
|
part: 'halkyon-todo',
|
||
|
|
directory: 'apps/todo/snap',
|
||
|
|
storeChannel: 'edge',
|
||
|
|
),
|
||
|
|
);
|