From 3f58577a75056f157e2977172ec23d056e8d6d42 Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Wed, 7 Aug 2024 16:14:13 -0700 Subject: [PATCH 1/5] To step 12 > 2 --- .../cupertino_http}/CUPHTTPClientDelegate.m | 0 .../cupertino_http}/CUPHTTPCompletionHelper.m | 0 .../CUPHTTPForwardedDelegate.m | 0 .../CUPHTTPStreamToNSInputStreamAdapter.m | 0 .../cupertino_http}/dart_api_dl.c | 0 .../ios/cupertino_http/Package.swift | 38 +++++++++++++++++++ .../include/cupertino_http/.gitkeep | 0 7 files changed, 38 insertions(+) rename pkgs/cupertino_http/ios/{Classes => Sources/cupertino_http}/CUPHTTPClientDelegate.m (100%) rename pkgs/cupertino_http/ios/{Classes => Sources/cupertino_http}/CUPHTTPCompletionHelper.m (100%) rename pkgs/cupertino_http/ios/{Classes => Sources/cupertino_http}/CUPHTTPForwardedDelegate.m (100%) rename pkgs/cupertino_http/ios/{Classes => Sources/cupertino_http}/CUPHTTPStreamToNSInputStreamAdapter.m (100%) rename pkgs/cupertino_http/ios/{Classes => Sources/cupertino_http}/dart_api_dl.c (100%) create mode 100644 pkgs/cupertino_http/ios/cupertino_http/Package.swift create mode 100644 pkgs/cupertino_http/ios/cupertino_http/Sources/cupertino_http/include/cupertino_http/.gitkeep diff --git a/pkgs/cupertino_http/ios/Classes/CUPHTTPClientDelegate.m b/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPClientDelegate.m similarity index 100% rename from pkgs/cupertino_http/ios/Classes/CUPHTTPClientDelegate.m rename to pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPClientDelegate.m diff --git a/pkgs/cupertino_http/ios/Classes/CUPHTTPCompletionHelper.m b/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPCompletionHelper.m similarity index 100% rename from pkgs/cupertino_http/ios/Classes/CUPHTTPCompletionHelper.m rename to pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPCompletionHelper.m diff --git a/pkgs/cupertino_http/ios/Classes/CUPHTTPForwardedDelegate.m b/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPForwardedDelegate.m similarity index 100% rename from pkgs/cupertino_http/ios/Classes/CUPHTTPForwardedDelegate.m rename to pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPForwardedDelegate.m diff --git a/pkgs/cupertino_http/ios/Classes/CUPHTTPStreamToNSInputStreamAdapter.m b/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPStreamToNSInputStreamAdapter.m similarity index 100% rename from pkgs/cupertino_http/ios/Classes/CUPHTTPStreamToNSInputStreamAdapter.m rename to pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPStreamToNSInputStreamAdapter.m diff --git a/pkgs/cupertino_http/ios/Classes/dart_api_dl.c b/pkgs/cupertino_http/ios/Sources/cupertino_http/dart_api_dl.c similarity index 100% rename from pkgs/cupertino_http/ios/Classes/dart_api_dl.c rename to pkgs/cupertino_http/ios/Sources/cupertino_http/dart_api_dl.c diff --git a/pkgs/cupertino_http/ios/cupertino_http/Package.swift b/pkgs/cupertino_http/ios/cupertino_http/Package.swift new file mode 100644 index 0000000000..1f8027115d --- /dev/null +++ b/pkgs/cupertino_http/ios/cupertino_http/Package.swift @@ -0,0 +1,38 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "cupertino_http", + platforms: [ + .iOS("12.0"), + ], + products: [ + .library(name: "cupertino-http", targets: ["cupertino_http"]) + ], + dependencies: [], + targets: [ + .target( + // TODO: Update your target name. + name: "cupertino_http", + dependencies: [], + resources: [ + // TODO: If your plugin requires a privacy manifest + // (e.g. if it uses any required reason APIs), update the PrivacyInfo.xcprivacy file + // to describe your plugin's privacy impact, and then uncomment this line. + // For more information, see: + // https://developer.apple.com/documentation/bundleresources/privacy_manifest_files + // .process("PrivacyInfo.xcprivacy"), + + // TODO: If you have other resources that need to be bundled with your plugin, refer to + // the following instructions to add them: + // https://developer.apple.com/documentation/xcode/bundling-resources-with-a-swift-package + ], + cSettings: [ + // TODO: Update your plugin name. + .headerSearchPath("include/cupertino_http") + ] + ) + ] +) diff --git a/pkgs/cupertino_http/ios/cupertino_http/Sources/cupertino_http/include/cupertino_http/.gitkeep b/pkgs/cupertino_http/ios/cupertino_http/Sources/cupertino_http/include/cupertino_http/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 From addd926e26ad48c1492b90442f3950e0507e58af Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Tue, 27 Aug 2024 15:06:25 -0700 Subject: [PATCH 2/5] Fix --- pkgs/cupertino_http/ios/cupertino_http.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/cupertino_http/ios/cupertino_http.podspec b/pkgs/cupertino_http/ios/cupertino_http.podspec index 4e2ce46f08..fdfe0d960b 100644 --- a/pkgs/cupertino_http/ios/cupertino_http.podspec +++ b/pkgs/cupertino_http/ios/cupertino_http.podspec @@ -18,7 +18,7 @@ Pod::Spec.new do |s| # paths, so Classes contains a forwarder C file that relatively imports # `../src/*` so that the C sources can be shared among all target platforms. s.source = { :path => '.' } - s.source_files = 'Classes/**/*' + s.source_files = 'cupertino_http/Sources/cupertino_http/**/*' s.dependency 'Flutter' s.platform = :ios, '12.0' s.requires_arc = [] From 1ed32fae901c06e99b35fc69490c87ee93a61be0 Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Wed, 28 Aug 2024 16:03:20 -0700 Subject: [PATCH 3/5] Update --- .../darwin/Classes/CUPHTTPClientDelegate.m | 1 - .../darwin/Classes/CUPHTTPCompletionHelper.m | 1 - .../darwin/Classes/CUPHTTPForwardedDelegate.m | 1 - .../CUPHTTPStreamToNSInputStreamAdapter.m | 1 - .../darwin/Classes/dart_api_dl.c | 1 - .../darwin/cupertino_http.podspec | 5 ---- .../cupertino_http/Package.swift | 2 ++ .../cupertino_http}/CUPHTTPClientDelegate.h | 0 .../cupertino_http}/CUPHTTPClientDelegate.m | 0 .../cupertino_http}/CUPHTTPCompletionHelper.h | 0 .../cupertino_http}/CUPHTTPCompletionHelper.m | 0 .../CUPHTTPForwardedDelegate.h | 0 .../CUPHTTPForwardedDelegate.m | 0 .../CUPHTTPStreamToNSInputStreamAdapter.h | 0 .../CUPHTTPStreamToNSInputStreamAdapter.m | 0 .../dart-sdk/include/dart_api.h | 0 .../dart-sdk/include/dart_api_dl.c | 0 .../dart-sdk/include/dart_api_dl.h | 0 .../dart-sdk/include/dart_native_api.h | 0 .../dart-sdk/include/dart_tools_api.h | 0 .../dart-sdk/include/dart_version.h | 0 .../include/internal/dart_api_dl_impl.h | 0 .../include/cupertino_http/.gitkeep | 0 pkgs/cupertino_http/example/.gitignore | 2 ++ .../plugins/GeneratedPluginRegistrant.java | 24 +++++++++++++++++++ .../example/android/local.properties | 2 ++ .../flutter/generated_plugin_registrant.cc | 11 +++++++++ .../flutter/generated_plugin_registrant.h | 15 ++++++++++++ .../linux/flutter/generated_plugins.cmake | 23 ++++++++++++++++++ pkgs/cupertino_http/example/macos/Podfile | 2 +- .../cupertino_http/example/macos/Podfile.lock | 13 +++++----- .../macos/Runner.xcodeproj/project.pbxproj | 8 +++---- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../example/macos/Runner/AppDelegate.swift | 6 ++++- .../cupertino_http/CUPHTTPClientDelegate.m | 1 - .../cupertino_http/CUPHTTPCompletionHelper.m | 1 - .../cupertino_http/CUPHTTPForwardedDelegate.m | 1 - .../CUPHTTPStreamToNSInputStreamAdapter.m | 1 - .../ios/Sources/cupertino_http/dart_api_dl.c | 1 - 39 files changed, 97 insertions(+), 28 deletions(-) delete mode 100644 pkgs/cupertino_http/darwin/Classes/CUPHTTPClientDelegate.m delete mode 100644 pkgs/cupertino_http/darwin/Classes/CUPHTTPCompletionHelper.m delete mode 100644 pkgs/cupertino_http/darwin/Classes/CUPHTTPForwardedDelegate.m delete mode 100644 pkgs/cupertino_http/darwin/Classes/CUPHTTPStreamToNSInputStreamAdapter.m delete mode 100644 pkgs/cupertino_http/darwin/Classes/dart_api_dl.c rename pkgs/cupertino_http/{ios => darwin}/cupertino_http/Package.swift (95%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/CUPHTTPClientDelegate.h (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/CUPHTTPClientDelegate.m (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/CUPHTTPCompletionHelper.h (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/CUPHTTPCompletionHelper.m (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/CUPHTTPForwardedDelegate.h (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/CUPHTTPForwardedDelegate.m (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/CUPHTTPStreamToNSInputStreamAdapter.h (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/CUPHTTPStreamToNSInputStreamAdapter.m (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/dart-sdk/include/dart_api.h (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/dart-sdk/include/dart_api_dl.c (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/dart-sdk/include/dart_api_dl.h (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/dart-sdk/include/dart_native_api.h (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/dart-sdk/include/dart_tools_api.h (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/dart-sdk/include/dart_version.h (100%) rename pkgs/cupertino_http/{src => darwin/cupertino_http/Sources/cupertino_http}/dart-sdk/include/internal/dart_api_dl_impl.h (100%) rename pkgs/cupertino_http/{ios => darwin}/cupertino_http/Sources/cupertino_http/include/cupertino_http/.gitkeep (100%) create mode 100644 pkgs/cupertino_http/example/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java create mode 100644 pkgs/cupertino_http/example/android/local.properties create mode 100644 pkgs/cupertino_http/example/linux/flutter/generated_plugin_registrant.cc create mode 100644 pkgs/cupertino_http/example/linux/flutter/generated_plugin_registrant.h create mode 100644 pkgs/cupertino_http/example/linux/flutter/generated_plugins.cmake delete mode 100644 pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPClientDelegate.m delete mode 100644 pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPCompletionHelper.m delete mode 100644 pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPForwardedDelegate.m delete mode 100644 pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPStreamToNSInputStreamAdapter.m delete mode 100644 pkgs/cupertino_http/ios/Sources/cupertino_http/dart_api_dl.c diff --git a/pkgs/cupertino_http/darwin/Classes/CUPHTTPClientDelegate.m b/pkgs/cupertino_http/darwin/Classes/CUPHTTPClientDelegate.m deleted file mode 100644 index 5b375ca3b4..0000000000 --- a/pkgs/cupertino_http/darwin/Classes/CUPHTTPClientDelegate.m +++ /dev/null @@ -1 +0,0 @@ -#include "../../src/CUPHTTPClientDelegate.m" diff --git a/pkgs/cupertino_http/darwin/Classes/CUPHTTPCompletionHelper.m b/pkgs/cupertino_http/darwin/Classes/CUPHTTPCompletionHelper.m deleted file mode 100644 index b05d1fc717..0000000000 --- a/pkgs/cupertino_http/darwin/Classes/CUPHTTPCompletionHelper.m +++ /dev/null @@ -1 +0,0 @@ -#include "../../src/CUPHTTPCompletionHelper.m" diff --git a/pkgs/cupertino_http/darwin/Classes/CUPHTTPForwardedDelegate.m b/pkgs/cupertino_http/darwin/Classes/CUPHTTPForwardedDelegate.m deleted file mode 100644 index 39c9e02729..0000000000 --- a/pkgs/cupertino_http/darwin/Classes/CUPHTTPForwardedDelegate.m +++ /dev/null @@ -1 +0,0 @@ -#include "../../src/CUPHTTPForwardedDelegate.m" diff --git a/pkgs/cupertino_http/darwin/Classes/CUPHTTPStreamToNSInputStreamAdapter.m b/pkgs/cupertino_http/darwin/Classes/CUPHTTPStreamToNSInputStreamAdapter.m deleted file mode 100644 index 46eb84ba89..0000000000 --- a/pkgs/cupertino_http/darwin/Classes/CUPHTTPStreamToNSInputStreamAdapter.m +++ /dev/null @@ -1 +0,0 @@ -#include "../../src/CUPHTTPStreamToNSInputStreamAdapter.m" diff --git a/pkgs/cupertino_http/darwin/Classes/dart_api_dl.c b/pkgs/cupertino_http/darwin/Classes/dart_api_dl.c deleted file mode 100644 index 023f80ab06..0000000000 --- a/pkgs/cupertino_http/darwin/Classes/dart_api_dl.c +++ /dev/null @@ -1 +0,0 @@ -#include "../../src/dart-sdk/include/dart_api_dl.c" diff --git a/pkgs/cupertino_http/darwin/cupertino_http.podspec b/pkgs/cupertino_http/darwin/cupertino_http.podspec index 134c075c55..9e09c6698f 100644 --- a/pkgs/cupertino_http/darwin/cupertino_http.podspec +++ b/pkgs/cupertino_http/darwin/cupertino_http.podspec @@ -13,11 +13,6 @@ Pod::Spec.new do |s| s.license = { :type => 'BSD', :file => '../LICENSE' } s.author = { 'TODO' => 'use-valid-author' } - # This will ensure the source files in Classes/ are included in the native - # builds of apps using this FFI plugin. Podspec does not support relative - # paths, so Classes contains a forwarder C file that relatively imports - # `../src/*` so that the C sources can be shared among all target platforms. - s.source = { :path => '.' } s.source_files = 'cupertino_http/Sources/cupertino_http/**/*' s.ios.dependency 'Flutter' s.osx.dependency 'FlutterMacOS' diff --git a/pkgs/cupertino_http/ios/cupertino_http/Package.swift b/pkgs/cupertino_http/darwin/cupertino_http/Package.swift similarity index 95% rename from pkgs/cupertino_http/ios/cupertino_http/Package.swift rename to pkgs/cupertino_http/darwin/cupertino_http/Package.swift index 1f8027115d..017f28650f 100644 --- a/pkgs/cupertino_http/ios/cupertino_http/Package.swift +++ b/pkgs/cupertino_http/darwin/cupertino_http/Package.swift @@ -7,6 +7,7 @@ let package = Package( name: "cupertino_http", platforms: [ .iOS("12.0"), + .macOS("10.4"), ], products: [ .library(name: "cupertino-http", targets: ["cupertino_http"]) @@ -31,6 +32,7 @@ let package = Package( ], cSettings: [ // TODO: Update your plugin name. + .headerSearchPath("include") .headerSearchPath("include/cupertino_http") ] ) diff --git a/pkgs/cupertino_http/src/CUPHTTPClientDelegate.h b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPClientDelegate.h similarity index 100% rename from pkgs/cupertino_http/src/CUPHTTPClientDelegate.h rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPClientDelegate.h diff --git a/pkgs/cupertino_http/src/CUPHTTPClientDelegate.m b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPClientDelegate.m similarity index 100% rename from pkgs/cupertino_http/src/CUPHTTPClientDelegate.m rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPClientDelegate.m diff --git a/pkgs/cupertino_http/src/CUPHTTPCompletionHelper.h b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPCompletionHelper.h similarity index 100% rename from pkgs/cupertino_http/src/CUPHTTPCompletionHelper.h rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPCompletionHelper.h diff --git a/pkgs/cupertino_http/src/CUPHTTPCompletionHelper.m b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPCompletionHelper.m similarity index 100% rename from pkgs/cupertino_http/src/CUPHTTPCompletionHelper.m rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPCompletionHelper.m diff --git a/pkgs/cupertino_http/src/CUPHTTPForwardedDelegate.h b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPForwardedDelegate.h similarity index 100% rename from pkgs/cupertino_http/src/CUPHTTPForwardedDelegate.h rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPForwardedDelegate.h diff --git a/pkgs/cupertino_http/src/CUPHTTPForwardedDelegate.m b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPForwardedDelegate.m similarity index 100% rename from pkgs/cupertino_http/src/CUPHTTPForwardedDelegate.m rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPForwardedDelegate.m diff --git a/pkgs/cupertino_http/src/CUPHTTPStreamToNSInputStreamAdapter.h b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPStreamToNSInputStreamAdapter.h similarity index 100% rename from pkgs/cupertino_http/src/CUPHTTPStreamToNSInputStreamAdapter.h rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPStreamToNSInputStreamAdapter.h diff --git a/pkgs/cupertino_http/src/CUPHTTPStreamToNSInputStreamAdapter.m b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPStreamToNSInputStreamAdapter.m similarity index 100% rename from pkgs/cupertino_http/src/CUPHTTPStreamToNSInputStreamAdapter.m rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/CUPHTTPStreamToNSInputStreamAdapter.m diff --git a/pkgs/cupertino_http/src/dart-sdk/include/dart_api.h b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_api.h similarity index 100% rename from pkgs/cupertino_http/src/dart-sdk/include/dart_api.h rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_api.h diff --git a/pkgs/cupertino_http/src/dart-sdk/include/dart_api_dl.c b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_api_dl.c similarity index 100% rename from pkgs/cupertino_http/src/dart-sdk/include/dart_api_dl.c rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_api_dl.c diff --git a/pkgs/cupertino_http/src/dart-sdk/include/dart_api_dl.h b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_api_dl.h similarity index 100% rename from pkgs/cupertino_http/src/dart-sdk/include/dart_api_dl.h rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_api_dl.h diff --git a/pkgs/cupertino_http/src/dart-sdk/include/dart_native_api.h b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_native_api.h similarity index 100% rename from pkgs/cupertino_http/src/dart-sdk/include/dart_native_api.h rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_native_api.h diff --git a/pkgs/cupertino_http/src/dart-sdk/include/dart_tools_api.h b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_tools_api.h similarity index 100% rename from pkgs/cupertino_http/src/dart-sdk/include/dart_tools_api.h rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_tools_api.h diff --git a/pkgs/cupertino_http/src/dart-sdk/include/dart_version.h b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_version.h similarity index 100% rename from pkgs/cupertino_http/src/dart-sdk/include/dart_version.h rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/dart_version.h diff --git a/pkgs/cupertino_http/src/dart-sdk/include/internal/dart_api_dl_impl.h b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/internal/dart_api_dl_impl.h similarity index 100% rename from pkgs/cupertino_http/src/dart-sdk/include/internal/dart_api_dl_impl.h rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/dart-sdk/include/internal/dart_api_dl_impl.h diff --git a/pkgs/cupertino_http/ios/cupertino_http/Sources/cupertino_http/include/cupertino_http/.gitkeep b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/include/cupertino_http/.gitkeep similarity index 100% rename from pkgs/cupertino_http/ios/cupertino_http/Sources/cupertino_http/include/cupertino_http/.gitkeep rename to pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/include/cupertino_http/.gitkeep diff --git a/pkgs/cupertino_http/example/.gitignore b/pkgs/cupertino_http/example/.gitignore index a8e938c083..221b42254f 100644 --- a/pkgs/cupertino_http/example/.gitignore +++ b/pkgs/cupertino_http/example/.gitignore @@ -5,9 +5,11 @@ *.swp .DS_Store .atom/ +.build/ .buildlog/ .history .svn/ +.swiftpm/ migrate_working_dir/ # IntelliJ related diff --git a/pkgs/cupertino_http/example/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java b/pkgs/cupertino_http/example/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java new file mode 100644 index 0000000000..56d0147960 --- /dev/null +++ b/pkgs/cupertino_http/example/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java @@ -0,0 +1,24 @@ +package io.flutter.plugins; + +import androidx.annotation.Keep; +import androidx.annotation.NonNull; +import io.flutter.Log; + +import io.flutter.embedding.engine.FlutterEngine; + +/** + * Generated file. Do not edit. + * This file is generated by the Flutter tool based on the + * plugins that support the Android platform. + */ +@Keep +public final class GeneratedPluginRegistrant { + private static final String TAG = "GeneratedPluginRegistrant"; + public static void registerWith(@NonNull FlutterEngine flutterEngine) { + try { + flutterEngine.getPlugins().add(new dev.flutter.plugins.integration_test.IntegrationTestPlugin()); + } catch (Exception e) { + Log.e(TAG, "Error registering plugin integration_test, dev.flutter.plugins.integration_test.IntegrationTestPlugin", e); + } + } +} diff --git a/pkgs/cupertino_http/example/android/local.properties b/pkgs/cupertino_http/example/android/local.properties new file mode 100644 index 0000000000..f2e984abc4 --- /dev/null +++ b/pkgs/cupertino_http/example/android/local.properties @@ -0,0 +1,2 @@ +sdk.dir=/Users/bquinlan/Library/Android/sdk +flutter.sdk=/Users/bquinlan/flutter \ No newline at end of file diff --git a/pkgs/cupertino_http/example/linux/flutter/generated_plugin_registrant.cc b/pkgs/cupertino_http/example/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000000..e71a16d23d --- /dev/null +++ b/pkgs/cupertino_http/example/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void fl_register_plugins(FlPluginRegistry* registry) { +} diff --git a/pkgs/cupertino_http/example/linux/flutter/generated_plugin_registrant.h b/pkgs/cupertino_http/example/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000000..e0f0a47bc0 --- /dev/null +++ b/pkgs/cupertino_http/example/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/pkgs/cupertino_http/example/linux/flutter/generated_plugins.cmake b/pkgs/cupertino_http/example/linux/flutter/generated_plugins.cmake new file mode 100644 index 0000000000..2e1de87a7e --- /dev/null +++ b/pkgs/cupertino_http/example/linux/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/pkgs/cupertino_http/example/macos/Podfile b/pkgs/cupertino_http/example/macos/Podfile index fe733905db..049abe2954 100644 --- a/pkgs/cupertino_http/example/macos/Podfile +++ b/pkgs/cupertino_http/example/macos/Podfile @@ -1,4 +1,4 @@ -platform :osx, '10.13' +platform :osx, '10.14' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/pkgs/cupertino_http/example/macos/Podfile.lock b/pkgs/cupertino_http/example/macos/Podfile.lock index 6d847c7cc9..6ccc616692 100644 --- a/pkgs/cupertino_http/example/macos/Podfile.lock +++ b/pkgs/cupertino_http/example/macos/Podfile.lock @@ -1,22 +1,23 @@ PODS: - cupertino_http (0.0.1): + - Flutter - FlutterMacOS - FlutterMacOS (1.0.0) DEPENDENCIES: - - cupertino_http (from `Flutter/ephemeral/.symlinks/plugins/cupertino_http/macos`) + - cupertino_http (from `Flutter/ephemeral/.symlinks/plugins/cupertino_http/darwin`) - FlutterMacOS (from `Flutter/ephemeral`) EXTERNAL SOURCES: cupertino_http: - :path: Flutter/ephemeral/.symlinks/plugins/cupertino_http/macos + :path: Flutter/ephemeral/.symlinks/plugins/cupertino_http/darwin FlutterMacOS: :path: Flutter/ephemeral SPEC CHECKSUMS: - cupertino_http: afa11b9e2786b62da2671e4ddd32caf792503748 - FlutterMacOS: 85f90bfb3f1703249cf1539e4dfbff31e8584698 + cupertino_http: 1c08a57f2f5de1fb61844cf904b226be50f2bee1 + FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 -PODFILE CHECKSUM: a884f6dd3f7494f3892ee6c81feea3a3abbf9153 +PODFILE CHECKSUM: 353c8bcc5d5b0994e508d035b5431cfe18c1dea7 -COCOAPODS: 1.11.2 +COCOAPODS: 1.15.2 diff --git a/pkgs/cupertino_http/example/macos/Runner.xcodeproj/project.pbxproj b/pkgs/cupertino_http/example/macos/Runner.xcodeproj/project.pbxproj index 0da99f1d27..3253d7d4d6 100644 --- a/pkgs/cupertino_http/example/macos/Runner.xcodeproj/project.pbxproj +++ b/pkgs/cupertino_http/example/macos/Runner.xcodeproj/project.pbxproj @@ -203,7 +203,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 33CC10EC2044A3C60003C045 = { @@ -405,7 +405,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.13; + MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -484,7 +484,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.13; + MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -531,7 +531,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.13; + MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/pkgs/cupertino_http/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/pkgs/cupertino_http/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index ff80cba196..9a00864391 100644 --- a/pkgs/cupertino_http/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/pkgs/cupertino_http/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ Bool { return true } + + override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { + return true + } } diff --git a/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPClientDelegate.m b/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPClientDelegate.m deleted file mode 100644 index 5b375ca3b4..0000000000 --- a/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPClientDelegate.m +++ /dev/null @@ -1 +0,0 @@ -#include "../../src/CUPHTTPClientDelegate.m" diff --git a/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPCompletionHelper.m b/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPCompletionHelper.m deleted file mode 100644 index b05d1fc717..0000000000 --- a/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPCompletionHelper.m +++ /dev/null @@ -1 +0,0 @@ -#include "../../src/CUPHTTPCompletionHelper.m" diff --git a/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPForwardedDelegate.m b/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPForwardedDelegate.m deleted file mode 100644 index 39c9e02729..0000000000 --- a/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPForwardedDelegate.m +++ /dev/null @@ -1 +0,0 @@ -#include "../../src/CUPHTTPForwardedDelegate.m" diff --git a/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPStreamToNSInputStreamAdapter.m b/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPStreamToNSInputStreamAdapter.m deleted file mode 100644 index 46eb84ba89..0000000000 --- a/pkgs/cupertino_http/ios/Sources/cupertino_http/CUPHTTPStreamToNSInputStreamAdapter.m +++ /dev/null @@ -1 +0,0 @@ -#include "../../src/CUPHTTPStreamToNSInputStreamAdapter.m" diff --git a/pkgs/cupertino_http/ios/Sources/cupertino_http/dart_api_dl.c b/pkgs/cupertino_http/ios/Sources/cupertino_http/dart_api_dl.c deleted file mode 100644 index 023f80ab06..0000000000 --- a/pkgs/cupertino_http/ios/Sources/cupertino_http/dart_api_dl.c +++ /dev/null @@ -1 +0,0 @@ -#include "../../src/dart-sdk/include/dart_api_dl.c" From 31d16b136c90bdeb20bc5544a1b80484fc5dc58b Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Fri, 30 Aug 2024 14:33:32 -0700 Subject: [PATCH 4/5] Update --- .../cupertino_http/darwin/cupertino_http.podspec | 1 + .../darwin/cupertino_http/Package.swift | 16 ++-------------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/pkgs/cupertino_http/darwin/cupertino_http.podspec b/pkgs/cupertino_http/darwin/cupertino_http.podspec index 9e09c6698f..58b9e43bb8 100644 --- a/pkgs/cupertino_http/darwin/cupertino_http.podspec +++ b/pkgs/cupertino_http/darwin/cupertino_http.podspec @@ -12,6 +12,7 @@ Pod::Spec.new do |s| s.homepage = 'https://github.com/dart-lang/http/tree/master/pkgs/cupertino_http' s.license = { :type => 'BSD', :file => '../LICENSE' } s.author = { 'TODO' => 'use-valid-author' } + s.source = { :http => 'https://github.com/dart-lang/http/tree/master/pkgs/cupertino_http' } s.source_files = 'cupertino_http/Sources/cupertino_http/**/*' s.ios.dependency 'Flutter' diff --git a/pkgs/cupertino_http/darwin/cupertino_http/Package.swift b/pkgs/cupertino_http/darwin/cupertino_http/Package.swift index 017f28650f..6cb9ad818a 100644 --- a/pkgs/cupertino_http/darwin/cupertino_http/Package.swift +++ b/pkgs/cupertino_http/darwin/cupertino_http/Package.swift @@ -15,25 +15,13 @@ let package = Package( dependencies: [], targets: [ .target( - // TODO: Update your target name. name: "cupertino_http", dependencies: [], resources: [ - // TODO: If your plugin requires a privacy manifest - // (e.g. if it uses any required reason APIs), update the PrivacyInfo.xcprivacy file - // to describe your plugin's privacy impact, and then uncomment this line. - // For more information, see: - // https://developer.apple.com/documentation/bundleresources/privacy_manifest_files - // .process("PrivacyInfo.xcprivacy"), - - // TODO: If you have other resources that need to be bundled with your plugin, refer to - // the following instructions to add them: - // https://developer.apple.com/documentation/xcode/bundling-resources-with-a-swift-package ], cSettings: [ - // TODO: Update your plugin name. - .headerSearchPath("include") - .headerSearchPath("include/cupertino_http") + .headerSearchPath("include/cupertino_http"), + .unsafeFlags(["-fno-objc-arc"]), ] ) ] From 52b50ed5785213347ae0c113679860779a2cb788 Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Tue, 3 Sep 2024 13:54:35 -0700 Subject: [PATCH 5/5] Support dynamic and static linking --- pkgs/cupertino_http/lib/src/utils.dart | 35 +++++++++++++++++--------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/pkgs/cupertino_http/lib/src/utils.dart b/pkgs/cupertino_http/lib/src/utils.dart index 7bc87aa87c..6f7fd8357b 100644 --- a/pkgs/cupertino_http/lib/src/utils.dart +++ b/pkgs/cupertino_http/lib/src/utils.dart @@ -27,21 +27,32 @@ final ncb.NativeCupertinoHttp linkedLibs = () { /// library. final ncb.NativeCupertinoHttp helperLibs = _loadHelperLibrary(); -DynamicLibrary _loadHelperDynamicLibrary() { - if (Platform.isMacOS || Platform.isIOS) { - return DynamicLibrary.open('$_libName.framework/$_libName'); +ncb.NativeCupertinoHttp _loadHelperLibrary() { + if (!Platform.isMacOS && !Platform.isIOS) { + throw UnsupportedError( + 'Platform ${Platform.operatingSystem} is not supported'); } - throw UnsupportedError( - 'Platform ${Platform.operatingSystem} is not supported'); -} - -ncb.NativeCupertinoHttp _loadHelperLibrary() { - final lib = _loadHelperDynamicLibrary(); + late DynamicLibrary lib; + late int Function(Pointer) initializeApi; + late int initializeResult; + + lib = DynamicLibrary.process(); + try { + initializeApi = lib.lookupFunction), + int Function(Pointer)>('Dart_InitializeApiDL'); + // ignore: avoid_catching_errors + } on ArgumentError { + // Dart_InitializeApiDL is not available in the current process. Assume + // that is was build as a dynamic library. + // TODO: remove this when package:cupertino_http no longer supports + // CocoaPods (which uses dynamic linking). + lib = DynamicLibrary.open('$_libName.framework/$_libName'); + initializeApi = lib.lookupFunction), + int Function(Pointer)>('Dart_InitializeApiDL'); + } - final initializeApi = lib.lookupFunction), - int Function(Pointer)>('Dart_InitializeApiDL'); - final initializeResult = initializeApi(NativeApi.initializeApiDLData); + initializeResult = initializeApi(NativeApi.initializeApiDLData); if (initializeResult != 0) { throw StateError('failed to init API.'); }