diff --git a/.gitignore b/.gitignore index 8ba5ae96e2..ade05ff35a 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ XMPPFramework*.zip Pods/ Carthage/ +.swiftpm/ +.build/ diff --git a/.swift-version b/.swift-version deleted file mode 100644 index 5186d07068..0000000000 --- a/.swift-version +++ /dev/null @@ -1 +0,0 @@ -4.0 diff --git a/.travis.yml b/.travis.yml index b87f9320e1..374cca531e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ jobs: - xcodebuild -scheme SPM_XMPPFramework-Package -destination "name=iPhone 11 Pro" test - stage: Xcode Tests - osx_image: xcode9.3 + osx_image: xcode12.2 cache: directories: - Carthage @@ -23,12 +23,12 @@ jobs: before_install: # - brew update # - brew outdated carthage || brew upgrade carthage - - export IOS_SIMULATOR_DESTINATION="platform=iOS Simulator,name=iPhone 8,OS=11.3" + - export IOS_SIMULATOR_DESTINATION="platform=iOS Simulator,name=iPhone 8,OS=14.2" install: - carthage bootstrap --no-build - - cd Xcode - bundle install + - cd Xcode - bundle exec pod repo update --silent - bundle exec pod install --project-directory=Testing-iOS/ - bundle exec pod install --project-directory=Testing-macOS/ @@ -47,3 +47,5 @@ jobs: - xcodebuild -project Xcode/Testing-Carthage/XMPPFrameworkTests.xcodeproj -scheme "XMPPFrameworkTests (macOS)" -sdk macosx -arch x86_64 test | xcpretty -c - xcodebuild -project Xcode/Testing-Carthage/XMPPFrameworkSwiftTests.xcodeproj -scheme "XMPPFrameworkTests (macOS)" -sdk macosx -arch x86_64 test | xcpretty -c - travis_retry xcodebuild -project Xcode/Testing-Carthage/XMPPFrameworkTests.xcodeproj -scheme "XMPPFrameworkTests (iOS)" -sdk iphonesimulator -destination "$IOS_SIMULATOR_DESTINATION" test | xcpretty -c + + - bundle exec pod spec lint XMPPFramework.podspec --verbose --allow-warnings diff --git a/Extensions/XEP-0054/CoreDataStorage/XMPPvCardTransformer.h b/Extensions/XEP-0054/CoreDataStorage/XMPPvCardTransformer.h index 7d92732a1e..53d651a0f9 100644 --- a/Extensions/XEP-0054/CoreDataStorage/XMPPvCardTransformer.h +++ b/Extensions/XEP-0054/CoreDataStorage/XMPPvCardTransformer.h @@ -10,7 +10,7 @@ NS_ASSUME_NONNULL_BEGIN -API_AVAILABLE(ios(12.0)) +API_AVAILABLE(ios(12.0), tvos(12.0), macos(10.14)) @interface XMPPvCardTransformer : NSSecureUnarchiveFromDataTransformer @end diff --git a/Xcode/Gemfile b/Gemfile similarity index 52% rename from Xcode/Gemfile rename to Gemfile index 7067df1c92..a891ee52b2 100644 --- a/Xcode/Gemfile +++ b/Gemfile @@ -1,3 +1,3 @@ source "https://rubygems.org" -gem "cocoapods", "~> 1.5.0" +gem 'cocoapods' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000000..f6e145e5fb --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,93 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.3) + activesupport (5.2.4.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + algoliasearch (1.27.5) + httpclient (~> 2.8, >= 2.8.3) + json (>= 1.5.1) + atomos (0.1.3) + claide (1.0.3) + cocoapods (1.10.1) + addressable (~> 2.6) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.10.1) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 1.4.0, < 2.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.4.0, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + escape (~> 0.0.4) + fourflusher (>= 2.3.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.6.6) + nap (~> 1.0) + ruby-macho (~> 1.4) + xcodeproj (>= 1.19.0, < 2.0) + cocoapods-core (1.10.1) + activesupport (> 5.0, < 6) + addressable (~> 2.6) + algoliasearch (~> 1.0) + concurrent-ruby (~> 1.1) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + netrc (~> 0.11) + public_suffix + typhoeus (~> 1.0) + cocoapods-deintegrate (1.0.4) + cocoapods-downloader (1.4.0) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.0) + cocoapods-trunk (1.5.0) + nap (>= 0.8, < 2.0) + netrc (~> 0.11) + cocoapods-try (1.2.0) + colored2 (3.1.2) + concurrent-ruby (1.1.7) + escape (0.0.4) + ethon (0.12.0) + ffi (>= 1.3.0) + ffi (1.14.2) + fourflusher (2.3.1) + fuzzy_match (2.0.4) + gh_inspector (1.1.3) + httpclient (2.8.3) + i18n (1.8.7) + concurrent-ruby (~> 1.0) + json (2.5.1) + minitest (5.14.3) + molinillo (0.6.6) + nanaimo (0.3.0) + nap (1.1.0) + netrc (0.11.0) + public_suffix (4.0.6) + ruby-macho (1.4.0) + thread_safe (0.3.6) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (1.2.9) + thread_safe (~> 0.1) + xcodeproj (1.19.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + +PLATFORMS + ruby + +DEPENDENCIES + cocoapods + +BUNDLED WITH + 2.1.4 diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000000..6e8127dbc0 --- /dev/null +++ b/Package.resolved @@ -0,0 +1,52 @@ +{ + "object": { + "pins": [ + { + "package": "CocoaAsyncSocket", + "repositoryURL": "https://github.com/robbiehanson/CocoaAsyncSocket.git", + "state": { + "branch": null, + "revision": "dbdc00669c1ced63b27c3c5f052ee4d28f10150c", + "version": "7.6.5" + } + }, + { + "package": "CocoaLumberjack", + "repositoryURL": "https://github.com/CocoaLumberjack/CocoaLumberjack.git", + "state": { + "branch": null, + "revision": "b06614d2373a9830c87817144d47ce654980a2d7", + "version": "3.7.0" + } + }, + { + "package": "KissXML", + "repositoryURL": "https://github.com/robbiehanson/KissXML.git", + "state": { + "branch": null, + "revision": "990cdef080213b5a3f0d9709b845d553bd3ddb97", + "version": "5.3.3" + } + }, + { + "package": "libidn", + "repositoryURL": "https://github.com/chrisballinger/libidn-framework.git", + "state": { + "branch": null, + "revision": "fc2700ce83a279ac121aa9f59eedacfadd24ab5b", + "version": "1.35.1" + } + }, + { + "package": "swift-log", + "repositoryURL": "https://github.com/apple/swift-log.git", + "state": { + "branch": null, + "revision": "173f567a2dfec11d74588eea82cecea555bdc0bc", + "version": "1.4.0" + } + } + ] + }, + "version": 1 +} diff --git a/XMPPFramework.podspec b/XMPPFramework.podspec index d879de1571..7a1f55e22a 100644 --- a/XMPPFramework.podspec +++ b/XMPPFramework.podspec @@ -2,7 +2,7 @@ Pod::Spec.new do |s| s.name = 'XMPPFramework' s.version = '4.1.1' - s.osx.deployment_target = '10.9' + s.osx.deployment_target = '10.10' s.ios.deployment_target = '9.0' s.tvos.deployment_target = '9.0' @@ -21,6 +21,7 @@ Pod::Spec.new do |s| on a 12-core Mac Pro. (And it won\'t block the main thread... at all).' s.requires_arc = true + s.swift_versions = ['5.0'] s.default_subspec = 'default' @@ -42,12 +43,10 @@ Pod::Spec.new do |s| end s.subspec 'Swift' do |ss| - ss.ios.deployment_target = '9.0' - ss.tvos.deployment_target = '9.0' - ss.osx.deployment_target = '10.10' ss.source_files = 'Swift/**/*.swift' ss.dependency 'XMPPFramework/default' ss.dependency 'CocoaLumberjack/Swift' end + end diff --git a/Xcode/Gemfile.lock b/Xcode/Gemfile.lock deleted file mode 100644 index 98a3e7b07a..0000000000 --- a/Xcode/Gemfile.lock +++ /dev/null @@ -1,76 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.0) - activesupport (4.2.10) - i18n (~> 0.7) - minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) - tzinfo (~> 1.1) - atomos (0.1.2) - claide (1.0.2) - cocoapods (1.5.3) - activesupport (>= 4.0.2, < 5) - claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.5.3) - cocoapods-deintegrate (>= 1.0.2, < 2.0) - cocoapods-downloader (>= 1.2.0, < 2.0) - cocoapods-plugins (>= 1.0.0, < 2.0) - cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-stats (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.3.0, < 2.0) - cocoapods-try (>= 1.1.0, < 2.0) - colored2 (~> 3.1) - escape (~> 0.0.4) - fourflusher (~> 2.0.1) - gh_inspector (~> 1.0) - molinillo (~> 0.6.5) - nap (~> 1.0) - ruby-macho (~> 1.1) - xcodeproj (>= 1.5.7, < 2.0) - cocoapods-core (1.5.3) - activesupport (>= 4.0.2, < 6) - fuzzy_match (~> 2.0.4) - nap (~> 1.0) - cocoapods-deintegrate (1.0.2) - cocoapods-downloader (1.2.1) - cocoapods-plugins (1.0.0) - nap - cocoapods-search (1.0.0) - cocoapods-stats (1.0.0) - cocoapods-trunk (1.3.0) - nap (>= 0.8, < 2.0) - netrc (~> 0.11) - cocoapods-try (1.1.0) - colored2 (3.1.2) - concurrent-ruby (1.0.5) - escape (0.0.4) - fourflusher (2.0.1) - fuzzy_match (2.0.4) - gh_inspector (1.1.3) - i18n (0.9.5) - concurrent-ruby (~> 1.0) - minitest (5.11.3) - molinillo (0.6.5) - nanaimo (0.2.5) - nap (1.1.0) - netrc (0.11.0) - ruby-macho (1.1.0) - thread_safe (0.3.6) - tzinfo (1.2.5) - thread_safe (~> 0.1) - xcodeproj (1.5.9) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.2) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - cocoapods (~> 1.5.0) - -BUNDLED WITH - 1.16.1 diff --git a/Xcode/Testing-iOS/Podfile b/Xcode/Testing-iOS/Podfile index 0e111007fc..c08a266005 100644 --- a/Xcode/Testing-iOS/Podfile +++ b/Xcode/Testing-iOS/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -platform :ios, '8.0' +platform :ios, '9.0' # Uncomment this line if you're using Swift use_frameworks! diff --git a/Xcode/Testing-iOS/Podfile.lock b/Xcode/Testing-iOS/Podfile.lock index cffb0d432e..46e173ecab 100644 --- a/Xcode/Testing-iOS/Podfile.lock +++ b/Xcode/Testing-iOS/Podfile.lock @@ -10,14 +10,14 @@ PODS: - CocoaLumberjack/Default - KissXML (5.2.3) - libidn (1.35) - - XMPPFramework (4.0): - - XMPPFramework/default (= 4.0) - - XMPPFramework/default (4.0): - - CocoaAsyncSocket + - XMPPFramework (4.1.1): + - XMPPFramework/default (= 4.1.1) + - XMPPFramework/default (4.1.1): + - CocoaAsyncSocket (~> 7.6) - CocoaLumberjack - - KissXML - - libidn - - XMPPFramework/Swift (4.0): + - KissXML (~> 5.2) + - libidn (~> 1.35) + - XMPPFramework/Swift (4.1.1): - CocoaLumberjack/Swift - XMPPFramework/default @@ -26,7 +26,7 @@ DEPENDENCIES: - XMPPFramework/Swift (from `../../`) SPEC REPOS: - https://github.com/cocoapods/specs.git: + trunk: - CocoaAsyncSocket - CocoaLumberjack - KissXML @@ -41,8 +41,8 @@ SPEC CHECKSUMS: CocoaLumberjack: db7cc9e464771f12054c22ff6947c5a58d43a0fd KissXML: 09f88ff8161fd058d67b70740b8b516687b52823 libidn: e4576a956b797c584c77aaedfc6e3dd639b61bdc - XMPPFramework: d853f01ec7a6ca72fdb45682ccbaf5ed6fdae9a3 + XMPPFramework: aab9f421bbe4b5072b04923446a9ad641813ec0c -PODFILE CHECKSUM: ce5651a01a2b1f779d8d999ff8c04566b9161d73 +PODFILE CHECKSUM: 6ee92949b0e1d2b225b8cc6dce35e6fbfe33e878 -COCOAPODS: 1.5.3 +COCOAPODS: 1.10.1 diff --git a/Xcode/Testing-iOS/XMPPFrameworkTests.xcodeproj/project.pbxproj b/Xcode/Testing-iOS/XMPPFrameworkTests.xcodeproj/project.pbxproj index 838c4bfbe6..a1da0373ac 100644 --- a/Xcode/Testing-iOS/XMPPFrameworkTests.xcodeproj/project.pbxproj +++ b/Xcode/Testing-iOS/XMPPFrameworkTests.xcodeproj/project.pbxproj @@ -202,7 +202,7 @@ 63F50D8E1C60208100CA0201 /* Sources */, 63F50D8F1C60208100CA0201 /* Frameworks */, 63F50D901C60208100CA0201 /* Resources */, - CCA1BE22B534ECFCFCF57023 /* [CP] Embed Pods Frameworks */, + F2B213F21094DAB88B38E3C1 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -312,7 +312,7 @@ files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-XMPPFrameworkSwiftTests/Pods-XMPPFrameworkSwiftTests-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-XMPPFrameworkSwiftTests/Pods-XMPPFrameworkSwiftTests-frameworks.sh", "${BUILT_PRODUCTS_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework", "${BUILT_PRODUCTS_DIR}/CocoaLumberjack.default-Swift/CocoaLumberjack.framework", "${BUILT_PRODUCTS_DIR}/KissXML/KissXML.framework", @@ -329,7 +329,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-XMPPFrameworkSwiftTests/Pods-XMPPFrameworkSwiftTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-XMPPFrameworkSwiftTests/Pods-XMPPFrameworkSwiftTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; C780DEB107E11DAC2B0C9F6A /* [CP] Check Pods Manifest.lock */ = { @@ -350,13 +350,13 @@ 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; }; - CCA1BE22B534ECFCFCF57023 /* [CP] Embed Pods Frameworks */ = { + F2B213F21094DAB88B38E3C1 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-XMPPFrameworkTests/Pods-XMPPFrameworkTests-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-XMPPFrameworkTests/Pods-XMPPFrameworkTests-frameworks.sh", "${BUILT_PRODUCTS_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework", "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", "${BUILT_PRODUCTS_DIR}/KissXML/KissXML.framework", @@ -373,7 +373,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-XMPPFrameworkTests/Pods-XMPPFrameworkTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-XMPPFrameworkTests/Pods-XMPPFrameworkTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ diff --git a/Xcode/Testing-macOS/Podfile.lock b/Xcode/Testing-macOS/Podfile.lock index e8e29600a0..56ad95e953 100644 --- a/Xcode/Testing-macOS/Podfile.lock +++ b/Xcode/Testing-macOS/Podfile.lock @@ -10,14 +10,14 @@ PODS: - CocoaLumberjack/Default - KissXML (5.2.3) - libidn (1.35) - - XMPPFramework (4.0): - - XMPPFramework/default (= 4.0) - - XMPPFramework/default (4.0): - - CocoaAsyncSocket + - XMPPFramework (4.1.1): + - XMPPFramework/default (= 4.1.1) + - XMPPFramework/default (4.1.1): + - CocoaAsyncSocket (~> 7.6) - CocoaLumberjack - - KissXML - - libidn - - XMPPFramework/Swift (4.0): + - KissXML (~> 5.2) + - libidn (~> 1.35) + - XMPPFramework/Swift (4.1.1): - CocoaLumberjack/Swift - XMPPFramework/default @@ -26,7 +26,7 @@ DEPENDENCIES: - XMPPFramework/Swift (from `../../`) SPEC REPOS: - https://github.com/cocoapods/specs.git: + trunk: - CocoaAsyncSocket - CocoaLumberjack - KissXML @@ -41,8 +41,8 @@ SPEC CHECKSUMS: CocoaLumberjack: db7cc9e464771f12054c22ff6947c5a58d43a0fd KissXML: 09f88ff8161fd058d67b70740b8b516687b52823 libidn: e4576a956b797c584c77aaedfc6e3dd639b61bdc - XMPPFramework: d853f01ec7a6ca72fdb45682ccbaf5ed6fdae9a3 + XMPPFramework: aab9f421bbe4b5072b04923446a9ad641813ec0c PODFILE CHECKSUM: d06d8aad56c091bf567d7a678dfe9985eec650d7 -COCOAPODS: 1.5.3 +COCOAPODS: 1.10.1 diff --git a/Xcode/Testing-macOS/XMPPFrameworkTests.xcodeproj/project.pbxproj b/Xcode/Testing-macOS/XMPPFrameworkTests.xcodeproj/project.pbxproj index 5c55c42f81..3e5006f873 100644 --- a/Xcode/Testing-macOS/XMPPFrameworkTests.xcodeproj/project.pbxproj +++ b/Xcode/Testing-macOS/XMPPFrameworkTests.xcodeproj/project.pbxproj @@ -289,7 +289,7 @@ files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-XMPPFrameworkTests/Pods-XMPPFrameworkTests-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-XMPPFrameworkTests/Pods-XMPPFrameworkTests-frameworks.sh", "${BUILT_PRODUCTS_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework", "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", "${BUILT_PRODUCTS_DIR}/KissXML/KissXML.framework", @@ -306,7 +306,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-XMPPFrameworkTests/Pods-XMPPFrameworkTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-XMPPFrameworkTests/Pods-XMPPFrameworkTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; 327BAEDD88C69C499981F4E8 /* [CP] Embed Pods Frameworks */ = { @@ -315,7 +315,7 @@ files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-XMPPFrameworkSwiftTests/Pods-XMPPFrameworkSwiftTests-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-XMPPFrameworkSwiftTests/Pods-XMPPFrameworkSwiftTests-frameworks.sh", "${BUILT_PRODUCTS_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework", "${BUILT_PRODUCTS_DIR}/CocoaLumberjack.default-Swift/CocoaLumberjack.framework", "${BUILT_PRODUCTS_DIR}/KissXML/KissXML.framework", @@ -332,7 +332,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-XMPPFrameworkSwiftTests/Pods-XMPPFrameworkSwiftTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-XMPPFrameworkSwiftTests/Pods-XMPPFrameworkSwiftTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; 363412D993A683505AF253DE /* [CP] Check Pods Manifest.lock */ = {