Skip to content

Commit 120052c

Browse files
committed
Some small improvements to the flatpak scripts
1 parent adccd66 commit 120052c

File tree

4 files changed

+22
-33
lines changed

4 files changed

+22
-33
lines changed

flatpak/flatpak_meta.json

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,10 @@
44
"githubReleaseOrganization": "wger-project",
55
"githubReleaseProject": "flutter",
66
"localReleases": [
7-
{
8-
"version": "1.5.3",
9-
"date": "2023-03-16"
10-
}
7+
118
],
129
"localReleaseAssets": [
13-
{
14-
"arch": "x86_64",
15-
"tarballPath": "./scripts/flatpak_generator exports/wger-linux-x86_64.tar.gz"
16-
}
10+
1711
],
1812
"localLinuxBuildDir": "../build/linux",
1913
"appDataPath": "de.wger.flutter.appdata.xml",

flatpak/scripts/flatpak_packager.dart

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@ void main(List<String> arguments) async {
3030

3131
final fetchFromGithub = arguments.contains('--github');
3232

33-
final outputDir = Directory('${Directory.current.path}/flatpak_generator exports');
33+
final outputDir = Directory('${Directory.current.path}/flatpak_generator_exports');
3434
outputDir.createSync();
3535

3636
final packageGenerator = PackageGenerator(inputDir: metaFile.parent, meta: meta);
3737

38-
if (PackageGenerator.runningOnARM()) {
39-
await packageGenerator.generatePackage(outputDir, CPUArchitecture.aarch64, fetchFromGithub);
40-
} else {
41-
await packageGenerator.generatePackage(outputDir, CPUArchitecture.x86_64, fetchFromGithub);
42-
}
38+
packageGenerator.generatePackage(
39+
outputDir,
40+
PackageGenerator.runningOnARM() ? CPUArchitecture.aarch64 : CPUArchitecture.x86_64,
41+
fetchFromGithub,
42+
);
4343
}
4444

4545
class PackageGenerator {
@@ -101,17 +101,20 @@ class PackageGenerator {
101101
final destDir = Directory('${tempDir.path}/bin');
102102
destDir.createSync();
103103

104-
final packagePath =
105-
'${outputDir.absolute.path}/${meta.lowercaseAppName}-linux-${arch.flatpakArchCode}.tar.gz';
104+
final baseFileName = '${meta.lowercaseAppName}-linux-${arch.flatpakArchCode}';
106105

106+
final packagePath = '${outputDir.absolute.path}/$baseFileName.tar.gz';
107107
Process.runSync('cp', ['-r', '${buildDir.absolute.path}/.', destDir.absolute.path]);
108108
Process.runSync('tar', ['-czvf', packagePath, '.'], workingDirectory: tempDir.absolute.path);
109-
110109
print('Generated $packagePath');
111110

112111
final preShasum = Process.runSync('shasum', ['-a', '256', packagePath]);
112+
final sha256 = preShasum.stdout.toString().split(' ').first;
113+
114+
final shaFile = await File('${outputDir.path}/$baseFileName.sha256').writeAsString(sha256);
115+
print('Generated ${shaFile.path}');
113116

114-
shaByArch.putIfAbsent(arch, () => preShasum.stdout.toString().split(' ').first);
117+
shaByArch.putIfAbsent(arch, () => sha256);
115118

116119
tempDir.deleteSync(recursive: true);
117120
}

flatpak/scripts/flatpak_shared.dart

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class GithubReleases {
5353
List<Release>? _releases;
5454
List<ReleaseAsset>? _latestReleaseAssets;
5555

56-
GithubReleases(this.githubReleaseOrganization, this.githubReleaseProject) {}
56+
GithubReleases(this.githubReleaseOrganization, this.githubReleaseProject);
5757

5858
Future<List<Release>> getReleases() async {
5959
if (_releases == null) {
@@ -84,7 +84,7 @@ class GithubReleases {
8484
await Future.forEach<dynamic>(decodedJson, (dynamic releaseDynamic) async {
8585
final releaseMap = releaseDynamic as Map;
8686

87-
final releaseDateAndTime = DateTime.parse((releaseMap['published_at'] as String));
87+
final releaseDateAndTime = DateTime.parse(releaseMap['published_at'] as String);
8888
final releaseDateString = releaseDateAndTime.toIso8601String().split('T').first;
8989

9090
if (latestReleaseAssetDate == null ||
@@ -167,16 +167,7 @@ class GithubReleases {
167167
}
168168

169169
Future<String> _readSha(String shaUrl) async {
170-
final urlSplitByScheme = shaUrl.split('://');
171-
final urlWithoutScheme = urlSplitByScheme.last;
172-
final firstSlashIndex = urlWithoutScheme.indexOf('/');
173-
return (await http.get(Uri(
174-
scheme: urlSplitByScheme.first,
175-
host: urlWithoutScheme.substring(0, firstSlashIndex),
176-
path: urlWithoutScheme.substring(firstSlashIndex))))
177-
.body
178-
.split(' ')
179-
.first;
170+
return (await http.get(Uri.parse(shaUrl))).body.split(' ').first;
180171
}
181172
}
182173

@@ -246,7 +237,7 @@ class FlatpakMeta {
246237
throw Exception(
247238
'Metadata must include Github repository info if fetching releases from Github.');
248239
}
249-
return await _githubReleases!.getLatestReleaseAssets();
240+
return _githubReleases!.getLatestReleaseAssets();
250241
} else {
251242
if (_localReleases == null) {
252243
throw Exception('Metadata must include releases if not fetching releases from Github.');

flatpak/scripts/manifest_generator.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'dart:convert';
22
import 'dart:io';
3+
34
import 'flatpak_shared.dart';
45

56
void main(List<String> arguments) async {
@@ -25,7 +26,7 @@ void main(List<String> arguments) async {
2526

2627
final fetchFromGithub = arguments.contains('--github');
2728

28-
final outputDir = Directory('${Directory.current.path}/flatpak_generator exports');
29+
final outputDir = Directory('${Directory.current.path}/flatpak_generator_exports');
2930
outputDir.createSync();
3031

3132
final manifestGenerator = FlatpakManifestGenerator(meta);
@@ -37,7 +38,7 @@ void main(List<String> arguments) async {
3738

3839
final flathubJsonContent = await manifestGenerator.generateFlathubJson(fetchFromGithub);
3940
if (flathubJsonContent != null) {
40-
final flathubJsonPath = '${outputDir.path}/flathub.json}';
41+
final flathubJsonPath = '${outputDir.path}/flathub.json';
4142
final flathubJsonFile = File(flathubJsonPath);
4243
flathubJsonFile.writeAsStringSync(flathubJsonContent);
4344
print('Generated $flathubJsonPath');

0 commit comments

Comments
 (0)