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 c3e47bac03..58b9e43bb8 100644 --- a/pkgs/cupertino_http/darwin/cupertino_http.podspec +++ b/pkgs/cupertino_http/darwin/cupertino_http.podspec @@ -12,13 +12,9 @@ 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' } - # 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 = 'Classes/**/*' + s.source_files = 'cupertino_http/Sources/cupertino_http/**/*' s.ios.dependency 'Flutter' s.osx.dependency 'FlutterMacOS' s.ios.deployment_target = '12.0' diff --git a/pkgs/cupertino_http/darwin/cupertino_http/Package.swift b/pkgs/cupertino_http/darwin/cupertino_http/Package.swift new file mode 100644 index 0000000000..6cb9ad818a --- /dev/null +++ b/pkgs/cupertino_http/darwin/cupertino_http/Package.swift @@ -0,0 +1,28 @@ +// 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"), + .macOS("10.4"), + ], + products: [ + .library(name: "cupertino-http", targets: ["cupertino_http"]) + ], + dependencies: [], + targets: [ + .target( + name: "cupertino_http", + dependencies: [], + resources: [ + ], + cSettings: [ + .headerSearchPath("include/cupertino_http"), + .unsafeFlags(["-fno-objc-arc"]), + ] + ) + ] +) 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/darwin/cupertino_http/Sources/cupertino_http/include/cupertino_http/.gitkeep b/pkgs/cupertino_http/darwin/cupertino_http/Sources/cupertino_http/include/cupertino_http/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 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/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.'); }