Skip to content

Commit e0d7894

Browse files
authored
Flatpak generator: fix for XML version list
1 parent 47fa743 commit e0d7894

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

flatpak/flatpak_generator.dart

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,21 @@ class PackageGenerator {
133133

134134
// updates releases in ${appName}.appdata.xml
135135
class AppDataModifier {
136-
static String replaceVersions(String origAppDataContent, List<Release> versions) {
137-
final joinedReleases =
138-
versions.map((v) => '<release version="${v.version}" date="${v.date}">').join('\n');
139-
final releasesSection = '<releases>\n$joinedReleases\n</releases>';
136+
static String replaceVersions(
137+
String origAppDataContent, List<Release> versions) {
138+
final joinedReleases = versions
139+
.map((v) => '\t\t<release version="${v.version}" date="${v.date}" />')
140+
.join('\n');
141+
final releasesSection =
142+
'<releases>\n$joinedReleases\n\t</releases>';
140143
if (origAppDataContent.contains('<releases')) {
141-
return origAppDataContent.replaceFirst(
142-
RegExp('<releases.*</releases>', multiLine: true), releasesSection);
144+
return origAppDataContent
145+
.replaceAll('\n', '<~>')
146+
.replaceFirst(RegExp('<releases.*</releases>'), releasesSection)
147+
.replaceAll('<~>', '\n');
143148
} else {
144-
return origAppDataContent.replaceFirst('</component>', '$releasesSection\n</component>');
149+
return origAppDataContent.replaceFirst(
150+
'</component>', '\n\t$releasesSection\n</component>');
145151
}
146152
}
147153
}
@@ -236,7 +242,6 @@ class Icon {
236242
}
237243

238244
class SpecJson {
239-
//todo allow extra modules
240245
final String appId;
241246
final String lowercaseAppName;
242247
final List<Release> releases;
@@ -286,7 +291,7 @@ class SpecJson {
286291
return Icon(type: mapEntry.key as String, path: mapEntry.value as String);
287292
}).toList(),
288293
flatpakCommandsAfterUnpack:
289-
(json['buildCommandsAfterUnpack'] as List?)?.map((bc) => bc as String)?.toList(),
294+
(json['buildCommandsAfterUnpack'] as List?)?.map((bc) => bc as String).toList(),
290295
linuxArmReleaseBundleDirPath: json['linuxArmReleaseBundleDirPath'] as String?,
291296
extraModules: json['extraModules'] as List?,
292297
finishArgs: (json['finishArgs'] as List).map((fa) => fa as String).toList(),

0 commit comments

Comments
 (0)