From aba22fb123ffe0676cb7c811e64903b26a84c5c0 Mon Sep 17 00:00:00 2001 From: Gregory Conrad Date: Thu, 8 Aug 2024 21:52:05 -0400 Subject: [PATCH] dummy commit --- packages/flutter_mimir/example/.gitignore | 2 + packages/flutter_mimir/example/.metadata | 29 +- .../macos/Flutter/Flutter-Debug.xcconfig | 1 - .../macos/Flutter/Flutter-Release.xcconfig | 1 - packages/flutter_mimir/example/macos/Podfile | 40 --- .../flutter_mimir/example/macos/Podfile.lock | 28 -- .../macos/Runner.xcodeproj/project.pbxproj | 208 ++++++++++---- .../xcshareddata/xcschemes/Runner.xcscheme | 39 ++- .../contents.xcworkspacedata | 3 - .../example/macos/Runner/AppDelegate.swift | 6 +- .../macos/Runner/Configs/AppInfo.xcconfig | 6 +- .../macos/Runner/DebugProfile.entitlements | 6 - .../macos/Runner/MainFlutterWindow.swift | 2 +- .../example/macos/Runner/Release.entitlements | 7 +- .../macos/RunnerTests/RunnerTests.swift | 12 + packages/flutter_mimir/macos/.gitignore | 3 - .../macos/Classes/EnforceBundling.swift | 4 - packages/flutter_mimir/macos/Classes/frb.h | 271 ------------------ .../flutter_mimir/macos/flutter_mimir.podspec | 37 --- .../{ => flutter_mimir}/Frameworks/.gitkeep | 0 .../macos/flutter_mimir/Package.swift | 39 +++ .../macos/flutter_mimir/fetch-binary.sh | 22 ++ packages/mimir/lib/src/interface.dart | 8 +- scripts/build-apple.sh | 2 +- scripts/version.sh | 8 +- 25 files changed, 283 insertions(+), 501 deletions(-) delete mode 100644 packages/flutter_mimir/example/macos/Podfile delete mode 100644 packages/flutter_mimir/example/macos/Podfile.lock create mode 100644 packages/flutter_mimir/example/macos/RunnerTests/RunnerTests.swift delete mode 100644 packages/flutter_mimir/macos/.gitignore delete mode 100644 packages/flutter_mimir/macos/Classes/EnforceBundling.swift delete mode 100644 packages/flutter_mimir/macos/Classes/frb.h delete mode 100644 packages/flutter_mimir/macos/flutter_mimir.podspec rename packages/flutter_mimir/macos/{ => flutter_mimir}/Frameworks/.gitkeep (100%) create mode 100644 packages/flutter_mimir/macos/flutter_mimir/Package.swift create mode 100644 packages/flutter_mimir/macos/flutter_mimir/fetch-binary.sh diff --git a/packages/flutter_mimir/example/.gitignore b/packages/flutter_mimir/example/.gitignore index 24476c5d..6c319542 100644 --- a/packages/flutter_mimir/example/.gitignore +++ b/packages/flutter_mimir/example/.gitignore @@ -5,9 +5,11 @@ *.swp .DS_Store .atom/ +.build/ .buildlog/ .history .svn/ +.swiftpm/ migrate_working_dir/ # IntelliJ related diff --git a/packages/flutter_mimir/example/.metadata b/packages/flutter_mimir/example/.metadata index 083a42e9..bb70e78c 100644 --- a/packages/flutter_mimir/example/.metadata +++ b/packages/flutter_mimir/example/.metadata @@ -1,11 +1,11 @@ # This file tracks properties of this Flutter project. # Used by Flutter tool to assess capabilities and perform upgrades etc. # -# This file should be version controlled. +# This file should be version controlled and should not be manually edited. version: - revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - channel: stable + revision: "76107bdf509f3cc4e37a46f31508a900f3007d79" + channel: "main" project_type: app @@ -13,26 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - - platform: android - create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - - platform: ios - create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - - platform: linux - create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + create_revision: 76107bdf509f3cc4e37a46f31508a900f3007d79 + base_revision: 76107bdf509f3cc4e37a46f31508a900f3007d79 - platform: macos - create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - - platform: web - create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - - platform: windows - create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf - base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + create_revision: 76107bdf509f3cc4e37a46f31508a900f3007d79 + base_revision: 76107bdf509f3cc4e37a46f31508a900f3007d79 # User provided section diff --git a/packages/flutter_mimir/example/macos/Flutter/Flutter-Debug.xcconfig b/packages/flutter_mimir/example/macos/Flutter/Flutter-Debug.xcconfig index 4b81f9b2..c2efd0b6 100644 --- a/packages/flutter_mimir/example/macos/Flutter/Flutter-Debug.xcconfig +++ b/packages/flutter_mimir/example/macos/Flutter/Flutter-Debug.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/flutter_mimir/example/macos/Flutter/Flutter-Release.xcconfig b/packages/flutter_mimir/example/macos/Flutter/Flutter-Release.xcconfig index 5caa9d15..c2efd0b6 100644 --- a/packages/flutter_mimir/example/macos/Flutter/Flutter-Release.xcconfig +++ b/packages/flutter_mimir/example/macos/Flutter/Flutter-Release.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/flutter_mimir/example/macos/Podfile b/packages/flutter_mimir/example/macos/Podfile deleted file mode 100644 index 049abe29..00000000 --- a/packages/flutter_mimir/example/macos/Podfile +++ /dev/null @@ -1,40 +0,0 @@ -platform :osx, '10.14' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_macos_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/packages/flutter_mimir/example/macos/Podfile.lock b/packages/flutter_mimir/example/macos/Podfile.lock deleted file mode 100644 index 8ce0ce4d..00000000 --- a/packages/flutter_mimir/example/macos/Podfile.lock +++ /dev/null @@ -1,28 +0,0 @@ -PODS: - - flutter_mimir (0.0.1) - - FlutterMacOS (1.0.0) - - path_provider_foundation (0.0.1): - - Flutter - - FlutterMacOS - -DEPENDENCIES: - - flutter_mimir (from `Flutter/ephemeral/.symlinks/plugins/flutter_mimir/macos`) - - FlutterMacOS (from `Flutter/ephemeral`) - - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) - -EXTERNAL SOURCES: - flutter_mimir: - :path: Flutter/ephemeral/.symlinks/plugins/flutter_mimir/macos - FlutterMacOS: - :path: Flutter/ephemeral - path_provider_foundation: - :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin - -SPEC CHECKSUMS: - flutter_mimir: abc5575f7deea72a2716fb3a75295984681dfd87 - FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 - path_provider_foundation: eaf5b3e458fc0e5fbb9940fb09980e853fe058b8 - -PODFILE CHECKSUM: 353c8bcc5d5b0994e508d035b5431cfe18c1dea7 - -COCOAPODS: 1.11.3 diff --git a/packages/flutter_mimir/example/macos/Runner.xcodeproj/project.pbxproj b/packages/flutter_mimir/example/macos/Runner.xcodeproj/project.pbxproj index 5b51bcdf..d8ad9a1b 100644 --- a/packages/flutter_mimir/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/flutter_mimir/example/macos/Runner.xcodeproj/project.pbxproj @@ -21,15 +21,23 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C48B2260EED9ADD08AE513EF /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DADFAB62A7D95DED7CBCCDDC /* Pods_Runner.framework */; }; + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; @@ -53,9 +61,11 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* flutter_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = flutter_example.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10ED2044A3C60003C045 /* flutter_mimir_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "flutter_mimir_example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; @@ -67,35 +77,35 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 33F3D63DEB963E2CD020F26A /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - ADE021978A12634AD9B0E6F3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - B5657BA5511B04CB9800FC20 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - DADFAB62A7D95DED7CBCCDDC /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 33CC10EA2044A3C60003C045 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C48B2260EED9ADD08AE513EF /* Pods_Runner.framework in Frameworks */, + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 22B0CB21BE4B3E6D2A23590B /* Pods */ = { + 331C80D6294CF71000263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - ADE021978A12634AD9B0E6F3 /* Pods-Runner.debug.xcconfig */, - B5657BA5511B04CB9800FC20 /* Pods-Runner.release.xcconfig */, - 33F3D63DEB963E2CD020F26A /* Pods-Runner.profile.xcconfig */, + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; 33BA886A226E78AF003329D5 /* Configs */ = { @@ -114,16 +124,17 @@ children = ( 33FAB671232836740065AC1E /* Runner */, 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 22B0CB21BE4B3E6D2A23590B /* Pods */, ); sourceTree = ""; }; 33CC10EE2044A3C60003C045 /* Products */ = { isa = PBXGroup; children = ( - 33CC10ED2044A3C60003C045 /* flutter_example.app */, + 33CC10ED2044A3C60003C045 /* flutter_mimir_example.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, ); name = Products; sourceTree = ""; @@ -166,7 +177,6 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - DADFAB62A7D95DED7CBCCDDC /* Pods_Runner.framework */, ); name = Frameworks; sourceTree = ""; @@ -174,17 +184,33 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C80D1294CF70F00263BE5 /* Sources */, + 331C80D2294CF70F00263BE5 /* Frameworks */, + 331C80D3294CF70F00263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; 33CC10EC2044A3C60003C045 /* Runner */ = { isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B4006F19AE123D4A5404440A /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - CA7BF10429361566E7868D4D /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -192,8 +218,11 @@ 33CC11202044C79F0003C045 /* PBXTargetDependency */, ); name = Runner; + packageProductDependencies = ( + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, + ); productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* flutter_example.app */; + productReference = 33CC10ED2044A3C60003C045 /* flutter_mimir_example.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -202,10 +231,15 @@ 33CC10E52044A3C60003C045 /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; 33CC10EC2044A3C60003C045 = { CreatedOnToolsVersion = 9.2; LastSwiftMigration = 1100; @@ -231,17 +265,28 @@ Base, ); mainGroup = 33CC10E42044A3C60003C045; + packageReferences = ( + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, + ); productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, 33CC111A2044C6BA0003C045 /* Flutter Assemble */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 33CC10EB2044A3C60003C045 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -292,48 +337,17 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - B4006F19AE123D4A5404440A /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - CA7BF10429361566E7868D4D /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C80D1294CF70F00263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ 33CC10E92044A3C60003C045 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -347,6 +361,11 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; @@ -367,11 +386,54 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.gsconrad.flutterMimirExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/flutter_mimir_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/flutter_mimir_example"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.gsconrad.flutterMimirExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/flutter_mimir_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/flutter_mimir_example"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.gsconrad.flutterMimirExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/flutter_mimir_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/flutter_mimir_example"; + }; + name = Profile; + }; 338D0CE9231458BD00FA5F75 /* Profile */ = { isa = XCBuildConfiguration; baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -395,9 +457,11 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -445,6 +509,7 @@ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -468,9 +533,11 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -498,6 +565,7 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -521,9 +589,11 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -597,6 +667,16 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C80DB294CF71000263BE5 /* Debug */, + 331C80DC294CF71000263BE5 /* Release */, + 331C80DD294CF71000263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -628,6 +708,20 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { + isa = XCSwiftPackageProductDependency; + productName = FlutterGeneratedPluginSwiftPackage; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 33CC10E52044A3C60003C045 /* Project object */; } diff --git a/packages/flutter_mimir/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/flutter_mimir/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index b2a2e50b..f0db75b0 100644 --- a/packages/flutter_mimir/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/flutter_mimir/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,10 +1,28 @@ + + + + + + + + + + @@ -31,12 +49,23 @@ + + + + @@ -71,7 +100,7 @@ diff --git a/packages/flutter_mimir/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/packages/flutter_mimir/example/macos/Runner.xcworkspace/contents.xcworkspacedata index 21a3cc14..1d526a16 100644 --- a/packages/flutter_mimir/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ b/packages/flutter_mimir/example/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -4,7 +4,4 @@ - - diff --git a/packages/flutter_mimir/example/macos/Runner/AppDelegate.swift b/packages/flutter_mimir/example/macos/Runner/AppDelegate.swift index d53ef643..b3c17614 100644 --- a/packages/flutter_mimir/example/macos/Runner/AppDelegate.swift +++ b/packages/flutter_mimir/example/macos/Runner/AppDelegate.swift @@ -1,9 +1,13 @@ import Cocoa import FlutterMacOS -@NSApplicationMain +@main class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true } + + override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { + return true + } } diff --git a/packages/flutter_mimir/example/macos/Runner/Configs/AppInfo.xcconfig b/packages/flutter_mimir/example/macos/Runner/Configs/AppInfo.xcconfig index 94384e58..2d117fcf 100644 --- a/packages/flutter_mimir/example/macos/Runner/Configs/AppInfo.xcconfig +++ b/packages/flutter_mimir/example/macos/Runner/Configs/AppInfo.xcconfig @@ -5,10 +5,10 @@ // 'flutter create' template. // The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = flutter_example +PRODUCT_NAME = flutter_mimir_example // The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterExample +PRODUCT_BUNDLE_IDENTIFIER = com.gsconrad.flutterMimirExample // The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2023 com.example. All rights reserved. +PRODUCT_COPYRIGHT = Copyright © 2024 com.gsconrad. All rights reserved. diff --git a/packages/flutter_mimir/example/macos/Runner/DebugProfile.entitlements b/packages/flutter_mimir/example/macos/Runner/DebugProfile.entitlements index 96f4abc0..d35e43ae 100644 --- a/packages/flutter_mimir/example/macos/Runner/DebugProfile.entitlements +++ b/packages/flutter_mimir/example/macos/Runner/DebugProfile.entitlements @@ -2,13 +2,7 @@ - com.apple.security.app-sandbox - com.apple.security.cs.allow-jit - com.apple.security.network.client - - com.apple.security.network.server - diff --git a/packages/flutter_mimir/example/macos/Runner/MainFlutterWindow.swift b/packages/flutter_mimir/example/macos/Runner/MainFlutterWindow.swift index 2722837e..3cc05eb2 100644 --- a/packages/flutter_mimir/example/macos/Runner/MainFlutterWindow.swift +++ b/packages/flutter_mimir/example/macos/Runner/MainFlutterWindow.swift @@ -3,7 +3,7 @@ import FlutterMacOS class MainFlutterWindow: NSWindow { override func awakeFromNib() { - let flutterViewController = FlutterViewController.init() + let flutterViewController = FlutterViewController() let windowFrame = self.frame self.contentViewController = flutterViewController self.setFrame(windowFrame, display: true) diff --git a/packages/flutter_mimir/example/macos/Runner/Release.entitlements b/packages/flutter_mimir/example/macos/Runner/Release.entitlements index 08ba3a3f..0c67376e 100644 --- a/packages/flutter_mimir/example/macos/Runner/Release.entitlements +++ b/packages/flutter_mimir/example/macos/Runner/Release.entitlements @@ -1,10 +1,5 @@ - - com.apple.security.app-sandbox - - com.apple.security.network.client - - + diff --git a/packages/flutter_mimir/example/macos/RunnerTests/RunnerTests.swift b/packages/flutter_mimir/example/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 00000000..61f3bd1f --- /dev/null +++ b/packages/flutter_mimir/example/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Cocoa +import FlutterMacOS +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/packages/flutter_mimir/macos/.gitignore b/packages/flutter_mimir/macos/.gitignore deleted file mode 100644 index 9fb47837..00000000 --- a/packages/flutter_mimir/macos/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -Flutter/ -Frameworks/* -!Frameworks/.gitkeep diff --git a/packages/flutter_mimir/macos/Classes/EnforceBundling.swift b/packages/flutter_mimir/macos/Classes/EnforceBundling.swift deleted file mode 100644 index f95cacb9..00000000 --- a/packages/flutter_mimir/macos/Classes/EnforceBundling.swift +++ /dev/null @@ -1,4 +0,0 @@ -public func dummyMethodToEnforceBundling() -> Int64 { - return dummy_method_to_enforce_bundling() -} -let dummyVar = dummyMethodToEnforceBundling(); diff --git a/packages/flutter_mimir/macos/Classes/frb.h b/packages/flutter_mimir/macos/Classes/frb.h deleted file mode 100644 index 05c0bc95..00000000 --- a/packages/flutter_mimir/macos/Classes/frb.h +++ /dev/null @@ -1,271 +0,0 @@ -#include -#include -#include -// EXTRA BEGIN -typedef struct DartCObject *WireSyncRust2DartDco; -typedef struct WireSyncRust2DartSse { - uint8_t *ptr; - int32_t len; -} WireSyncRust2DartSse; - -typedef int64_t DartPort; -typedef bool (*DartPostCObjectFnType)(DartPort port_id, void *message); -void store_dart_post_cobject(DartPostCObjectFnType ptr); -// EXTRA END -typedef struct _Dart_Handle* Dart_Handle; - -typedef struct wire_cst_list_prim_u_8_strict { - uint8_t *ptr; - int32_t len; -} wire_cst_list_prim_u_8_strict; - -typedef struct wire_cst_list_String { - struct wire_cst_list_prim_u_8_strict **ptr; - int32_t len; -} wire_cst_list_String; - -typedef struct wire_cst_SortBy_Asc { - struct wire_cst_list_prim_u_8_strict *field0; -} wire_cst_SortBy_Asc; - -typedef struct wire_cst_SortBy_Desc { - struct wire_cst_list_prim_u_8_strict *field0; -} wire_cst_SortBy_Desc; - -typedef union SortByKind { - struct wire_cst_SortBy_Asc Asc; - struct wire_cst_SortBy_Desc Desc; -} SortByKind; - -typedef struct wire_cst_sort_by { - int32_t tag; - union SortByKind kind; -} wire_cst_sort_by; - -typedef struct wire_cst_list_sort_by { - struct wire_cst_sort_by *ptr; - int32_t len; -} wire_cst_list_sort_by; - -typedef struct wire_cst_list_filter { - struct wire_cst_filter *ptr; - int32_t len; -} wire_cst_list_filter; - -typedef struct wire_cst_Filter_Or { - struct wire_cst_list_filter *field0; -} wire_cst_Filter_Or; - -typedef struct wire_cst_Filter_And { - struct wire_cst_list_filter *field0; -} wire_cst_Filter_And; - -typedef struct wire_cst_Filter_Not { - struct wire_cst_filter *field0; -} wire_cst_Filter_Not; - -typedef struct wire_cst_Filter_Exists { - struct wire_cst_list_prim_u_8_strict *field; -} wire_cst_Filter_Exists; - -typedef struct wire_cst_Filter_InValues { - struct wire_cst_list_prim_u_8_strict *field; - struct wire_cst_list_String *values; -} wire_cst_Filter_InValues; - -typedef struct wire_cst_Filter_GreaterThan { - struct wire_cst_list_prim_u_8_strict *field; - struct wire_cst_list_prim_u_8_strict *value; -} wire_cst_Filter_GreaterThan; - -typedef struct wire_cst_Filter_GreaterThanOrEqual { - struct wire_cst_list_prim_u_8_strict *field; - struct wire_cst_list_prim_u_8_strict *value; -} wire_cst_Filter_GreaterThanOrEqual; - -typedef struct wire_cst_Filter_Equal { - struct wire_cst_list_prim_u_8_strict *field; - struct wire_cst_list_prim_u_8_strict *value; -} wire_cst_Filter_Equal; - -typedef struct wire_cst_Filter_NotEqual { - struct wire_cst_list_prim_u_8_strict *field; - struct wire_cst_list_prim_u_8_strict *value; -} wire_cst_Filter_NotEqual; - -typedef struct wire_cst_Filter_LessThan { - struct wire_cst_list_prim_u_8_strict *field; - struct wire_cst_list_prim_u_8_strict *value; -} wire_cst_Filter_LessThan; - -typedef struct wire_cst_Filter_LessThanOrEqual { - struct wire_cst_list_prim_u_8_strict *field; - struct wire_cst_list_prim_u_8_strict *value; -} wire_cst_Filter_LessThanOrEqual; - -typedef struct wire_cst_Filter_Between { - struct wire_cst_list_prim_u_8_strict *field; - struct wire_cst_list_prim_u_8_strict *from; - struct wire_cst_list_prim_u_8_strict *to; -} wire_cst_Filter_Between; - -typedef struct wire_cst_Filter_IsNull { - struct wire_cst_list_prim_u_8_strict *field; -} wire_cst_Filter_IsNull; - -typedef struct wire_cst_Filter_IsEmpty { - struct wire_cst_list_prim_u_8_strict *field; -} wire_cst_Filter_IsEmpty; - -typedef union FilterKind { - struct wire_cst_Filter_Or Or; - struct wire_cst_Filter_And And; - struct wire_cst_Filter_Not Not; - struct wire_cst_Filter_Exists Exists; - struct wire_cst_Filter_InValues InValues; - struct wire_cst_Filter_GreaterThan GreaterThan; - struct wire_cst_Filter_GreaterThanOrEqual GreaterThanOrEqual; - struct wire_cst_Filter_Equal Equal; - struct wire_cst_Filter_NotEqual NotEqual; - struct wire_cst_Filter_LessThan LessThan; - struct wire_cst_Filter_LessThanOrEqual LessThanOrEqual; - struct wire_cst_Filter_Between Between; - struct wire_cst_Filter_IsNull IsNull; - struct wire_cst_Filter_IsEmpty IsEmpty; -} FilterKind; - -typedef struct wire_cst_filter { - int32_t tag; - union FilterKind kind; -} wire_cst_filter; - -typedef struct wire_cst_synonyms { - struct wire_cst_list_prim_u_8_strict *word; - struct wire_cst_list_String *synonyms; -} wire_cst_synonyms; - -typedef struct wire_cst_list_synonyms { - struct wire_cst_synonyms *ptr; - int32_t len; -} wire_cst_list_synonyms; - -typedef struct wire_cst_mimir_index_settings { - struct wire_cst_list_prim_u_8_strict *primary_key; - struct wire_cst_list_String *searchable_fields; - struct wire_cst_list_String *filterable_fields; - struct wire_cst_list_String *sortable_fields; - struct wire_cst_list_String *ranking_rules; - struct wire_cst_list_String *stop_words; - struct wire_cst_list_synonyms *synonyms; - bool typos_enabled; - uint8_t min_word_size_for_one_typo; - uint8_t min_word_size_for_two_typos; - struct wire_cst_list_String *disallow_typos_on_words; - struct wire_cst_list_String *disallow_typos_on_fields; -} wire_cst_mimir_index_settings; - -void frbgen_mimir_wire__crate__api__add_documents(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *index_name, - struct wire_cst_list_String *documents); - -void frbgen_mimir_wire__crate__api__delete_all_documents(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *index_name); - -void frbgen_mimir_wire__crate__api__delete_documents(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *index_name, - struct wire_cst_list_String *document_ids); - -void frbgen_mimir_wire__crate__api__ensure_index_initialized(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *index_name); - -void frbgen_mimir_wire__crate__api__ensure_instance_initialized(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *tmp_dir); - -void frbgen_mimir_wire__crate__api__get_all_documents(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *index_name); - -void frbgen_mimir_wire__crate__api__get_document(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *index_name, - struct wire_cst_list_prim_u_8_strict *document_id); - -void frbgen_mimir_wire__crate__api__get_settings(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *index_name); - -void frbgen_mimir_wire__crate__api__number_of_documents(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *index_name); - -void frbgen_mimir_wire__crate__api__search_documents(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *index_name, - struct wire_cst_list_prim_u_8_strict *query, - uint32_t *limit, - uint32_t *offset, - struct wire_cst_list_sort_by *sort_criteria, - struct wire_cst_filter *filter, - int32_t *matching_strategy); - -void frbgen_mimir_wire__crate__api__set_documents(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *index_name, - struct wire_cst_list_String *documents); - -void frbgen_mimir_wire__crate__api__set_settings(int64_t port_, - struct wire_cst_list_prim_u_8_strict *instance_dir, - struct wire_cst_list_prim_u_8_strict *index_name, - struct wire_cst_mimir_index_settings *settings); - -struct wire_cst_filter *frbgen_mimir_cst_new_box_autoadd_filter(void); - -struct wire_cst_mimir_index_settings *frbgen_mimir_cst_new_box_autoadd_mimir_index_settings(void); - -int32_t *frbgen_mimir_cst_new_box_autoadd_terms_matching_strategy(int32_t value); - -uint32_t *frbgen_mimir_cst_new_box_autoadd_u_32(uint32_t value); - -struct wire_cst_filter *frbgen_mimir_cst_new_box_filter(void); - -struct wire_cst_list_String *frbgen_mimir_cst_new_list_String(int32_t len); - -struct wire_cst_list_filter *frbgen_mimir_cst_new_list_filter(int32_t len); - -struct wire_cst_list_prim_u_8_strict *frbgen_mimir_cst_new_list_prim_u_8_strict(int32_t len); - -struct wire_cst_list_sort_by *frbgen_mimir_cst_new_list_sort_by(int32_t len); - -struct wire_cst_list_synonyms *frbgen_mimir_cst_new_list_synonyms(int32_t len); -static int64_t dummy_method_to_enforce_bundling(void) { - int64_t dummy_var = 0; - dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_filter); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_mimir_index_settings); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_terms_matching_strategy); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_u_32); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_filter); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_String); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_filter); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_prim_u_8_strict); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_sort_by); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_synonyms); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__add_documents); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__delete_all_documents); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__delete_documents); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__ensure_index_initialized); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__ensure_instance_initialized); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__get_all_documents); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__get_document); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__get_settings); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__number_of_documents); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__search_documents); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__set_documents); - dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__set_settings); - dummy_var ^= ((int64_t) (void*) store_dart_post_cobject); - return dummy_var; -} diff --git a/packages/flutter_mimir/macos/flutter_mimir.podspec b/packages/flutter_mimir/macos/flutter_mimir.podspec deleted file mode 100644 index 490f5cd2..00000000 --- a/packages/flutter_mimir/macos/flutter_mimir.podspec +++ /dev/null @@ -1,37 +0,0 @@ -release_tag_name = 'mimir-v0.1.0' # generated; do not edit - -# We cannot distribute the XCFramework alongside the library directly, -# so we have to fetch the correct version here. -framework_name = 'EmbeddedMilli.xcframework' -remote_zip_name = "#{framework_name}.zip" -url = "https://github.com/GregoryConrad/mimir/releases/download/#{release_tag_name}/#{remote_zip_name}" -local_zip_name = "#{release_tag_name}.zip" -` -cd Frameworks -rm -rf #{framework_name} - -if [ ! -f #{local_zip_name} ] -then - curl -L #{url} -o #{local_zip_name} -fi - -unzip #{local_zip_name} -cd - -` - -Pod::Spec.new do |spec| - spec.name = 'flutter_mimir' - spec.version = '0.0.1' - spec.license = { :file => '../LICENSE' } - spec.homepage = 'https://github.com/GregoryConrad/mimir' - spec.authors = { 'Gregory Conrad' => 'gregorysconrad@gmail.com' } - spec.summary = 'Embedded instance of milli for flutter_mimir' - - spec.source = { :path => '.' } - spec.source_files = 'Classes/**/*' - spec.public_header_files = 'Classes/**/*.h' - spec.vendored_frameworks = "Frameworks/#{framework_name}" - - spec.ios.deployment_target = '11.0' - spec.osx.deployment_target = '10.14' -end diff --git a/packages/flutter_mimir/macos/Frameworks/.gitkeep b/packages/flutter_mimir/macos/flutter_mimir/Frameworks/.gitkeep similarity index 100% rename from packages/flutter_mimir/macos/Frameworks/.gitkeep rename to packages/flutter_mimir/macos/flutter_mimir/Frameworks/.gitkeep diff --git a/packages/flutter_mimir/macos/flutter_mimir/Package.swift b/packages/flutter_mimir/macos/flutter_mimir/Package.swift new file mode 100644 index 00000000..6c7e9b41 --- /dev/null +++ b/packages/flutter_mimir/macos/flutter_mimir/Package.swift @@ -0,0 +1,39 @@ +// swift-tools-version: 5.9 + +import PackageDescription +import Foundation + +if shell("bash", "fetch-binary.sh") != 0 { + print("Failed to download the Mimir binaries") +} + +// Permission error: +try "hi".write(to: URL(fileURLWithPath: "/tmp/test.txt"), atomically: true, encoding: .utf8) + +let package = Package( + name: "flutter_mimir", + platforms: [ + .iOS("12.0"), + .macOS("10.14") + ], + products: [ + .library(name: "flutter-mimir", targets: ["EmbeddedMilli"]) + ], + dependencies: [], + targets: [ + .binaryTarget( + name: "EmbeddedMilli", + path: "Frameworks/EmbeddedMilli.xcframework" + ) + ] +) + +@discardableResult +func shell(_ args: String...) -> Int32 { + let task = Process() + task.launchPath = "/usr/bin/env" + task.arguments = args + task.launch() + task.waitUntilExit() + return task.terminationStatus +} diff --git a/packages/flutter_mimir/macos/flutter_mimir/fetch-binary.sh b/packages/flutter_mimir/macos/flutter_mimir/fetch-binary.sh new file mode 100644 index 00000000..f850cd58 --- /dev/null +++ b/packages/flutter_mimir/macos/flutter_mimir/fetch-binary.sh @@ -0,0 +1,22 @@ +release_tag_name="mimir-v0.1.0" # generated; do not edit +# TODO update version script to remove space and point to this dir + +set -e + +# We cannot distribute the XCFramework alongside the library directly, +# so we have to fetch the correct version here. +framework_name="EmbeddedMilli.xcframework" +remote_zip_name="$framework_name.zip" +url="https://github.com/GregoryConrad/mimir/releases/download/$release_tag_name/$remote_zip_name" +local_zip_name="$release_tag_name.zip" + +pushd Frameworks +rm -rf $framework_name + +if [ ! -f $local_zip_name ] +then + curl -L $url -o $local_zip_name +fi + +unzip $local_zip_name +popd diff --git a/packages/mimir/lib/src/interface.dart b/packages/mimir/lib/src/interface.dart index 19b15b7a..95cd3847 100644 --- a/packages/mimir/lib/src/interface.dart +++ b/packages/mimir/lib/src/interface.dart @@ -47,13 +47,7 @@ class MimirInterface { ioDirectory: ioDirectory, webPrefix: webPrefix, ); - // TODO(GregoryConrad): remove this once Flutter gets SPM or Native Assets - ExternalLibrary lib; - if (Platform.isIOS || Platform.isMacOS) { - lib = ExternalLibrary.process(iKnowHowToUseIt: true); - } else { - lib = await loadExternalLibrary(libraryLoaderConfig); - } + final lib = await loadExternalLibrary(libraryLoaderConfig); await RustLib.init(externalLibrary: lib); } diff --git a/scripts/build-apple.sh b/scripts/build-apple.sh index a24dd96c..1670971e 100644 --- a/scripts/build-apple.sh +++ b/scripts/build-apple.sh @@ -17,7 +17,7 @@ done # Create XCFramework zip FRAMEWORK="EmbeddedMilli.xcframework" -LIBNAME=libembedded_milli.a +LIBNAME=libembedded_milli.dylib mkdir mac-lipo ios-sim-lipo IOS_SIM_LIPO=ios-sim-lipo/$LIBNAME MAC_LIPO=mac-lipo/$LIBNAME diff --git a/scripts/version.sh b/scripts/version.sh index 528565cc..eb256de1 100644 --- a/scripts/version.sh +++ b/scripts/version.sh @@ -3,10 +3,10 @@ CURR_VERSION=mimir-v`awk '/^version: /{print $2}' packages/mimir/pubspec.yaml` # iOS & macOS -APPLE_HEADER="release_tag_name = '$CURR_VERSION' # generated; do not edit" -sed -i.bak "1 s/.*/$APPLE_HEADER/" packages/flutter_mimir/ios/flutter_mimir.podspec -sed -i.bak "1 s/.*/$APPLE_HEADER/" packages/flutter_mimir/macos/flutter_mimir.podspec -rm packages/flutter_mimir/macos/*.bak packages/flutter_mimir/ios/*.bak +APPLE_HEADER="release_tag_name='$CURR_VERSION' # generated; do not edit" +sed -i.bak "1 s/.*/$APPLE_HEADER/" packages/flutter_mimir/ios/flutter_mimir/fetch-binary.sh +sed -i.bak "1 s/.*/$APPLE_HEADER/" packages/flutter_mimir/macos/flutter_mimir/fetch-binary.sh +rm packages/flutter_mimir/ios/*.bak packages/flutter_mimir/macos/*.bak # CMake platforms (Linux, Windows, and Android) CMAKE_HEADER="set(MimirVersion \"$CURR_VERSION\") # generated; do not edit"