Коммит df7d95f5 создал по автору Зарубин Виталий Викторович's avatar Зарубин Виталий Викторович
Просмотр файлов

[flutter_image_picker_aurora][feature] Implement image_picker plugin.

владелец 82a8de62
......@@ -6,4 +6,5 @@
alias changeln='python3 ~/.local/opt/changeln.pyz'
changeln --conf ./packages/flutter_image_picker_aurora/changeln.yaml
changeln --conf ./packages/flutter_selector_aurora/changeln.yaml
......@@ -6,6 +6,11 @@ include:
# VALIDATE STAGE #
# # # # # # # # # # # #
flutter_image_picker_aurora_check_licenses:
variables:
PACKAGE_DIR: 'packages/flutter_image_picker_aurora'
extends: .check-licenses
flutter_selector_aurora_check_licenses:
variables:
PACKAGE_DIR: 'packages/flutter_selector_aurora'
......@@ -15,11 +20,21 @@ flutter_selector_aurora_check_licenses:
# ANALYZE STAGE #
# # # # # # # # # #
flutter_image_picker_aurora_analyze:
variables:
PACKAGE_DIR: 'packages/flutter_image_picker_aurora'
extends: .flutter-analyze
flutter_selector_aurora_analyze:
variables:
PACKAGE_DIR: 'packages/flutter_selector_aurora'
extends: .flutter-analyze
flutter_image_picker_aurora_check_format:
variables:
PACKAGE_DIR: 'packages/flutter_image_picker_aurora'
extends: .check-format
flutter_selector_aurora_check_format:
variables:
PACKAGE_DIR: 'packages/flutter_selector_aurora'
......@@ -29,6 +44,11 @@ flutter_selector_aurora_check_format:
# BUILD STAGE #
# # # # # # # # #
flutter_image_picker_aurora_build:
variables:
PACKAGE_DIR: 'packages/flutter_image_picker_aurora'
extends: .flutter-build
flutter_selector_aurora_build:
variables:
PACKAGE_DIR: 'packages/flutter_selector_aurora'
......@@ -38,6 +58,11 @@ flutter_selector_aurora_build:
# TEST STAGE #
# # # # # # # # #
flutter_image_picker_aurora_test:
variables:
PACKAGE_DIR: 'packages/flutter_image_picker_aurora'
extends: .flutter-test
flutter_selector_aurora_test:
variables:
PACKAGE_DIR: 'packages/flutter_selector_aurora'
......
......@@ -6,12 +6,19 @@ The Aurora implementation of `picker` plugins.
**Table of contents:**
- [Image picker➕ (`flutter_image_picker_aurora`)](#flutter_image_picker_aurora)
- [File selector➕ (`flutter_selector_aurora`)](#flutter_selector_aurora)
---
### `flutter_image_picker_aurora`
A Flutter plugin for picking images from the image library, and taking new pictures with the camera.
[[View Source](https://gitlab.com/omprussia/flutter/flutter-community-plugins/pickers_aurora/-/tree/master/packages/flutter_image_picker_aurora)]
### `flutter_selector_aurora`
A Flutter plugin that manages files and interactions with file dialogs.
[[View Source](https://gitlab.com/omprussia/flutter/flutter-community-plugins/pickers_aurora/-/tree/main/packages/flutter_selector_aurora)]
[[View Source](https://gitlab.com/omprussia/flutter/flutter-community-plugins/pickers_aurora/-/tree/master/packages/flutter_selector_aurora)]
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.build/
.buildlog/
.history
.svn/
.swiftpm/
migrate_working_dir/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
/pubspec.lock
**/doc/api/
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
build/
# flutter_image_picker_aurora
The Aurora implementation of [`image_picker`](https://pub.dev/packages/image_picker).
## Usage
This package is not an _endorsed_ implementation of `image_picker`.
Therefore, you have to include `flutter_image_picker_aurora`
alongside `image_picker` as dependencies in your `pubspec.yaml` file.
**pubspec.yaml**
```yaml
dependencies:
image_picker: ^1.1.2
flutter_image_picker_aurora:
git:
url: https://gitlab.com/omprussia/flutter/flutter-community-plugins/pickers_aurora.git
ref: aurora-flutter_image_picker_aurora-0.0.1
path: packages/flutter_image_picker_aurora
```
***.desktop**
```desktop
Permissions=Camera;UserDirs;Audio;Music
```
***.spec**
```spec
%global __requires_exclude ^lib(avcodec|avdevice|avfilter|avformat|avutil|swresample|swscale|yuv|ZXing|jpeg)\\.so.*$
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(streamcamera)
```
***.dart**
```dart
final navigatorKey = GlobalKey<NavigatorState>();
void main() {
FlutterImagePickerAurora.setGlobalKey(navigatorKey);
}
final XFile? file = await picker.pickImage(source: ImageSource.gallery);
```
# SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
# SPDX-License-Identifier: BSD-3-Clause
include: package:flutter_lints/flutter.yaml
analyzer:
exclude:
- lib/ffi/flutter_image_picker_aurora_lib_bindings.dart
# SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
# SPDX-License-Identifier: BSD-3-Clause
cmake_minimum_required(VERSION 3.10)
set(PLUGIN_NAME flutter_image_picker_aurora)
project(${PLUGIN_NAME} LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-psabi")
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
# Fix arch name
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
set(CMAKE_SYSTEM_PROCESSOR "armv7hl")
endif()
## Copy so file flutter_image_picker_aurora_lib
set(PLUGIN_LIB_NAME flutter_image_picker_aurora_lib)
set(PLUGIN_LIB_PATH ../src/${PLUGIN_LIB_NAME}/builds/${CMAKE_SYSTEM_PROCESSOR}/lib${PLUGIN_LIB_NAME}.so)
file(COPY ${PROJECT_SOURCE_DIR}/${PLUGIN_LIB_PATH} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../../bundle/lib)
###########
## Application configuration file Changeln
## Version config: 0.0.2
## Comment tags by which they will be searched
## and groups by which they will be analyzed.
commits:
Bug: '[flutter_image_picker_aurora][bug]'
Change: '[flutter_image_picker_aurora][change]'
Feature: '[flutter_image_picker_aurora][feature]'
## Path to mako template
template: ~/.changeln/changeln.mako
## Regular expression to break the comment into groups
## to format the comment output in the changelog in the
## "regex" variable.
##
## The empty value is not used.
parse: ''
## Filter tags using regular expressions
##
## The empty value is not used.
filter: '^(?!aurora-flutter_image_picker_aurora).*$'
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.build/
.buildlog/
.history
.svn/
.swiftpm/
migrate_working_dir/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.pub-cache/
.pub/
/build/
# Symbolication related
app.*.symbols
# Obfuscation related
app.*.map.json
# Android Studio will place build artifacts here
/android/app/debug
/android/app/profile
/android/app/release
# flutter_image_picker_aurora_example
Demonstrates how to use the flutter_image_picker_aurora plugin.
## Usage
Get dependency
```shell
flutter-aurora pub get
```
Build aurora application
```shell
flutter-aurora build aurora --release
```
# SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
# SPDX-License-Identifier: BSD-3-Clause
include: package:flutter_lints/flutter.yaml
# SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
# SPDX-License-Identifier: BSD-3-Clause
cmake_minimum_required(VERSION 3.10)
project(ru.auroraos.flutter_image_picker_aurora_example LANGUAGES CXX)
include(GNUInstallDirs)
set(BINARY_NAME ${CMAKE_PROJECT_NAME})
set(FLUTTER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/flutter)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "-Wall -Wextra")
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
set(CMAKE_SKIP_RPATH OFF)
set(CMAKE_INSTALL_RPATH "\$ORIGIN/../share/${BINARY_NAME}/lib")
find_package(PkgConfig REQUIRED)
pkg_check_modules(FlutterEmbedder REQUIRED IMPORTED_TARGET flutter-embedder)
add_executable(${BINARY_NAME} main.cpp ${FLUTTER_DIR}/generated_plugin_registrant.cpp)
target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::FlutterEmbedder)
target_include_directories(${BINARY_NAME} PRIVATE ${FLUTTER_DIR})
include(flutter/generated_plugins.cmake)
set(PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_DATADIR}/${BINARY_NAME})
set(DESKTOP_INSTALL_DIR ${CMAKE_INSTALL_DATADIR}/applications)
set(ICONS_INSTALL_ROOT_DIR ${CMAKE_INSTALL_DATADIR}/icons/hicolor)
add_custom_command(TARGET ${BINARY_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libflutter-embedder.so
${PROJECT_BINARY_DIR}/bundle/lib/libflutter-embedder.so)
install(FILES ${PROJECT_BINARY_DIR}/bundle/icudtl.dat DESTINATION ${PACKAGE_INSTALL_DIR})
install(DIRECTORY ${PROJECT_BINARY_DIR}/bundle/flutter_assets DESTINATION ${PACKAGE_INSTALL_DIR})
install(DIRECTORY ${PROJECT_BINARY_DIR}/bundle/lib DESTINATION ${PACKAGE_INSTALL_DIR})
install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES desktop/${BINARY_NAME}.desktop DESTINATION ${DESKTOP_INSTALL_DIR})
foreach(ICONS_SIZE 86x86 108x108 128x128 172x172)
install(FILES icons/${ICONS_SIZE}.png
RENAME ${BINARY_NAME}.png
DESTINATION ${ICONS_INSTALL_ROOT_DIR}/${ICONS_SIZE}/apps/)
endforeach(ICONS_SIZE)
[Desktop Entry]
Type=Application
Name=Flutter Image Picker
Comment=A Flutter plugin for picking images from the image library, and taking new pictures with the camera.
Icon=ru.auroraos.flutter_image_picker_aurora_example
Exec=/usr/bin/ru.auroraos.flutter_image_picker_aurora_example
X-Nemo-Application-Type=silica-qt5
[X-Application]
Permissions=Camera;UserDirs;Audio;Music
OrganizationName=ru.auroraos
ApplicationName=flutter_image_picker_aurora_example
/**
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <flutter/flutter_aurora.h>
#include "generated_plugin_registrant.h"
int main(int argc, char* argv[]) {
aurora::Initialize(argc, argv);
aurora::RegisterPlugins();
aurora::Launch();
return 0;
}
%global __provides_exclude_from ^%{_datadir}/%{name}/lib/.*$
%global __requires_exclude ^lib(avcodec|avdevice|avfilter|avformat|avutil|swresample|swscale|yuv|ZXing|jpeg|dconf|flutter-embedder|maliit-glib|.+_platform_plugin)\\.so.*$
Name: ru.auroraos.flutter_image_picker_aurora_example
Summary: A Flutter plugin for picking images from the image library, and taking new pictures with the camera.
Version: 0.0.1
Release: 1
License: Proprietary
Source0: %{name}-%{version}.tar.zst
BuildRequires: cmake
BuildRequires: ninja
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(streamcamera)
%description
%{summary}.
%prep
%autosetup
%build
%cmake -GNinja -DCMAKE_BUILD_TYPE=%{_flutter_build_type} -DPSDK_VERSION=%{_flutter_psdk_version} -DPSDK_MAJOR=%{_flutter_psdk_major}
%ninja_build
%install
%ninja_install
%files
%{_bindir}/%{name}
%{_datadir}/%{name}/*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать