From b5f6dc0f0df09293346b2b830ca0a56974a0e782 Mon Sep 17 00:00:00 2001 From: Johann Bauer Date: Sat, 26 Feb 2022 17:11:22 +0100 Subject: [PATCH] Split "download translations" into own binary --- bin/download_translations.dart | 29 +++++++++++++++++++++++++++++ bin/release.dart | 24 ++---------------------- 2 files changed, 31 insertions(+), 22 deletions(-) create mode 100644 bin/download_translations.dart diff --git a/bin/download_translations.dart b/bin/download_translations.dart new file mode 100644 index 0000000..06b75b4 --- /dev/null +++ b/bin/download_translations.dart @@ -0,0 +1,29 @@ +import 'dart:io'; + +import 'package:archive/archive.dart'; +import 'package:archive/archive_io.dart'; +import 'package:dio/dio.dart'; + +Future translation() async { + var translation = await Dio() + .get("https://crowdin.com/backend/download/project/paperless-app.zip", + options: Options( + responseType: ResponseType.bytes, + )); + final archive = ZipDecoder().decodeBytes(translation.data); + for (final file in archive) { + final filename = file.name.split("strings-").last; + if (file.isFile) { + final data = file.content as List; + File('assets/locales/$filename') + ..createSync(recursive: true) + ..writeAsBytesSync(data); + } + } + print("Downloaded translations for ${archive.length / 2} languages"); +} + +void main(List arguments) async { + print("▶ Updating translations..."); + await translation(); +} diff --git a/bin/release.dart b/bin/release.dart index 3eb95b1..c9e66dc 100644 --- a/bin/release.dart +++ b/bin/release.dart @@ -1,9 +1,8 @@ import 'dart:io'; -import 'package:dio/dio.dart'; + import 'package:yaml/yaml.dart'; -import 'package:archive/archive.dart'; -import 'package:archive/archive_io.dart'; +import 'download_translations.dart'; var newVersion; @@ -39,25 +38,6 @@ Future version() async { } } -Future translation() async { - var translation = await Dio() - .get("https://crowdin.com/backend/download/project/paperless-app.zip", - options: Options( - responseType: ResponseType.bytes, - )); - final archive = ZipDecoder().decodeBytes(translation.data); - for (final file in archive) { - final filename = file.name.split("strings-").last; - if (file.isFile) { - final data = file.content as List; - File('assets/locales/$filename') - ..createSync(recursive: true) - ..writeAsBytesSync(data); - } - } - print("Downloaded translations for ${archive.length / 2} languages"); -} - Future build() async { var flutter = await Process.run( "flutter", ["build", "apk", "--split-per-abi"],