From 883e05a58430a33b1521fbc842a4952827b2066f Mon Sep 17 00:00:00 2001 From: Prateek SU Date: Mon, 30 Aug 2021 17:18:06 +0530 Subject: [PATCH 1/4] Add Linux AppImage build to workflow, update packages and replace file_selector and lints with their successors, Fix Lint warnings --- .github/workflows/deploy.yml | 97 ++++++++----- .gitignore | 2 + analysis_options.yaml | 2 +- bin/test.dart | 10 -- create_appimage.sh | 42 ++++++ lib/main.dart | 14 +- lib/src/components/linux_folderpicker.dart | 126 ----------------- lib/src/models/download_manager.dart | 4 +- lib/src/search_bar.dart | 2 +- lib/src/services/search_service.dart | 4 +- .../widgets/downloads_view/download_tile.dart | 2 +- .../downloads_view/downloads_page.dart | 2 +- lib/src/widgets/home_page.dart | 1 - lib/src/widgets/search_view/streams_list.dart | 2 +- .../widgets/search_view/suggestion_list.dart | 2 +- lib/src/widgets/settings_page.dart | 7 +- linux/CMakeLists.txt | 10 ++ linux/flutter/CMakeLists.txt | 4 - linux/flutter/generated_plugin_registrant.cc | 6 +- linux/flutter/generated_plugin_registrant.h | 2 + linux/flutter/generated_plugins.cmake | 1 - linux/my_application.cc | 17 +-- pubspec.lock | 129 ++++++++---------- pubspec.yaml | 25 ++-- 24 files changed, 216 insertions(+), 297 deletions(-) delete mode 100644 bin/test.dart create mode 100755 create_appimage.sh delete mode 100644 lib/src/components/linux_folderpicker.dart diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 39ce3a2..d2b32fa 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -18,48 +18,73 @@ jobs: runs-on: windows-2019 steps: - - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup java - uses: actions/setup-java@v1 - with: - java-version: '12.x' - - - name: Setup flutter - uses: subosito/flutter-action@v1 - - - name: Enable desktop support - run: flutter config --enable-windows-desktop + - name: Checkout + uses: actions/checkout@v2 - - name: Doctor - run: flutter doctor -v + - name: Setup java + uses: actions/setup-java@v1 + with: + java-version: '12.x' + + - name: Setup flutter + uses: subosito/flutter-action@vmaster + + - name: Enable desktop support + run: flutter config --enable-windows-desktop + + - name: Doctor + run: flutter doctor -v + + - name: Get dependencies + run: flutter pub get - - name: Get dependencies - run: flutter pub get - - - name: Build windows - run: flutter build windows + - name: Build windows + run: flutter build windows + + - name: Build apk + run: flutter build apk + + - name: Upload apk artifacts + uses: actions/upload-artifact@v1 + with: + name: Youtube Downloader.apk + path: ./build/app/outputs/flutter-apk/app-release.apk + + - name: Compress Windows App + run: .\tool\compress.ps1 + shell: powershell + + + - name: Upload windows zip artifacts + uses: actions/upload-artifact@v1 + with: + name: Youtube Downloader - Windows.zip + path: Youtube Downloader.zip + + build-appimage: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Setup flutter + uses: subosito/flutter-action@master - - name: Build apk - run: flutter build apk + - name: Install dependencies + run: sudo apt-get update -y && sudo apt-get install -y ninja-build libgtk-3-dev - - name: Upload apk artifacts - uses: actions/upload-artifact@v1 - with: - name: Youtube Downloader.apk - path: ./build/app/outputs/flutter-apk/app-release.apk + - name: Enable desktop support + run: flutter config --enable-linux-desktop - - name: Compress Windows App - run: .\tool\compress.ps1 - shell: powershell + - name: Build Flutter app + run: flutter build linux + - name: Build AppImage + run: ./create_appimage.sh - - name: Upload windows zip artifacts - uses: actions/upload-artifact@v1 - with: - name: Youtube Downloader - Windows.zip - path: Youtube Downloader.zip + - name: Upload linux appimage to artifacts + uses: actions/upload-artifact@v1 + with: + name: Youtube Downloader - Linux.AppImage + path: youtube_downloader_flutter-x86_64.AppImage diff --git a/.gitignore b/.gitignore index 0fa6b67..c9d7624 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ .buildlog/ .history .svn/ +AppDir/ +*.AppImage # IntelliJ related *.iml diff --git a/analysis_options.yaml b/analysis_options.yaml index 55309e9..a3be6b8 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1 +1 @@ -include: package:lint/analysis_options.yaml +include: package:flutter_lints/flutter.yaml \ No newline at end of file diff --git a/bin/test.dart b/bin/test.dart deleted file mode 100644 index adb20c4..0000000 --- a/bin/test.dart +++ /dev/null @@ -1,10 +0,0 @@ - - -import 'dart:io'; - -import 'package:youtube_explode_dart/youtube_explode_dart.dart'; - -void main() { - final dir = Directory('/var/log/private/'); - print(dir.listSync()); -} \ No newline at end of file diff --git a/create_appimage.sh b/create_appimage.sh new file mode 100755 index 0000000..4c31a95 --- /dev/null +++ b/create_appimage.sh @@ -0,0 +1,42 @@ +#!/bin/sh + +# Create Application Directory +mkdir -p AppDir + +# Create AppRun file(required by AppImage) +echo '#!/bin/sh + +cd "$(dirname "$0")" +exec ./youtube_downloader_flutter' > AppDir/AppRun +sudo chmod +x AppDir/AppRun + +# Copy All build files to AppDir +cp -r build/linux/x64/release/bundle/* AppDir + +## Add Application metadata +# Copy app icon +sudo mkdir -p AppDir/usr/share/icons/hicolor/256x256/apps/ +cp android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png AppDir/youtube_downloader_flutter.png +sudo cp AppDir/youtube_downloader_flutter.png AppDir/usr/share/icons/hicolor/256x256/apps/youtube_downloader_flutter.png + +sudo mkdir -p AppDir/usr/share/applications + +# Either copy .desktop file content from file or with echo command +# cp assets/youtube_downloader_flutter.desktop AppDir/youtube_downloader_flutter.desktop + +echo '[Desktop Entry] +Version=1.0 +Type=Application +Name=Youtube downloader flutter +Icon=youtube_downloader_flutter +Exec=youtube_downloader_flutter %u +StartupWMClass=youtube_downloader_flutter +Categories=Utility;' > AppDir/youtube_downloader_flutter.desktop + +# Also copy the same .desktop file to usr folder +sudo cp AppDir/youtube_downloader_flutter.desktop AppDir/usr/share/applications/youtube_downloader_flutter.desktop + +## Start build +test ! -e appimagetool-x86_64.AppImage && curl -L https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -o appimagetool-x86_64.AppImage +sudo chmod +x appimagetool-x86_64.AppImage +ARCH=x86_64 ./appimagetool-x86_64.AppImage AppDir/ youtube_downloader_flutter-x86_64.AppImage \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index a8f0ffa..1f359be 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -23,15 +23,17 @@ void main() { SetProcessDpiAwareness(1); } } - runApp(MyApp()); + runApp(const MyApp()); } class MyApp extends StatelessWidget { + const MyApp({Key? key}) : super(key: key); + @override Widget build(BuildContext context) { return ProviderScope( observers: [MainObserver()], - child: AppInit(), + child: const AppInit(), ); } } @@ -40,24 +42,26 @@ class MainObserver implements ProviderObserver { @override void didAddProvider( ProviderBase provider, Object? value, ProviderContainer container) { - print('Added: $provider : $value(${value.runtimeType})'); + debugPrint('Added: $provider : $value(${value.runtimeType})'); } @override void didDisposeProvider(ProviderBase provider, ProviderContainer container) { - print('Disposed: $provider'); + debugPrint('Disposed: $provider'); } @override void didUpdateProvider(ProviderBase provider, Object? previousValue, Object? newValue, ProviderContainer container) { - print('Update: $provider : $newValue'); + debugPrint('Update: $provider : $newValue'); } } class AppInit extends HookConsumerWidget { static final scaffoldKey = GlobalKey(); + const AppInit({Key? key}) : super(key: key); + @override Widget build(BuildContext context, WidgetRef ref) { final fetched = useState(false); diff --git a/lib/src/components/linux_folderpicker.dart b/lib/src/components/linux_folderpicker.dart deleted file mode 100644 index ba4f3b5..0000000 --- a/lib/src/components/linux_folderpicker.dart +++ /dev/null @@ -1,126 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:path/path.dart' as path; - - -Future showFolderPicker(BuildContext context, String title, Directory startDir) { - return Navigator.of(context).push(MaterialPageRoute( - builder: (context) => - LinuxFolderPicker( - startDir: startDir, title: title) - )); -} - -class LinuxFolderPicker extends HookWidget { - final String title; - final Directory startDir; - - const LinuxFolderPicker({Key? key, required this.title, required this.startDir}) - : super(key: key); - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar(title: Text(title)), - body: FolderList(startDir: startDir), - ); - } -} - -class FolderList extends HookWidget { - final Directory startDir; - - const FolderList({Key? key, required this.startDir}) : super(key: key); - - @override - Widget build(BuildContext context) { - final currentDirState = useState(startDir); - final currentDir = currentDirState.value; - - final isRoot = currentDir.path == currentDir.parent.path; - - final dirs = [if (!isRoot) DirSpec('..', Directory(''))]; - var error = false; - - try { - dirs.addAll(currentDir - .listSync() - .where((e) => e.statSync().type == FileSystemEntityType.directory) - .map((e) { - final pathSegments = e.uri.pathSegments; - return DirSpec( - pathSegments[pathSegments.length - 2], Directory(e.path)); - })); - } on FileSystemException catch (e) { - error = true; - return Column( - children: [ - ListTile( - onTap: () { - currentDirState.value = currentDir.parent; - }, - title: const Text('..', style: TextStyle(fontSize: 20)), - leading: const Icon(Icons.arrow_upward_rounded), - ), - Text(e.osError?.message ?? 'Error', - style: Theme.of(context).textTheme.headline5), - ], - ); - } - - return Column( - children: [ - Expanded( - child: ListView.builder( - itemCount: dirs.length, - itemBuilder: (context, index) { - final dir = dirs[index]; - return ListTile( - onTap: () { - if (dir.name == '..') { - currentDirState.value = currentDir.parent; - return; - } - currentDirState.value = - Directory(path.join(currentDir.path, dir.name)); - }, - title: Text(dir.name, style: const TextStyle(fontSize: 20)), - leading: Icon(dir.name == '..' - ? Icons.arrow_upward_rounded - : Icons.folder), - ); - }), - ), - if (!error) - ListTile( - title: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: const [ - Icon( - Icons.check, - size: 25, - ), - SizedBox(width: 5), - Text('Select current directory', - style: TextStyle(fontSize: 20)), - ], - ), - onTap: () { - Navigator.pop(context, currentDir.path); - }) - ], - ); - } -} - -class DirSpec { - final String name; - final Directory directory; - - DirSpec(this.name, this.directory); - - DirSpec.fromDirectory(this.directory) - : name = directory.uri.pathSegments.last; -} diff --git a/lib/src/models/download_manager.dart b/lib/src/models/download_manager.dart index 169c70b..3fdc49e 100644 --- a/lib/src/models/download_manager.dart +++ b/lib/src/models/download_manager.dart @@ -305,7 +305,7 @@ class DownloadManagerImpl extends ChangeNotifier implements DownloadManager { process.stdout.listen((event) { final data = utf8.decode(event); - print('OUT: $data'); + debugPrint('OUT: $data'); final timeStr = RegExp(r'out_time_ms=(\d+)').firstMatch(data)?.group(1); if (timeStr == null) { @@ -578,7 +578,7 @@ class SingleTrack extends ChangeNotifier { void cancelDownload() { if (_cancelCallback == null) { - print('Tried to cancel an uncancellable video'); + debugPrint('Tried to cancel an uncancellable video'); return; } _cancelCallback!(); diff --git a/lib/src/search_bar.dart b/lib/src/search_bar.dart index 0299cf5..ad9a4a9 100644 --- a/lib/src/search_bar.dart +++ b/lib/src/search_bar.dart @@ -6,7 +6,7 @@ import 'package:youtube_downloader_flutter/src/widgets/search_view/search_result import 'widgets/search_view/suggestion_list.dart'; class SearchBar extends HookWidget { - const SearchBar(); + const SearchBar({Key? key}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/lib/src/services/search_service.dart b/lib/src/services/search_service.dart index b2e8aa2..187acd9 100644 --- a/lib/src/services/search_service.dart +++ b/lib/src/services/search_service.dart @@ -19,10 +19,10 @@ abstract class SearchService extends ChangeNotifier { factory SearchService(YoutubeExplode yt, String query) { final cid = ChannelId.parseChannelId(query); if (cid != null) { - print('Channel!'); + debugPrint('Channel!'); return _ChannelSearchServiceImpl(yt, cid); } - print('Video!'); + debugPrint('Video!'); return _VideoSearchServiceImpl(yt, query); } } diff --git a/lib/src/widgets/downloads_view/download_tile.dart b/lib/src/widgets/downloads_view/download_tile.dart index 9f305b5..7e58f58 100644 --- a/lib/src/widgets/downloads_view/download_tile.dart +++ b/lib/src/widgets/downloads_view/download_tile.dart @@ -112,7 +112,7 @@ class TrailingIcon extends HookConsumerWidget { icon: const Icon(Icons.folder_open), onPressed: () async { final res = await OpenFile.open(path.dirname(video.path)); - print('R: ${res.type} | M: ${res.message}'); + debugPrint('R: ${res.type} | M: ${res.message}'); }), IconButton( icon: const Icon(Icons.delete_forever), diff --git a/lib/src/widgets/downloads_view/downloads_page.dart b/lib/src/widgets/downloads_view/downloads_page.dart index 4c7b227..83ef90a 100644 --- a/lib/src/widgets/downloads_view/downloads_page.dart +++ b/lib/src/widgets/downloads_view/downloads_page.dart @@ -35,7 +35,7 @@ class DownloadsPage extends HookConsumerWidget { } class DownloadsAppBar extends HookWidget { - const DownloadsAppBar(); + const DownloadsAppBar({Key? key}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/lib/src/widgets/home_page.dart b/lib/src/widgets/home_page.dart index 8f34e9e..39fd42f 100644 --- a/lib/src/widgets/home_page.dart +++ b/lib/src/widgets/home_page.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import '../../main.dart'; import '../search_bar.dart'; import 'app_drawer.dart'; diff --git a/lib/src/widgets/search_view/streams_list.dart b/lib/src/widgets/search_view/streams_list.dart index a80ab1e..118613a 100644 --- a/lib/src/widgets/search_view/streams_list.dart +++ b/lib/src/widgets/search_view/streams_list.dart @@ -12,7 +12,7 @@ import '../../shared.dart'; class StreamsList extends HookConsumerWidget { final QueryVideo video; - StreamsList(this.video); + StreamsList(this.video, {Key? key}) : super(key: key); static const List> items = [ DropdownMenuItem( diff --git a/lib/src/widgets/search_view/suggestion_list.dart b/lib/src/widgets/search_view/suggestion_list.dart index 613c2d5..1249b62 100644 --- a/lib/src/widgets/search_view/suggestion_list.dart +++ b/lib/src/widgets/search_view/suggestion_list.dart @@ -8,7 +8,7 @@ class SuggestionList extends HookConsumerWidget { final String query; final void Function(String) callback; - const SuggestionList(this.query, this.callback); + const SuggestionList(this.query, this.callback, {Key? key}) : super(key: key); @override Widget build(BuildContext context, WidgetRef ref) { diff --git a/lib/src/widgets/settings_page.dart b/lib/src/widgets/settings_page.dart index fd35de8..ad3a600 100644 --- a/lib/src/widgets/settings_page.dart +++ b/lib/src/widgets/settings_page.dart @@ -1,4 +1,4 @@ -import 'package:file_selector/file_selector.dart'; +import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; @@ -51,7 +51,8 @@ class SettingsPage extends HookConsumerWidget { title: Text(intl.downloadDir), subtitle: Text(settings.state.downloadPath), onTap: () async { - final result = await getDirectoryPath(); + final result = await FilePicker.platform + .getDirectoryPath(dialogTitle: 'Choose Download Folder'); if (result?.isEmpty ?? true) { return; } @@ -103,7 +104,7 @@ class SettingsPage extends HookConsumerWidget { } class SettingsAppBar extends HookWidget { - const SettingsAppBar(); + const SettingsAppBar({Key? key}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt index 948cc4e..a1bbd01 100644 --- a/linux/CMakeLists.txt +++ b/linux/CMakeLists.txt @@ -8,6 +8,16 @@ cmake_policy(SET CMP0063 NEW) set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + # Configure build options. if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) set(CMAKE_BUILD_TYPE "Debug" CACHE diff --git a/linux/flutter/CMakeLists.txt b/linux/flutter/CMakeLists.txt index 6dc9705..33fd580 100644 --- a/linux/flutter/CMakeLists.txt +++ b/linux/flutter/CMakeLists.txt @@ -24,8 +24,6 @@ find_package(PkgConfig REQUIRED) pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) -pkg_check_modules(BLKID REQUIRED IMPORTED_TARGET blkid) -pkg_check_modules(LZMA REQUIRED IMPORTED_TARGET liblzma) set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") @@ -67,8 +65,6 @@ target_link_libraries(flutter INTERFACE PkgConfig::GTK PkgConfig::GLIB PkgConfig::GIO - PkgConfig::BLKID - PkgConfig::LZMA ) add_dependencies(flutter flutter_assemble) diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index 215e094..6adbd2c 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -2,16 +2,14 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" -#include #include #include void fl_register_plugins(FlPluginRegistry* registry) { - g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); - file_selector_plugin_register_with_registrar(file_selector_linux_registrar); g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); diff --git a/linux/flutter/generated_plugin_registrant.h b/linux/flutter/generated_plugin_registrant.h index 9bf7478..e0f0a47 100644 --- a/linux/flutter/generated_plugin_registrant.h +++ b/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 73c8db3..937e2cc 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -3,7 +3,6 @@ # list(APPEND FLUTTER_PLUGIN_LIST - file_selector_linux url_launcher_linux window_size ) diff --git a/linux/my_application.cc b/linux/my_application.cc index e099683..e955f57 100644 --- a/linux/my_application.cc +++ b/linux/my_application.cc @@ -29,16 +29,16 @@ static void my_application_activate(GApplication* application) { // if future cases occur). gboolean use_header_bar = TRUE; #ifdef GDK_WINDOWING_X11 - GdkScreen *screen = gtk_window_get_screen(window); + GdkScreen* screen = gtk_window_get_screen(window); if (GDK_IS_X11_SCREEN(screen)) { - const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); - if (g_strcmp0(wm_name, "GNOME Shell") != 0) { - use_header_bar = FALSE; - } + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } } #endif if (use_header_bar) { - GtkHeaderBar *header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); gtk_widget_show(GTK_WIDGET(header_bar)); gtk_header_bar_set_title(header_bar, "Youtube Downloader"); gtk_header_bar_set_show_close_button(header_bar, TRUE); @@ -64,7 +64,7 @@ static void my_application_activate(GApplication* application) { } // Implements GApplication::local_command_line. -static gboolean my_application_local_command_line(GApplication* application, gchar ***arguments, int *exit_status) { +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { MyApplication* self = MY_APPLICATION(application); // Strip out the first argument as it is the binary name. self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); @@ -83,7 +83,7 @@ static gboolean my_application_local_command_line(GApplication* application, gch } // Implements GObject::dispose. -static void my_application_dispose(GObject *object) { +static void my_application_dispose(GObject* object) { MyApplication* self = MY_APPLICATION(object); g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); G_OBJECT_CLASS(my_application_parent_class)->dispose(object); @@ -100,5 +100,6 @@ static void my_application_init(MyApplication* self) {} MyApplication* my_application_new() { return MY_APPLICATION(g_object_new(my_application_get_type(), "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, nullptr)); } diff --git a/pubspec.lock b/pubspec.lock index 866c614..242b240 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,14 +7,14 @@ packages: name: _fe_analyzer_shared url: "https://pub.dartlang.org" source: hosted - version: "22.0.0" + version: "24.0.0" analyzer: dependency: transitive description: name: analyzer url: "https://pub.dartlang.org" source: hosted - version: "1.7.1" + version: "2.1.0" args: dependency: transitive description: @@ -28,7 +28,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.1" + version: "2.8.2" auto_size_text: dependency: "direct main" description: @@ -42,7 +42,7 @@ packages: name: build url: "https://pub.dartlang.org" source: hosted - version: "2.0.3" + version: "2.1.0" build_config: dependency: transitive description: @@ -70,14 +70,14 @@ packages: name: build_runner url: "https://pub.dartlang.org" source: hosted - version: "2.0.6" + version: "2.1.1" build_runner_core: dependency: transitive description: name: build_runner_core url: "https://pub.dartlang.org" source: hosted - version: "7.0.1" + version: "7.1.0" built_collection: dependency: transitive description: @@ -91,7 +91,7 @@ packages: name: built_value url: "https://pub.dartlang.org" source: hosted - version: "8.1.1" + version: "8.1.2" characters: dependency: transitive description: @@ -148,13 +148,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.0.1" - cross_file: - dependency: transitive - description: - name: cross_file - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.1+4" crypto: dependency: transitive description: @@ -190,48 +183,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "6.1.2" - file_selector: + file_picker: dependency: "direct main" description: - name: file_selector - url: "https://pub.dartlang.org" - source: hosted - version: "0.8.2" - file_selector_linux: - dependency: "direct main" - description: - name: file_selector_linux - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.2+1" - file_selector_platform_interface: - dependency: transitive - description: - name: file_selector_platform_interface + name: file_picker url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" - file_selector_web: - dependency: transitive - description: - name: file_selector_web - url: "https://pub.dartlang.org" - source: hosted - version: "0.8.1+1" - file_selector_windows: - dependency: "direct main" - description: - name: file_selector_windows - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.2+1" - filepicker_windows: - dependency: "direct main" - description: - name: filepicker_windows - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" + version: "4.0.0" fixnum: dependency: transitive description: @@ -250,7 +208,7 @@ packages: name: flutter_ffmpeg url: "https://pub.dartlang.org" source: hosted - version: "0.4.0" + version: "0.4.2" flutter_hooks: dependency: "direct main" description: @@ -258,18 +216,32 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.18.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" flutter_localizations: dependency: "direct main" description: flutter source: sdk version: "0.0.0" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" flutter_riverpod: dependency: transitive description: name: flutter_riverpod url: "https://pub.dartlang.org" source: hosted - version: "1.0.0-dev.6" + version: "1.0.0-dev.7" flutter_web_plugins: dependency: transitive description: flutter @@ -288,7 +260,7 @@ packages: name: frontend_server_client url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.1.2" glob: dependency: transitive description: @@ -309,7 +281,7 @@ packages: name: hooks_riverpod url: "https://pub.dartlang.org" source: hosted - version: "1.0.0-dev.6" + version: "1.0.0-dev.7" html: dependency: transitive description: @@ -365,21 +337,21 @@ packages: name: json_annotation url: "https://pub.dartlang.org" source: hosted - version: "4.0.1" + version: "4.1.0" json_serializable: dependency: "direct dev" description: name: json_serializable url: "https://pub.dartlang.org" source: hosted - version: "4.1.4" - lint: - dependency: "direct dev" + version: "5.0.0" + lints: + dependency: transitive description: - name: lint + name: lints url: "https://pub.dartlang.org" source: hosted - version: "1.5.3" + version: "1.0.1" logging: dependency: transitive description: @@ -393,14 +365,14 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.10" + version: "0.12.11" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.7.0" mime: dependency: transitive description: @@ -491,14 +463,14 @@ packages: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "4.1.0" + version: "4.2.0" platform: dependency: transitive description: name: platform url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "3.0.2" plugin_platform_interface: dependency: transitive description: @@ -540,14 +512,14 @@ packages: name: riverpod url: "https://pub.dartlang.org" source: hosted - version: "1.0.0-dev.6" + version: "1.0.0-dev.7" shared_preferences: dependency: "direct main" description: name: shared_preferences url: "https://pub.dartlang.org" source: hosted - version: "2.0.6" + version: "2.0.7" shared_preferences_linux: dependency: transitive description: @@ -575,7 +547,7 @@ packages: name: shared_preferences_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.2" shared_preferences_windows: dependency: transitive description: @@ -609,6 +581,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.3" + source_helper: + dependency: transitive + description: + name: source_helper + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" source_span: dependency: transitive description: @@ -706,14 +685,14 @@ packages: name: url_launcher_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.0.4" url_launcher_windows: dependency: transitive description: name: url_launcher_windows url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.2" vector_math: dependency: transitive description: @@ -741,13 +720,13 @@ packages: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "2.2.5" + version: "2.2.8" window_size: dependency: "direct main" description: path: "plugins/window_size" ref: HEAD - resolved-ref: "67e0cb5101b2a023b87658d5ef6991556a964376" + resolved-ref: "1d9232e2c172992b74ba538851ffea26a0cb2640" url: "git://github.com/google/flutter-desktop-embedding.git" source: git version: "0.1.0" @@ -764,7 +743,7 @@ packages: name: xml url: "https://pub.dartlang.org" source: hosted - version: "5.1.2" + version: "5.2.0" yaml: dependency: transitive description: @@ -778,7 +757,7 @@ packages: name: youtube_explode_dart url: "https://pub.dartlang.org" source: hosted - version: "1.10.4" + version: "1.10.6" sdks: dart: ">=2.13.0 <3.0.0" flutter: ">=2.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index 647431a..3562099 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,34 +15,31 @@ dependencies: sdk: flutter flutter_hooks: ^0.18.0 - hooks_riverpod: ^1.0.0-dev.6 - youtube_explode_dart: ^1.10.4 + hooks_riverpod: ^1.0.0-dev.7 + youtube_explode_dart: ^1.10.6 stream_transform: ^2.0.0 path_provider: ^2.0.2 path: ^1.8.0 - shared_preferences: ^2.0.6 + shared_preferences: ^2.0.7 window_size: git: url: git://github.com/google/flutter-desktop-embedding.git path: plugins/window_size - win32: ^2.2.5 - filepicker_windows: ^2.0.0 + win32: ^2.2.8 auto_size_text: ^3.0.0-nullsafety.0 collection: ^1.15.0 - json_annotation: ^4.0.1 - url_launcher: ^6.0.3 + json_annotation: ^4.1.0 + url_launcher: ^6.0.9 intl: ^0.17.0 - flutter_ffmpeg: ^0.4.0 + flutter_ffmpeg: ^0.4.2 permission_handler: ^8.1.4+2 open_file: ^3.2.1 - file_selector_windows: ^0.0.2+1 - file_selector_linux: ^0.0.2+1 - file_selector: ^0.8.2 + file_picker: ^4.0.0 dev_dependencies: - build_runner: ^2.0.6 - json_serializable: ^4.1.1 - lint: ^1.5.3 + build_runner: ^2.1.1 + json_serializable: ^5.0.0 + flutter_lints: ^1.0.0 dependency_overrides: freezed_annotation: 0.14.2 From 656dddfd3b4f6fb11321f9a1a149c8d4099c8ada Mon Sep 17 00:00:00 2001 From: Prateek SU <41370460+prateekmedia@users.noreply.github.com> Date: Mon, 30 Aug 2021 17:30:35 +0530 Subject: [PATCH 2/4] Fix vmaster typo --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index d2b32fa..a599857 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -27,7 +27,7 @@ jobs: java-version: '12.x' - name: Setup flutter - uses: subosito/flutter-action@vmaster + uses: subosito/flutter-action@master - name: Enable desktop support run: flutter config --enable-windows-desktop From cea0069022ba083d5f129c0cd13beb03136d51f2 Mon Sep 17 00:00:00 2001 From: Prateek SU <41370460+prateekmedia@users.noreply.github.com> Date: Mon, 30 Aug 2021 17:34:08 +0530 Subject: [PATCH 3/4] fix ci error --- pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 3562099..3a7aa2c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -28,7 +28,7 @@ dependencies: win32: ^2.2.8 auto_size_text: ^3.0.0-nullsafety.0 collection: ^1.15.0 - json_annotation: ^4.1.0 + json_annotation: ^4.0.1 url_launcher: ^6.0.9 intl: ^0.17.0 flutter_ffmpeg: ^0.4.2 @@ -47,4 +47,4 @@ dependency_overrides: flutter: uses-material-design: true - generate: true \ No newline at end of file + generate: true From e8e547299c5467f80d64833577d68d9d0d6ecdc5 Mon Sep 17 00:00:00 2001 From: Prateek SU <41370460+prateekmedia@users.noreply.github.com> Date: Mon, 30 Aug 2021 17:42:15 +0530 Subject: [PATCH 4/4] Update pubspec.yaml --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 3a7aa2c..0c5a7f6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -38,7 +38,7 @@ dependencies: dev_dependencies: build_runner: ^2.1.1 - json_serializable: ^5.0.0 + json_serializable: ^4.1.1 flutter_lints: ^1.0.0 dependency_overrides: