diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index 7ac2dcb..ceecd6c 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -124,7 +124,7 @@ TargetAttributes = { 3530973A202EFB3E006B32D9 = { CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1010; + LastSwiftMigration = 1100; ProvisioningStyle = Automatic; }; }; @@ -309,13 +309,12 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = EX3M59X54A; - HEADER_SEARCH_PATHS = /usr/include/libxml2; INFOPLIST_FILE = Example/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = io.sector42.Example; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -326,13 +325,12 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = EX3M59X54A; - HEADER_SEARCH_PATHS = /usr/include/libxml2; INFOPLIST_FILE = Example/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = io.sector42.Example; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; diff --git a/Example/Example/AppDelegate.swift b/Example/Example/AppDelegate.swift index 916c7cf..8fac0bd 100644 --- a/Example/Example/AppDelegate.swift +++ b/Example/Example/AppDelegate.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { return true } } diff --git a/Example/Example/ViewController.swift b/Example/Example/ViewController.swift index db1c707..ca37003 100644 --- a/Example/Example/ViewController.swift +++ b/Example/Example/ViewController.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/FavIcon.podspec b/FavIcon.podspec index 3091654..8942a2c 100644 --- a/FavIcon.podspec +++ b/FavIcon.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'FavIcon' - s.version = '3.0.6' + s.version = '3.1.0' s.summary = 'A library for downloading website icons' s.homepage = 'https://github.com/leonbreedt/FavIcon' s.license = { :type => 'Apache', :file => 'LICENSE' } @@ -12,7 +12,6 @@ Pod::Spec.new do |s| } s.source_files = 'Sources/**/*.swift' - s.preserve_paths = 'Sources/Modules/*', 'Support/*.sh' s.ios.deployment_target = "9.0" s.osx.deployment_target = "10.10" @@ -22,11 +21,7 @@ Pod::Spec.new do |s| s.requires_arc = true s.pod_target_xcconfig = { - 'SWIFT_VERSION' => '4.0', + 'SWIFT_VERSION' => '5.0', 'SWIFT_WHOLE_MODULE_OPTIMIZATION' => 'YES', } - s.xcconfig = { - 'HEADER_SEARCH_PATHS' => '/usr/include/libxml2', - 'SWIFT_INCLUDE_PATHS' => '$(PODS_TARGET_SRCROOT)/Sources/Modules' - } end diff --git a/FavIcon.xcodeproj/project.pbxproj b/FavIcon.xcodeproj/project.pbxproj index a2cdded..2641a41 100644 --- a/FavIcon.xcodeproj/project.pbxproj +++ b/FavIcon.xcodeproj/project.pbxproj @@ -73,10 +73,10 @@ 353096F92023122E006B32D9 /* Manifest.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = Manifest.json; sourceTree = ""; }; 353096FA2023122E006B32D9 /* BrowserConfig.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = BrowserConfig.xml; sourceTree = ""; }; 353096FD20231263006B32D9 /* DetectionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetectionTests.swift; sourceTree = ""; }; - 35309703202E80B6006B32D9 /* FavIcon.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = FavIcon.xcconfig; path = Sources/FavIcon.xcconfig; sourceTree = ""; }; 3530970B202EE427006B32D9 /* FavIcon.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FavIcon.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3530971F202EE5B5006B32D9 /* FavIconTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FavIconTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 359BE1D02021A81400D20A30 /* FavIconTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavIconTests.swift; sourceTree = ""; }; + 35A00D4C22AFC4FD0093E161 /* Package.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; "FavIcon::FavIcon::Product" /* FavIcon.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = FavIcon.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "FavIcon::FavIconTests::Product" /* FavIconTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = FavIconTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; OBJ_13 /* DownloadTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadTests.swift; sourceTree = ""; }; @@ -169,8 +169,8 @@ OBJ_5 = { isa = PBXGroup; children = ( + 35A00D4C22AFC4FD0093E161 /* Package.swift */, OBJ_7 /* Sources */, - 35309703202E80B6006B32D9 /* FavIcon.xcconfig */, OBJ_11 /* Tests */, OBJ_15 /* Products */, ); @@ -274,33 +274,35 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1010; + LastUpgradeCheck = 1100; TargetAttributes = { 3530970A202EE427006B32D9 = { CreatedOnToolsVersion = 9.2; DevelopmentTeam = EX3M59X54A; - LastSwiftMigration = 1010; + LastSwiftMigration = 1100; ProvisioningStyle = Automatic; }; 3530971E202EE5B5006B32D9 = { CreatedOnToolsVersion = 9.2; DevelopmentTeam = EX3M59X54A; + LastSwiftMigration = 1100; ProvisioningStyle = Automatic; }; "FavIcon::FavIcon" = { - LastSwiftMigration = 0920; + LastSwiftMigration = 1100; }; "FavIcon::FavIconTests" = { - LastSwiftMigration = 0920; + LastSwiftMigration = 1100; }; }; }; buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "FavIcon" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); mainGroup = OBJ_5; productRefGroup = OBJ_15 /* Products */; @@ -476,8 +478,7 @@ SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_INCLUDE_PATHS = "$(SRCROOT)/Sources/Modules"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -542,8 +543,7 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; - SWIFT_INCLUDE_PATHS = "$(SRCROOT)/Sources/Modules"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -606,7 +606,7 @@ SDKROOT = iphoneos; SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; TARGET_NAME = FavIconTests; }; @@ -662,7 +662,7 @@ PRODUCT_NAME = FavIconTests; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; TARGET_NAME = FavIconTests; VALIDATE_PRODUCT = YES; @@ -683,8 +683,7 @@ OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; SUPPORTED_PLATFORMS = macosx; - SWIFT_SWIFT3_OBJC_INFERENCE = Off; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGET_NAME = FavIconTests; }; name = Debug; @@ -703,16 +702,15 @@ OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; SUPPORTED_PLATFORMS = macosx; - SWIFT_SWIFT3_OBJC_INFERENCE = Off; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGET_NAME = FavIconTests; }; name = Release; }; OBJ_3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 35309703202E80B6006B32D9 /* FavIcon.xcconfig */; buildSettings = { + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; @@ -779,10 +777,9 @@ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = macosx; - SWIFT_INCLUDE_PATHS = "$(SRCROOT)/Sources/Modules"; - SWIFT_SWIFT3_OBJC_INFERENCE = Off; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGET_NAME = FavIcon; + VALID_ARCHS = "arm64 x86_64"; }; name = Debug; }; @@ -805,17 +802,16 @@ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = macosx; - SWIFT_INCLUDE_PATHS = "$(SRCROOT)/Sources/Modules"; - SWIFT_SWIFT3_OBJC_INFERENCE = Off; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGET_NAME = FavIcon; + VALID_ARCHS = "arm64 x86_64"; }; name = Release; }; OBJ_4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 35309703202E80B6006B32D9 /* FavIcon.xcconfig */; buildSettings = { + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; diff --git a/FavIcon.xcodeproj/xcshareddata/xcschemes/FavIcon-iOS.xcscheme b/FavIcon.xcodeproj/xcshareddata/xcschemes/FavIcon-iOS.xcscheme index 7122304..d1e59fa 100644 --- a/FavIcon.xcodeproj/xcshareddata/xcschemes/FavIcon-iOS.xcscheme +++ b/FavIcon.xcodeproj/xcshareddata/xcschemes/FavIcon-iOS.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - - - - - - - - - + + + + @@ -23,17 +32,6 @@ - - - - - - - - ⚠️ As of Xcode 11, this library can no longer build using Swift Package Manager. -> Quoting Apple: ->> Unfortunately there is no way to properly reference libxml2 in a Swift package, but we are aware of this issue. ->> I am afraid the only workaround right now is copying and patching the libxml headers but that might cause other issues if your copy of headers get out-of-sync with the ones in SDK :( -> -> You can read the discussion here: https://forums.swift.org/t/referring-to-libxml2-in-swift-package-description/28880 -> -> Until Apple decides to fix this, this library is basically unbuildable :( - +# FavIcon [![License](https://img.shields.io/badge/license-Apache%202.0-lightgrey.svg)](https://raw.githubusercontent.com/leonbreedt/FavIcon/master/LICENSE) [![Build Status](https://travis-ci.org/leonbreedt/FavIcon.svg)](https://travis-ci.org/leonbreedt/FavIcon) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) ![Swift 5.0](https://img.shields.io/badge/Swift-5.0-orange.svg) ![platforms](https://img.shields.io/badge/platforms-iOS%20%7C%20macOS%20-lightgrey.svg) FavIcon is a tiny Swift library for downloading the favicon representing a website. Wait, why is a library needed to do this? Surely it's just a simple HTTP GET of @@ -18,6 +8,22 @@ see how you feel afterwards. ## Quick Start +### Swift Package Manager + +Add it to your `Package.swift` as a dependency: + +```swift +// swift-tools-version:5.0 +import PackageDescription + +let package = Package( + ... + dependencies: [ + .package(url: "https://github.com/leonbreedt/FavIcon.git", from: "3.1.0"), + ], +) +``` + ### CocoaPods *Note:* CocoaPods (1.4.0 or later) is required. @@ -26,7 +32,7 @@ Add it to your `Podfile`: ```ruby use_frameworks! -pod 'FavIcon', '~> 3.0.0' +pod 'FavIcon', '~> 3.1.0' ``` ### Carthage @@ -34,7 +40,7 @@ pod 'FavIcon', '~> 3.0.0' Add it to your `Cartfile`: ```ogdl -github "leonbreedt/FavIcon" ~> 3.0.0 +github "leonbreedt/FavIcon" ~> 3.1.0 ``` ## Features diff --git a/Sources/FavIcon.xcconfig b/Sources/FavIcon.xcconfig deleted file mode 100644 index 9dd0e6c..0000000 --- a/Sources/FavIcon.xcconfig +++ /dev/null @@ -1 +0,0 @@ -LIBXML2_INCLUDE_DIR = /usr/include/libxml2 diff --git a/Sources/FavIcon/ContentTypes.swift b/Sources/FavIcon/ContentTypes.swift index 982f138..f0f57d0 100644 --- a/Sources/FavIcon/ContentTypes.swift +++ b/Sources/FavIcon/ContentTypes.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/Sources/FavIcon/Detection.swift b/Sources/FavIcon/Detection.swift index a9f3330..66926cf 100644 --- a/Sources/FavIcon/Detection.swift +++ b/Sources/FavIcon/Detection.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -185,8 +185,9 @@ private func parseHTMLIconSizes(_ string: String?) -> [IconSize] { } extension IconSize: Hashable { - var hashValue: Int { - return width.hashValue ^ height.hashValue + func hash(into hasher: inout Hasher) { + hasher.combine(width) + hasher.combine(height) } } diff --git a/Sources/FavIcon/Download.swift b/Sources/FavIcon/Download.swift index 5173798..b15bc08 100644 --- a/Sources/FavIcon/Download.swift +++ b/Sources/FavIcon/Download.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/Sources/FavIcon/FavIcon.h b/Sources/FavIcon/FavIcon.h index fdc0ddd..133d4dc 100644 --- a/Sources/FavIcon/FavIcon.h +++ b/Sources/FavIcon/FavIcon.h @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/Sources/FavIcon/FavIcon.swift b/Sources/FavIcon/FavIcon.swift index 0a48fd4..36d09e1 100644 --- a/Sources/FavIcon/FavIcon.swift +++ b/Sources/FavIcon/FavIcon.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/Sources/FavIcon/HTML.swift b/Sources/FavIcon/HTML.swift index a05a4b7..249363f 100644 --- a/Sources/FavIcon/HTML.swift +++ b/Sources/FavIcon/HTML.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -16,7 +16,7 @@ // import Foundation -import libxmlFavicon +import libxml2 final class HTMLDocument { fileprivate var _document: htmlDocPtr! @@ -31,8 +31,9 @@ final class HTMLDocument { guard data.count > 0 else { return } - _document = data.withUnsafeBytes { (p: UnsafePointer) -> htmlDocPtr? in - return htmlReadMemory(p, Int32(data.count), nil, nil, 0) + data.withUnsafeBytes { ptr in + guard let baseAddress = ptr.baseAddress else { return } + _document = htmlReadMemory(baseAddress.assumingMemoryBound(to: Int8.self), Int32(data.count), nil, nil, 0) } } diff --git a/Sources/FavIcon/Icon.swift b/Sources/FavIcon/Icon.swift index 6578189..51d5770 100644 --- a/Sources/FavIcon/Icon.swift +++ b/Sources/FavIcon/Icon.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/Sources/FavIcon/IconType.swift b/Sources/FavIcon/IconType.swift index cecb012..f9a20dd 100644 --- a/Sources/FavIcon/IconType.swift +++ b/Sources/FavIcon/IconType.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/Sources/FavIcon/XML.swift b/Sources/FavIcon/XML.swift index e0af54c..b204ed5 100644 --- a/Sources/FavIcon/XML.swift +++ b/Sources/FavIcon/XML.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -16,9 +16,7 @@ // import Foundation - -import Foundation -import libxmlFavicon +import libxml2 final class XMLDocument { fileprivate var _document: xmlDocPtr! @@ -33,8 +31,9 @@ final class XMLDocument { guard data.count > 0 else { return } - _document = data.withUnsafeBytes { (p: UnsafePointer) -> xmlDocPtr? in - return xmlReadMemory(p, Int32(data.count), nil, nil, 0) + data.withUnsafeBytes { ptr in + guard let baseAddress = ptr.baseAddress else { return } + _document = xmlReadMemory(baseAddress.assumingMemoryBound(to: Int8.self), Int32(data.count), nil, nil, 0) } } diff --git a/Sources/Info.plist b/Sources/Info.plist index 565d9a2..263cdea 100644 --- a/Sources/Info.plist +++ b/Sources/Info.plist @@ -15,13 +15,13 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.0 + 3.1 CFBundleSignature ???? CFBundleVersion $(CURRENT_PROJECT_VERSION) NSHumanReadableCopyright - Copyright © 2018 Leon Breedt. All rights reserved. + Copyright © 2020 Leon Breedt. All rights reserved. NSPrincipalClass diff --git a/Sources/Modules/libxml2-favicon.h b/Sources/Modules/libxml2-favicon.h deleted file mode 100644 index 15e936e..0000000 --- a/Sources/Modules/libxml2-favicon.h +++ /dev/null @@ -1,4 +0,0 @@ -#import -#import -#import -#import \ No newline at end of file diff --git a/Sources/Modules/module.modulemap b/Sources/Modules/module.modulemap deleted file mode 100644 index e82060e..0000000 --- a/Sources/Modules/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module libxmlFavicon [system] { - link "xml2" - umbrella header "libxml2-favicon.h" - export * - module * { export * } -} \ No newline at end of file diff --git a/Tests/FavIconTests/DetectionTests.swift b/Tests/FavIconTests/DetectionTests.swift index fc924d9..a8e562f 100644 --- a/Tests/FavIconTests/DetectionTests.swift +++ b/Tests/FavIconTests/DetectionTests.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/Tests/FavIconTests/DownloadTests.swift b/Tests/FavIconTests/DownloadTests.swift index 98fd5f9..f70a2f0 100644 --- a/Tests/FavIconTests/DownloadTests.swift +++ b/Tests/FavIconTests/DownloadTests.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/Tests/FavIconTests/FavIconTests.swift b/Tests/FavIconTests/FavIconTests.swift index aec7bbf..1e37bdb 100644 --- a/Tests/FavIconTests/FavIconTests.swift +++ b/Tests/FavIconTests/FavIconTests.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/Tests/FavIconTests/HTMLTests.swift b/Tests/FavIconTests/HTMLTests.swift index 41774c5..86414d6 100644 --- a/Tests/FavIconTests/HTMLTests.swift +++ b/Tests/FavIconTests/HTMLTests.swift @@ -1,6 +1,6 @@ // // FavIcon -// Copyright © 2018 Leon Breedt +// Copyright © 2020 Leon Breedt // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License.