From 16b9728e067ede82e01fabfe432d4b6874a451ff Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Sat, 8 Jun 2019 22:20:23 +0300 Subject: [PATCH 01/29] Increase the version lower bound of BBD to 1.4.1 That version of BBD comes with a fix for incompatibility problems with Swift 5. --- Cartfile | 2 +- Package.swift | 2 +- SWCompression.podspec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cartfile b/Cartfile index 4025b2c3..5b1c387b 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1 @@ -github "tsolomko/BitByteData" ~> 1.4 +github "tsolomko/BitByteData" ~> 1.4.1 diff --git a/Package.swift b/Package.swift index 15c77670..cd3ed74f 100644 --- a/Package.swift +++ b/Package.swift @@ -13,7 +13,7 @@ let package = Package( // .package(url: "https://github.com/jakeheis/SwiftCLI", // from: "5.2.0"), .package(url: "https://github.com/tsolomko/BitByteData", - from: "1.4.0"), + from: "1.4.1"), ], targets: [ // SWCOMP: Uncomment the lines below to build swcomp example program. diff --git a/SWCompression.podspec b/SWCompression.podspec index e00a0841..e5c444f2 100644 --- a/SWCompression.podspec +++ b/SWCompression.podspec @@ -22,7 +22,7 @@ Pod::Spec.new do |s| s.swift_version = "4.2" - s.dependency "BitByteData", "~> 1.4.0" + s.dependency "BitByteData", "~> 1.4.1" s.subspec "Deflate" do |sp| sp.source_files = "Sources/{Deflate/*,Common/*,Common/CodingTree/*}.swift" From c987e8b4f93af869dbe934f0ac4163384b26c758 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Sat, 8 Jun 2019 22:22:20 +0300 Subject: [PATCH 02/29] Prepare for 4.5.2 release --- .jazzy.yaml | 4 ++-- CHANGELOG.md | 4 ++++ SWCompression.podspec | 2 +- SWCompression.xcodeproj/SWCompression.plist | 4 ++-- SWCompression.xcodeproj/TestSWCompression.plist | 4 ++-- SWCompression.xcodeproj/project.pbxproj | 8 ++++---- Sources/swcomp/main.swift | 2 +- 7 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.jazzy.yaml b/.jazzy.yaml index 3cb73961..1fa8bcaf 100644 --- a/.jazzy.yaml +++ b/.jazzy.yaml @@ -3,11 +3,11 @@ sourcekitten_sourcefile: docs.json clean: true author: Timofey Solomko module: SWCompression -module_version: 4.5.1 +module_version: 4.5.2 copyright: '© 2019 Timofey Solomko' readme: README.md github_url: https://github.com/tsolomko/SWCompression -github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.5.1 +github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.5.2 theme: fullwidth custom_categories: diff --git a/CHANGELOG.md b/CHANGELOG.md index ac456424..ebf95cad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 4.5.2 + +- Increased the lowest required version of BitByteData dependency to 1.4.1. + ## 4.5.1 - Minimum required version of BitByteData is now 1.4.0. diff --git a/SWCompression.podspec b/SWCompression.podspec index e5c444f2..c73dc0d5 100644 --- a/SWCompression.podspec +++ b/SWCompression.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SWCompression" - s.version = "4.5.1" + s.version = "4.5.2" s.summary = "A framework with functions for working with compression, archives and containers." s.description = "A framework with (de)compression algorithms and functions for processing various archives and containers." diff --git a/SWCompression.xcodeproj/SWCompression.plist b/SWCompression.xcodeproj/SWCompression.plist index 177be55a..d4ce4ec9 100644 --- a/SWCompression.xcodeproj/SWCompression.plist +++ b/SWCompression.xcodeproj/SWCompression.plist @@ -15,9 +15,9 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.5.1 + 4.5.2 CFBundleVersion - 67 + 68 NSHumanReadableCopyright Copyright © 2019 Timofey Solomko. All rights reserved. diff --git a/SWCompression.xcodeproj/TestSWCompression.plist b/SWCompression.xcodeproj/TestSWCompression.plist index 4bad99fe..71b075c1 100644 --- a/SWCompression.xcodeproj/TestSWCompression.plist +++ b/SWCompression.xcodeproj/TestSWCompression.plist @@ -15,8 +15,8 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 4.5.1 + 4.5.2 CFBundleVersion - 67 + 68 diff --git a/SWCompression.xcodeproj/project.pbxproj b/SWCompression.xcodeproj/project.pbxproj index d524c248..344a32f4 100644 --- a/SWCompression.xcodeproj/project.pbxproj +++ b/SWCompression.xcodeproj/project.pbxproj @@ -1236,7 +1236,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 67; + CURRENT_PROJECT_VERSION = 68; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -1293,7 +1293,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 67; + CURRENT_PROJECT_VERSION = 68; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; "FRAMEWORK_SEARCH_PATHS[sdk=appletvos*]" = "\"$(SRCROOT)/Carthage/Build/tvOS\""; @@ -1331,7 +1331,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 67; + DYLIB_CURRENT_VERSION = 68; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = SWCompression.xcodeproj/SWCompression.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1359,7 +1359,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 67; + DYLIB_CURRENT_VERSION = 68; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = SWCompression.xcodeproj/SWCompression.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; diff --git a/Sources/swcomp/main.swift b/Sources/swcomp/main.swift index a9fb8607..ba46ff27 100644 --- a/Sources/swcomp/main.swift +++ b/Sources/swcomp/main.swift @@ -7,7 +7,7 @@ import Foundation import SWCompression import SwiftCLI -let cli = CLI(name: "swcomp", version: "4.5.1", +let cli = CLI(name: "swcomp", version: "4.5.2", description: """ swcomp - small command-line client for SWCompression framework. Serves as an example of SWCompression usage. From decce3e04052db3ec79f336dac42605f800b9b16 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Wed, 1 May 2019 19:18:10 +0300 Subject: [PATCH 03/29] Migrate (somewhat) to Swift 5.0 I am unable to perform automatic migration using Xcode 10.2, since my macbook doesn't support that version of Xcode, so I installed Swift 5.0 toolchain and performed most of the steps manually. --- .swift-version | 2 +- .travis.yml | 4 ++-- Package.swift | 4 ++-- SWCompression.podspec | 2 +- SWCompression.xcodeproj/project.pbxproj | 6 ++---- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.swift-version b/.swift-version index bf77d549..819e07a2 100644 --- a/.swift-version +++ b/.swift-version @@ -1 +1 @@ -4.2 +5.0 diff --git a/.travis.yml b/.travis.yml index a70db7bf..f99967d1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ jobs: - stage: test language: swift os: osx - osx_image: xcode10.1 + osx_image: xcode10.2 before_install: - brew update install: @@ -26,7 +26,7 @@ jobs: if: tag IS present language: generic os: osx - osx_image: xcode10.1 + osx_image: xcode10.2 env: secure: iavIkrus2Xd3b086nz2srMGl52yqzLuCdhyEAhMODVqkzqMQ17s10y1TNb+vkepd0HgxI9j57d5X7tfChjWuWDwE2hZKjr/Kx2DfiUr1AKQD6ymuGrq/0Vv6yL9dfPU8goFArcrsBcyVKczLtTuLCKL498ZqokkQc/3kGvzW74lv+z410MfHS9/tvToO/yXJckL6qJ2XBAiElfOO0rEkllTeCo6N3bjcHZ2o7PE0K+CHYxwNKj0TmPmuNWZ3U4fzoWzkk01re1C1l5cpSb20g+2aGyi0yYX+PomX7fIIqNq9vmmyoeNdr35yqoQv/0zFeFnps83NKmZLAjSUhiUdhlbuBLBE+w8544LOaZnMDlFmpDjgyaVnRrOh0NrBB1FwU48aGfX5ljRQmk/07FTEUjvwvGGoOpz8lrLZi148FMHEospL3Sf7d8K+Q9WdtLTGk7HCnbOVcxS6oB/SWF/Cj6n5wu+EI1floBaZEsNPR40Gd4eM/Ik/E3lDrZThGDCWQsao981wm7IfEDBR1nuMME8gpZINFANNS1+5miFaGdTnDTp4Yd5MGEFZm+K8x+TG1891NwNH1ZmKXlypJXiUzvSjbh2ViNJGekdQj9q2gj2ZFlCfHJ05adwJ4w9qRuF00HpAOD6At6EnsjDXFJeTZS5dj8fi2YsU9or8KfTFoNY= addons: diff --git a/Package.swift b/Package.swift index cd3ed74f..0afd8fc5 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:4.0 +// swift-tools-version:5.0 import PackageDescription let package = Package( @@ -28,5 +28,5 @@ let package = Package( path: "Sources", sources: ["Common", "7-Zip", "BZip2", "Deflate", "GZip", "LZMA", "LZMA2", "TAR", "XZ", "ZIP", "Zlib"]), ], - swiftLanguageVersions: [4] + swiftLanguageVersions: [.v5] ) diff --git a/SWCompression.podspec b/SWCompression.podspec index c73dc0d5..a5095884 100644 --- a/SWCompression.podspec +++ b/SWCompression.podspec @@ -20,7 +20,7 @@ Pod::Spec.new do |s| s.tvos.deployment_target = "9.0" s.watchos.deployment_target = "2.0" - s.swift_version = "4.2" + s.swift_version = "5.0" s.dependency "BitByteData", "~> 1.4.1" diff --git a/SWCompression.xcodeproj/project.pbxproj b/SWCompression.xcodeproj/project.pbxproj index 344a32f4..0542724e 100644 --- a/SWCompression.xcodeproj/project.pbxproj +++ b/SWCompression.xcodeproj/project.pbxproj @@ -1265,6 +1265,7 @@ SDKROOT = macosx; SUPPORTED_PLATFORMS = "macosx watchsimulator iphonesimulator appletvsimulator watchos appletvos iphoneos"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; TVOS_DEPLOYMENT_TARGET = 9.0; VERSIONING_SYSTEM = "apple-generic"; WATCHOS_DEPLOYMENT_TARGET = 2.0; @@ -1319,6 +1320,7 @@ SDKROOT = macosx; SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator"; SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_VERSION = 5.0; TVOS_DEPLOYMENT_TARGET = 9.0; VERSIONING_SYSTEM = "apple-generic"; WATCHOS_DEPLOYMENT_TARGET = 2.0; @@ -1349,7 +1351,6 @@ PRODUCT_BUNDLE_IDENTIFIER = me.tsolomko.SWCompression; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_VERSION = 4.2; }; name = Debug; }; @@ -1377,7 +1378,6 @@ PRODUCT_BUNDLE_IDENTIFIER = me.tsolomko.SWCompression; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_VERSION = 4.2; }; name = Release; }; @@ -1395,7 +1395,6 @@ ); PRODUCT_BUNDLE_IDENTIFIER = me.tsolomko.TestSWCompression; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; }; name = Debug; }; @@ -1413,7 +1412,6 @@ ); PRODUCT_BUNDLE_IDENTIFIER = me.tsolomko.TestSWCompression; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; }; name = Release; }; From f6949a8f66ff1d30d127370962b96b3bfa584365 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Wed, 1 May 2019 19:30:48 +0300 Subject: [PATCH 04/29] Replace the usage of the deprecated Data(bytes:) initializer --- Sources/7-Zip/7zContainer.swift | 4 ++-- Sources/BZip2/BZip2.swift | 2 +- Sources/Common/DeltaFilter.swift | 2 +- Sources/Deflate/Deflate.swift | 2 +- Sources/GZip/GzipArchive.swift | 6 +++--- Sources/LZMA/LZMA.swift | 2 +- Sources/LZMA2/LZMA2.swift | 2 +- Sources/TAR/TarEntryInfo.swift | 4 ++-- Sources/ZIP/ZipContainer.swift | 2 +- Sources/ZIP/ZipEndOfCentralDirectory.swift | 2 +- Sources/Zlib/ZlibArchive.swift | 4 ++-- Tests/TestZipExtraField.swift | 2 +- 12 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Sources/7-Zip/7zContainer.swift b/Sources/7-Zip/7zContainer.swift index df2d304f..632f4231 100644 --- a/Sources/7-Zip/7zContainer.swift +++ b/Sources/7-Zip/7zContainer.swift @@ -97,7 +97,7 @@ public class SevenZipContainer: Container { } // Load the stream. - let streamData = Data(bytes: byteReader.bytes(count: packInfo.packSizes[streamIndex])) + let streamData = Data(byteReader.bytes(count: packInfo.packSizes[streamIndex])) // Check stream's CRC, if it's available. if streamIndex < packInfo.digests.count, @@ -122,7 +122,7 @@ public class SevenZipContainer: Container { // Check, if we aren't about to read too much from a stream. guard fileSize <= unpackedStreamData.bytesLeft else { throw SevenZipError.internalStructureError } - let fileData = Data(bytes: unpackedStreamData.bytes(count: fileSize)) + let fileData = Data(unpackedStreamData.bytes(count: fileSize)) let calculatedFileCRC = CheckSums.crc32(fileData) if nonEmptyFileIndex < substreamInfo.digests.count { diff --git a/Sources/BZip2/BZip2.swift b/Sources/BZip2/BZip2.swift index f48a1148..c84e658a 100644 --- a/Sources/BZip2/BZip2.swift +++ b/Sources/BZip2/BZip2.swift @@ -218,7 +218,7 @@ public class BZip2: DecompressionAlgorithm { } } - return Data(bytes: out) + return Data(out) } } diff --git a/Sources/Common/DeltaFilter.swift b/Sources/Common/DeltaFilter.swift index 5dc5e1cc..8f05ddba 100644 --- a/Sources/Common/DeltaFilter.swift +++ b/Sources/Common/DeltaFilter.swift @@ -29,7 +29,7 @@ final class DeltaFilter { } } - return Data(bytes: out) + return Data(out) } } diff --git a/Sources/Deflate/Deflate.swift b/Sources/Deflate/Deflate.swift index 0df8a454..19c6f26c 100644 --- a/Sources/Deflate/Deflate.swift +++ b/Sources/Deflate/Deflate.swift @@ -203,7 +203,7 @@ public class Deflate: DecompressionAlgorithm { } } - return Data(bytes: out) + return Data(out) } } diff --git a/Sources/GZip/GzipArchive.swift b/Sources/GZip/GzipArchive.swift index 9b58d381..bee4cc20 100644 --- a/Sources/GZip/GzipArchive.swift +++ b/Sources/GZip/GzipArchive.swift @@ -170,7 +170,7 @@ public class GzipArchive: Archive { headerBytes.append(2) // Extra flags; 2 means that DEFLATE used slowest algorithm. headerBytes.append(os) - var outData = Data(bytes: headerBytes) + var outData = Data(headerBytes) outData.append(fileNameData) outData.append(commentData) @@ -189,14 +189,14 @@ public class GzipArchive: Archive { for i: UInt32 in 0..<4 { crcBytes.append(UInt8(truncatingIfNeeded: (crc32 & (0xFF << (i * 8))) >> (i * 8))) } - outData.append(Data(bytes: crcBytes)) + outData.append(Data(crcBytes)) let isize = UInt64(data.count) % UInt64(1) << 32 var isizeBytes = [UInt8]() for i: UInt64 in 0..<4 { isizeBytes.append(UInt8(truncatingIfNeeded: (isize & (0xFF << (i * 8))) >> (i * 8))) } - outData.append(Data(bytes: isizeBytes)) + outData.append(Data(isizeBytes)) return outData } diff --git a/Sources/LZMA/LZMA.swift b/Sources/LZMA/LZMA.swift index 039ec105..3d4e39b9 100644 --- a/Sources/LZMA/LZMA.swift +++ b/Sources/LZMA/LZMA.swift @@ -65,7 +65,7 @@ public class LZMA: DecompressionAlgorithm { decoder.uncompressedSize = uncompSize ?? -1 try decoder.decode() - return Data(bytes: decoder.out) + return Data(decoder.out) } } diff --git a/Sources/LZMA2/LZMA2.swift b/Sources/LZMA2/LZMA2.swift index 535bd501..dad7de02 100644 --- a/Sources/LZMA2/LZMA2.swift +++ b/Sources/LZMA2/LZMA2.swift @@ -30,7 +30,7 @@ public class LZMA2: DecompressionAlgorithm { static func decompress(_ byteReader: ByteReader, _ dictSizeByte: UInt8) throws -> Data { let decoder = try LZMA2Decoder(byteReader, dictSizeByte) try decoder.decode() - return Data(bytes: decoder.out) + return Data(decoder.out) } } diff --git a/Sources/TAR/TarEntryInfo.swift b/Sources/TAR/TarEntryInfo.swift index b26d5dfc..b59be802 100644 --- a/Sources/TAR/TarEntryInfo.swift +++ b/Sources/TAR/TarEntryInfo.swift @@ -406,7 +406,7 @@ public struct TarEntryInfo: ContainerEntryInfo { // It determines the end of the actual prefix and the beginning of the updated name field. #if (swift(>=4.1.50) || (swift(>=3.4) && !swift(>=4.0))) || !os(Linux) let lastPrefixSlashIndex = nameData.prefix(upTo: maxPrefixLength) - .range(of: Data(bytes: [0x2f]), options: .backwards)?.lowerBound ?? -1 + .range(of: Data([0x2f]), options: .backwards)?.lowerBound ?? -1 #else // TODO: This is a workaround for runtime crash in `Data.prefix(upTo:).range(of:options:)` on Linux with // Swift 4.1. It seems like it is fixed in 4.2 and master snapshots, so it will be removed when Swift @@ -480,7 +480,7 @@ fileprivate extension Data { value >>= 8 } buffer[0] |= 0x80 // Highest bit indicates base-256 encoding. - self.append(Data(bytes: buffer)) + self.append(Data(buffer)) } mutating func append(tarString string: String?, maxLength: Int) throws { diff --git a/Sources/ZIP/ZipContainer.swift b/Sources/ZIP/ZipContainer.swift index 1c8903e9..5f4df6b2 100644 --- a/Sources/ZIP/ZipContainer.swift +++ b/Sources/ZIP/ZipContainer.swift @@ -66,7 +66,7 @@ public class ZipContainer: Container { byteReader.offset = helper.dataOffset switch helper.entryInfo.compressionMethod { case .copy: - fileData = Data(bytes: byteReader.bytes(count: uncompSize.toInt())) + fileData = Data(byteReader.bytes(count: uncompSize.toInt())) case .deflate: let bitReader = LsbBitReader(byteReader) fileData = try Deflate.decompress(bitReader) diff --git a/Sources/ZIP/ZipEndOfCentralDirectory.swift b/Sources/ZIP/ZipEndOfCentralDirectory.swift index ee2c95da..4c10798f 100644 --- a/Sources/ZIP/ZipEndOfCentralDirectory.swift +++ b/Sources/ZIP/ZipEndOfCentralDirectory.swift @@ -41,7 +41,7 @@ struct ZipEndOfCentralDirectory { // There is also a .ZIP file comment, but we don't need it. // Here's how it can be processed: // let zipCommentLength = byteReader.int(fromBytes: 2) - // let zipComment = String(data: Data(bytes: byteReader.bytes(count: zipCommentLength)), + // let zipComment = String(data: Data(byteReader.bytes(count: zipCommentLength)), // encoding: .utf8) // Check if zip64 records are present. diff --git a/Sources/Zlib/ZlibArchive.swift b/Sources/Zlib/ZlibArchive.swift index b5a7cb33..5d50fd1b 100644 --- a/Sources/Zlib/ZlibArchive.swift +++ b/Sources/Zlib/ZlibArchive.swift @@ -53,7 +53,7 @@ public class ZlibArchive: Archive { 120, // CM (Compression Method) = 8 (DEFLATE), CINFO (Compression Info) = 7 (32K window size). 218 // Flags: slowest algorithm, no preset dictionary. ] - var outData = Data(bytes: out) + var outData = Data(out) outData.append(Deflate.compress(data: data)) let adler32 = CheckSums.adler32(data) @@ -61,7 +61,7 @@ public class ZlibArchive: Archive { for i in 0..<4 { adlerBytes.append(UInt8(truncatingIfNeeded: (adler32 & (0xFF << ((3 - i) * 8))) >> ((3 - i) * 8))) } - outData.append(Data(bytes: adlerBytes)) + outData.append(Data(adlerBytes)) return outData } diff --git a/Tests/TestZipExtraField.swift b/Tests/TestZipExtraField.swift index a8812986..ee0e62be 100644 --- a/Tests/TestZipExtraField.swift +++ b/Tests/TestZipExtraField.swift @@ -19,7 +19,7 @@ struct TestZipExtraField: ZipExtraField { init(_ byteReader: ByteReader, _ size: Int, location: ZipExtraFieldLocation) { self.size = size self.location = location - self.helloString = String(data: Data(bytes: byteReader.bytes(count: size)), encoding: .utf8) + self.helloString = String(data: Data(byteReader.bytes(count: size)), encoding: .utf8) } } From fafb9cde87841a2bda4a7ee437d85eea9d2632d7 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Wed, 1 May 2019 19:39:14 +0300 Subject: [PATCH 05/29] Move public identifier from extension to enum itself (BZip2.BlockSize) --- Sources/BZip2/BZip2+BlockSize.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Sources/BZip2/BZip2+BlockSize.swift b/Sources/BZip2/BZip2+BlockSize.swift index 0e78ea0c..c18e5ad5 100644 --- a/Sources/BZip2/BZip2+BlockSize.swift +++ b/Sources/BZip2/BZip2+BlockSize.swift @@ -5,7 +5,7 @@ import Foundation -public extension BZip2 { +extension BZip2 { /// Represents the size of the blocks in which data is split during BZip2 compression. public enum BlockSize: Int { @@ -62,4 +62,5 @@ public extension BZip2 { } } + } From 94ab3ba1f542e1aa37159e410fa7aee64560bc13 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Wed, 1 May 2019 19:39:41 +0300 Subject: [PATCH 06/29] Replace usage of deprecated index(...) functions with the new ones --- Sources/BZip2/BZip2+Compress.swift | 2 +- Sources/Deflate/Deflate+Compress.swift | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/BZip2/BZip2+Compress.swift b/Sources/BZip2/BZip2+Compress.swift index 15c925e6..54519fbf 100644 --- a/Sources/BZip2/BZip2+Compress.swift +++ b/Sources/BZip2/BZip2+Compress.swift @@ -250,7 +250,7 @@ extension BZip2: CompressionAlgorithm { /// Mutable copy of `characters`. var dictionary = characters for i in 0.. distance.toInt() }) ?? 30) - 1 + let distanceSymbol = ((Constants.distanceBase.firstIndex { $0 > distance.toInt() }) ?? 30) - 1 let distanceExtraBits = distance.toInt() - Constants.distanceBase[distanceSymbol] let distanceExtraBitsCount = distanceSymbol == 0 || distanceSymbol == 1 ? 0 : ((distanceSymbol >> 1) - 1) @@ -184,7 +184,7 @@ extension Deflate: CompressionAlgorithm { buffer.append(BLDCode.lengthDistance(UInt16(truncatingIfNeeded: matchLength), UInt16(truncatingIfNeeded: distance))) stats[Constants.lengthCode[matchLength - 3]] += 1 // Length symbol. - stats[286 + ((Constants.distanceBase.index { $0 > distance }) ?? 30) - 1] += 1 // Distance symbol. + stats[286 + ((Constants.distanceBase.firstIndex { $0 > distance }) ?? 30) - 1] += 1 // Distance symbol. inputIndex += matchLength } else { buffer.append(BLDCode.byte(byte)) From 36164725b60e12609d951539777e16f03b0a64aa Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Wed, 1 May 2019 19:41:09 +0300 Subject: [PATCH 07/29] Use the non-deprecated version of the Data.withUnsafeBytes function in Sha256 --- Sources/XZ/Sha256.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Sources/XZ/Sha256.swift b/Sources/XZ/Sha256.swift index 2c3b64f8..73eb3cf9 100644 --- a/Sources/XZ/Sha256.swift +++ b/Sources/XZ/Sha256.swift @@ -36,9 +36,7 @@ struct Sha256 { var h7 = 0x5be0cd19 as UInt32 // Padding - var bytes = data.withUnsafeBytes { - [UInt8](UnsafeBufferPointer(start: $0, count: data.count / MemoryLayout.size)) - } + var bytes = data.withUnsafeBytes { $0.map { $0 } } let originalLength = bytes.count var newLength = originalLength * 8 + 1 From b475949a0196313aace275335ab83cfc192b6fd4 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Wed, 1 Jan 2020 19:04:54 +0300 Subject: [PATCH 08/29] Update travis badge in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9436c3f1..cedf1722 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Swift 4.2](https://img.shields.io/badge/Swift-4.2-blue.svg)](https://developer.apple.com/swift/) [![GitHub license](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://raw.githubusercontent.com/tsolomko/SWCompression/master/LICENSE) -[![Build Status](https://travis-ci.org/tsolomko/SWCompression.svg?branch=develop)](https://travis-ci.org/tsolomko/SWCompression) +[![Build Status](https://travis-ci.com/tsolomko/SWCompression.svg?branch=develop)](https://travis-ci.com/tsolomko/SWCompression) A framework with (de)compression algorithms and functions for processing various archives and containers. From a844b34436801c61a288d317aee2ab3c97a4827c Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Fri, 20 Mar 2020 09:43:42 +0300 Subject: [PATCH 09/29] Update copyright year to 2020 --- .jazzy.yaml | 2 +- LICENSE | 2 +- SWCompression.xcodeproj/SWCompression.plist | 2 +- Sources/7-Zip/7zCoder+Equatable.swift | 2 +- Sources/7-Zip/7zCoder.swift | 2 +- Sources/7-Zip/7zCoderInfo.swift | 2 +- Sources/7-Zip/7zContainer.swift | 2 +- Sources/7-Zip/7zEntry.swift | 2 +- Sources/7-Zip/7zEntryInfo.swift | 2 +- Sources/7-Zip/7zError.swift | 2 +- Sources/7-Zip/7zFileInfo.swift | 2 +- Sources/7-Zip/7zFolder.swift | 2 +- Sources/7-Zip/7zHeader.swift | 2 +- Sources/7-Zip/7zPackInfo.swift | 2 +- Sources/7-Zip/7zProperty.swift | 2 +- Sources/7-Zip/7zStreamInfo.swift | 2 +- Sources/7-Zip/7zSubstreamInfo.swift | 2 +- Sources/7-Zip/CompressionMethod+7z.swift | 2 +- Sources/7-Zip/MsbBitReader+7z.swift | 2 +- Sources/BZip2/BZip2+BlockSize.swift | 2 +- Sources/BZip2/BZip2+Compress.swift | 2 +- Sources/BZip2/BZip2+Lengths.swift | 2 +- Sources/BZip2/BZip2.swift | 2 +- Sources/BZip2/BZip2Error.swift | 2 +- Sources/BZip2/BurrowsWheeler.swift | 2 +- Sources/BZip2/SuffixArray.swift | 2 +- Sources/Common/Archive.swift | 2 +- Sources/Common/CheckSums.swift | 2 +- Sources/Common/CodingTree/Code.swift | 2 +- Sources/Common/CodingTree/CodeLength.swift | 2 +- Sources/Common/CodingTree/DecodingTree.swift | 2 +- Sources/Common/CodingTree/EncodingTree.swift | 2 +- Sources/Common/CompressionAlgorithm.swift | 2 +- Sources/Common/CompressionMethod.swift | 2 +- Sources/Common/Container/Container.swift | 2 +- Sources/Common/Container/ContainerEntry.swift | 2 +- Sources/Common/Container/ContainerEntryInfo.swift | 2 +- Sources/Common/Container/ContainerEntryType.swift | 2 +- Sources/Common/Container/DosAttributes.swift | 2 +- Sources/Common/Container/Permissions.swift | 2 +- Sources/Common/DecompressionAlgorithm.swift | 2 +- Sources/Common/DeltaFilter.swift | 2 +- Sources/Common/Extensions.swift | 2 +- Sources/Common/FileSystemType.swift | 2 +- Sources/Deflate/Deflate+Compress.swift | 2 +- Sources/Deflate/Deflate+Constants.swift | 2 +- Sources/Deflate/Deflate+Lengths.swift | 2 +- Sources/Deflate/Deflate.swift | 2 +- Sources/Deflate/DeflateError.swift | 2 +- Sources/GZip/FileSystemType+Gzip.swift | 2 +- Sources/GZip/GzipArchive.swift | 2 +- Sources/GZip/GzipError.swift | 2 +- Sources/GZip/GzipHeader.swift | 2 +- Sources/LZMA/LZMA.swift | 2 +- Sources/LZMA/LZMABitTreeDecoder.swift | 2 +- Sources/LZMA/LZMAConstants.swift | 2 +- Sources/LZMA/LZMADecoder.swift | 2 +- Sources/LZMA/LZMAError.swift | 2 +- Sources/LZMA/LZMALenDecoder.swift | 2 +- Sources/LZMA/LZMAProperties.swift | 2 +- Sources/LZMA/LZMARangeDecoder.swift | 2 +- Sources/LZMA2/LZMA2.swift | 2 +- Sources/LZMA2/LZMA2Decoder.swift | 2 +- Sources/LZMA2/LZMA2Error.swift | 2 +- Sources/TAR/ByteReader+Tar.swift | 2 +- Sources/TAR/ContainerEntryType+Tar.swift | 2 +- Sources/TAR/TarContainer.swift | 2 +- Sources/TAR/TarCreateError.swift | 2 +- Sources/TAR/TarEntry.swift | 2 +- Sources/TAR/TarEntryInfo.swift | 2 +- Sources/TAR/TarEntryInfoProvider.swift | 2 +- Sources/TAR/TarError.swift | 2 +- Sources/TAR/TarExtendedHeader.swift | 2 +- Sources/XZ/ByteReader+XZ.swift | 2 +- Sources/XZ/Sha256.swift | 2 +- Sources/XZ/XZArchive.swift | 2 +- Sources/XZ/XZBlock.swift | 2 +- Sources/XZ/XZError.swift | 2 +- Sources/XZ/XZStreamHeader.swift | 2 +- Sources/ZIP/BuiltinExtraFields.swift | 2 +- Sources/ZIP/ByteReader+Zip.swift | 2 +- Sources/ZIP/CompressionMethod+Zip.swift | 2 +- Sources/ZIP/FileSystemType+Zip.swift | 2 +- Sources/ZIP/ZipCentralDirectoryEntry.swift | 2 +- Sources/ZIP/ZipContainer.swift | 2 +- Sources/ZIP/ZipEndOfCentralDirectory.swift | 2 +- Sources/ZIP/ZipEntry.swift | 2 +- Sources/ZIP/ZipEntryInfo.swift | 2 +- Sources/ZIP/ZipEntryInfoHelper.swift | 2 +- Sources/ZIP/ZipError.swift | 2 +- Sources/ZIP/ZipExtraField.swift | 2 +- Sources/ZIP/ZipLocalHeader.swift | 2 +- Sources/Zlib/ZlibArchive.swift | 2 +- Sources/Zlib/ZlibError.swift | 2 +- Sources/Zlib/ZlibHeader.swift | 2 +- Sources/swcomp/Archives/BZip2Command.swift | 2 +- Sources/swcomp/Archives/GZipCommand.swift | 2 +- Sources/swcomp/Archives/LZMACommand.swift | 2 +- Sources/swcomp/Archives/XZCommand.swift | 2 +- Sources/swcomp/Benchmarks/BenchmarkCommand.swift | 2 +- Sources/swcomp/Benchmarks/BenchmarkGroup.swift | 2 +- Sources/swcomp/Benchmarks/CompBz2.swift | 2 +- Sources/swcomp/Benchmarks/CompDeflate.swift | 2 +- Sources/swcomp/Benchmarks/Info7z.swift | 2 +- Sources/swcomp/Benchmarks/InfoTar.swift | 2 +- Sources/swcomp/Benchmarks/InfoZip.swift | 2 +- Sources/swcomp/Benchmarks/UnBz2.swift | 2 +- Sources/swcomp/Benchmarks/UnGzip.swift | 2 +- Sources/swcomp/Benchmarks/UnXz.swift | 2 +- Sources/swcomp/Containers/7ZipCommand.swift | 2 +- Sources/swcomp/Containers/CommonFunctions.swift | 2 +- Sources/swcomp/Containers/ContainerCommand.swift | 2 +- Sources/swcomp/Containers/TarCommand.swift | 2 +- Sources/swcomp/Containers/ZipCommand.swift | 2 +- Sources/swcomp/Extensions/BlockSize+Keyable.swift | 2 +- .../Extensions/CompressionMethod+CustomStringConvertible.swift | 2 +- .../Extensions/ContainerEntryInfo+CustomStringConvertible.swift | 2 +- .../Extensions/FileSystemType+CustomStringConvertible.swift | 2 +- .../swcomp/Extensions/GzipHeader+CustomStringConvertible.swift | 2 +- Sources/swcomp/main.swift | 2 +- Tests/BZip2CompressionTests.swift | 2 +- Tests/BZip2Tests.swift | 2 +- Tests/Constants.swift | 2 +- Tests/DeflateCompressionTests.swift | 2 +- Tests/GzipTests.swift | 2 +- Tests/LzmaTests.swift | 2 +- Tests/SevenZipTests.swift | 2 +- Tests/Sha256Tests.swift | 2 +- Tests/TarCreateTests.swift | 2 +- Tests/TarTests.swift | 2 +- Tests/TestZipExtraField.swift | 2 +- Tests/XzTests.swift | 2 +- Tests/ZipTests.swift | 2 +- Tests/ZlibTests.swift | 2 +- 134 files changed, 134 insertions(+), 134 deletions(-) diff --git a/.jazzy.yaml b/.jazzy.yaml index 1fa8bcaf..f016c555 100644 --- a/.jazzy.yaml +++ b/.jazzy.yaml @@ -4,7 +4,7 @@ clean: true author: Timofey Solomko module: SWCompression module_version: 4.5.2 -copyright: '© 2019 Timofey Solomko' +copyright: '© 2020 Timofey Solomko' readme: README.md github_url: https://github.com/tsolomko/SWCompression github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.5.2 diff --git a/LICENSE b/LICENSE index 68939368..536dba60 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 Timofey Solomko +Copyright (c) 2020 Timofey Solomko Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/SWCompression.xcodeproj/SWCompression.plist b/SWCompression.xcodeproj/SWCompression.plist index d4ce4ec9..f31fd617 100644 --- a/SWCompression.xcodeproj/SWCompression.plist +++ b/SWCompression.xcodeproj/SWCompression.plist @@ -19,6 +19,6 @@ CFBundleVersion 68 NSHumanReadableCopyright - Copyright © 2019 Timofey Solomko. All rights reserved. + Copyright © 2020 Timofey Solomko. All rights reserved. diff --git a/Sources/7-Zip/7zCoder+Equatable.swift b/Sources/7-Zip/7zCoder+Equatable.swift index 5a586237..c3e0aee5 100644 --- a/Sources/7-Zip/7zCoder+Equatable.swift +++ b/Sources/7-Zip/7zCoder+Equatable.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zCoder.swift b/Sources/7-Zip/7zCoder.swift index e4bd1494..063c79c7 100644 --- a/Sources/7-Zip/7zCoder.swift +++ b/Sources/7-Zip/7zCoder.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zCoderInfo.swift b/Sources/7-Zip/7zCoderInfo.swift index 51e8ae7d..66e7af7d 100644 --- a/Sources/7-Zip/7zCoderInfo.swift +++ b/Sources/7-Zip/7zCoderInfo.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zContainer.swift b/Sources/7-Zip/7zContainer.swift index 632f4231..d18e3018 100644 --- a/Sources/7-Zip/7zContainer.swift +++ b/Sources/7-Zip/7zContainer.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zEntry.swift b/Sources/7-Zip/7zEntry.swift index ea90ec5e..1548086a 100644 --- a/Sources/7-Zip/7zEntry.swift +++ b/Sources/7-Zip/7zEntry.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zEntryInfo.swift b/Sources/7-Zip/7zEntryInfo.swift index 92e19b17..91a02274 100644 --- a/Sources/7-Zip/7zEntryInfo.swift +++ b/Sources/7-Zip/7zEntryInfo.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zError.swift b/Sources/7-Zip/7zError.swift index 39240d59..e73426ac 100644 --- a/Sources/7-Zip/7zError.swift +++ b/Sources/7-Zip/7zError.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zFileInfo.swift b/Sources/7-Zip/7zFileInfo.swift index b8eedf7f..61b1da80 100644 --- a/Sources/7-Zip/7zFileInfo.swift +++ b/Sources/7-Zip/7zFileInfo.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zFolder.swift b/Sources/7-Zip/7zFolder.swift index 45f3ac4a..61d5396a 100644 --- a/Sources/7-Zip/7zFolder.swift +++ b/Sources/7-Zip/7zFolder.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zHeader.swift b/Sources/7-Zip/7zHeader.swift index 1842ff3f..abbe9751 100644 --- a/Sources/7-Zip/7zHeader.swift +++ b/Sources/7-Zip/7zHeader.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zPackInfo.swift b/Sources/7-Zip/7zPackInfo.swift index da0881da..c076272b 100644 --- a/Sources/7-Zip/7zPackInfo.swift +++ b/Sources/7-Zip/7zPackInfo.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zProperty.swift b/Sources/7-Zip/7zProperty.swift index 18ebecc0..a2a64203 100644 --- a/Sources/7-Zip/7zProperty.swift +++ b/Sources/7-Zip/7zProperty.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zStreamInfo.swift b/Sources/7-Zip/7zStreamInfo.swift index 53790b3a..bc37a035 100644 --- a/Sources/7-Zip/7zStreamInfo.swift +++ b/Sources/7-Zip/7zStreamInfo.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/7zSubstreamInfo.swift b/Sources/7-Zip/7zSubstreamInfo.swift index 6afb245e..3d5ed598 100644 --- a/Sources/7-Zip/7zSubstreamInfo.swift +++ b/Sources/7-Zip/7zSubstreamInfo.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/CompressionMethod+7z.swift b/Sources/7-Zip/CompressionMethod+7z.swift index d17b2345..a4aeea96 100644 --- a/Sources/7-Zip/CompressionMethod+7z.swift +++ b/Sources/7-Zip/CompressionMethod+7z.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/7-Zip/MsbBitReader+7z.swift b/Sources/7-Zip/MsbBitReader+7z.swift index 774c168a..e4b18798 100644 --- a/Sources/7-Zip/MsbBitReader+7z.swift +++ b/Sources/7-Zip/MsbBitReader+7z.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/BZip2/BZip2+BlockSize.swift b/Sources/BZip2/BZip2+BlockSize.swift index c18e5ad5..aca076eb 100644 --- a/Sources/BZip2/BZip2+BlockSize.swift +++ b/Sources/BZip2/BZip2+BlockSize.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/BZip2/BZip2+Compress.swift b/Sources/BZip2/BZip2+Compress.swift index 54519fbf..c7a7a72d 100644 --- a/Sources/BZip2/BZip2+Compress.swift +++ b/Sources/BZip2/BZip2+Compress.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/BZip2/BZip2+Lengths.swift b/Sources/BZip2/BZip2+Lengths.swift index c9e2b5bb..aabf655e 100644 --- a/Sources/BZip2/BZip2+Lengths.swift +++ b/Sources/BZip2/BZip2+Lengths.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/BZip2/BZip2.swift b/Sources/BZip2/BZip2.swift index c84e658a..d1c9e8fb 100644 --- a/Sources/BZip2/BZip2.swift +++ b/Sources/BZip2/BZip2.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/BZip2/BZip2Error.swift b/Sources/BZip2/BZip2Error.swift index a9930331..849782c2 100644 --- a/Sources/BZip2/BZip2Error.swift +++ b/Sources/BZip2/BZip2Error.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/BZip2/BurrowsWheeler.swift b/Sources/BZip2/BurrowsWheeler.swift index 9aee8b16..ae46a2ee 100644 --- a/Sources/BZip2/BurrowsWheeler.swift +++ b/Sources/BZip2/BurrowsWheeler.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/BZip2/SuffixArray.swift b/Sources/BZip2/SuffixArray.swift index d0bcd673..13a8c471 100644 --- a/Sources/BZip2/SuffixArray.swift +++ b/Sources/BZip2/SuffixArray.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/Archive.swift b/Sources/Common/Archive.swift index d9ed4dac..b9e68111 100644 --- a/Sources/Common/Archive.swift +++ b/Sources/Common/Archive.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/CheckSums.swift b/Sources/Common/CheckSums.swift index 480da37e..da9fd8ef 100644 --- a/Sources/Common/CheckSums.swift +++ b/Sources/Common/CheckSums.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/CodingTree/Code.swift b/Sources/Common/CodingTree/Code.swift index 3ab83e39..8dc4aa87 100644 --- a/Sources/Common/CodingTree/Code.swift +++ b/Sources/Common/CodingTree/Code.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/CodingTree/CodeLength.swift b/Sources/Common/CodingTree/CodeLength.swift index 788886ad..e1f7d952 100644 --- a/Sources/Common/CodingTree/CodeLength.swift +++ b/Sources/Common/CodingTree/CodeLength.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/CodingTree/DecodingTree.swift b/Sources/Common/CodingTree/DecodingTree.swift index b3c04c59..5af7a020 100644 --- a/Sources/Common/CodingTree/DecodingTree.swift +++ b/Sources/Common/CodingTree/DecodingTree.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/CodingTree/EncodingTree.swift b/Sources/Common/CodingTree/EncodingTree.swift index 1b54d135..fbfe8602 100644 --- a/Sources/Common/CodingTree/EncodingTree.swift +++ b/Sources/Common/CodingTree/EncodingTree.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/CompressionAlgorithm.swift b/Sources/Common/CompressionAlgorithm.swift index b259eafe..746fc965 100644 --- a/Sources/Common/CompressionAlgorithm.swift +++ b/Sources/Common/CompressionAlgorithm.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/CompressionMethod.swift b/Sources/Common/CompressionMethod.swift index faab89c1..602b1604 100644 --- a/Sources/Common/CompressionMethod.swift +++ b/Sources/Common/CompressionMethod.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/Container/Container.swift b/Sources/Common/Container/Container.swift index 2a38b6bb..938687dc 100644 --- a/Sources/Common/Container/Container.swift +++ b/Sources/Common/Container/Container.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/Container/ContainerEntry.swift b/Sources/Common/Container/ContainerEntry.swift index 0f4e3b14..1e115e99 100644 --- a/Sources/Common/Container/ContainerEntry.swift +++ b/Sources/Common/Container/ContainerEntry.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/Container/ContainerEntryInfo.swift b/Sources/Common/Container/ContainerEntryInfo.swift index e02ad690..87265e40 100644 --- a/Sources/Common/Container/ContainerEntryInfo.swift +++ b/Sources/Common/Container/ContainerEntryInfo.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/Container/ContainerEntryType.swift b/Sources/Common/Container/ContainerEntryType.swift index 8f9a28b7..2e9035c1 100644 --- a/Sources/Common/Container/ContainerEntryType.swift +++ b/Sources/Common/Container/ContainerEntryType.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/Container/DosAttributes.swift b/Sources/Common/Container/DosAttributes.swift index e7e843f6..06d8b5d9 100644 --- a/Sources/Common/Container/DosAttributes.swift +++ b/Sources/Common/Container/DosAttributes.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/Container/Permissions.swift b/Sources/Common/Container/Permissions.swift index f181a5b0..462e0419 100644 --- a/Sources/Common/Container/Permissions.swift +++ b/Sources/Common/Container/Permissions.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/DecompressionAlgorithm.swift b/Sources/Common/DecompressionAlgorithm.swift index a93f1c50..9c235171 100644 --- a/Sources/Common/DecompressionAlgorithm.swift +++ b/Sources/Common/DecompressionAlgorithm.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/DeltaFilter.swift b/Sources/Common/DeltaFilter.swift index 8f05ddba..96ef47d6 100644 --- a/Sources/Common/DeltaFilter.swift +++ b/Sources/Common/DeltaFilter.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/Extensions.swift b/Sources/Common/Extensions.swift index 1c0b590d..c5e8dbbc 100644 --- a/Sources/Common/Extensions.swift +++ b/Sources/Common/Extensions.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Common/FileSystemType.swift b/Sources/Common/FileSystemType.swift index 0aae59ad..2898843e 100644 --- a/Sources/Common/FileSystemType.swift +++ b/Sources/Common/FileSystemType.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Deflate/Deflate+Compress.swift b/Sources/Deflate/Deflate+Compress.swift index c63bde03..a231b731 100644 --- a/Sources/Deflate/Deflate+Compress.swift +++ b/Sources/Deflate/Deflate+Compress.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Deflate/Deflate+Constants.swift b/Sources/Deflate/Deflate+Constants.swift index 8af6ac4a..067fbf5e 100644 --- a/Sources/Deflate/Deflate+Constants.swift +++ b/Sources/Deflate/Deflate+Constants.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Deflate/Deflate+Lengths.swift b/Sources/Deflate/Deflate+Lengths.swift index eab5561b..6ee430e2 100644 --- a/Sources/Deflate/Deflate+Lengths.swift +++ b/Sources/Deflate/Deflate+Lengths.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Deflate/Deflate.swift b/Sources/Deflate/Deflate.swift index 19c6f26c..10212b5a 100644 --- a/Sources/Deflate/Deflate.swift +++ b/Sources/Deflate/Deflate.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Deflate/DeflateError.swift b/Sources/Deflate/DeflateError.swift index f98eac9f..600e4e09 100644 --- a/Sources/Deflate/DeflateError.swift +++ b/Sources/Deflate/DeflateError.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/GZip/FileSystemType+Gzip.swift b/Sources/GZip/FileSystemType+Gzip.swift index 434e0e56..0032f9a2 100644 --- a/Sources/GZip/FileSystemType+Gzip.swift +++ b/Sources/GZip/FileSystemType+Gzip.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/GZip/GzipArchive.swift b/Sources/GZip/GzipArchive.swift index bee4cc20..a5b1cad4 100644 --- a/Sources/GZip/GzipArchive.swift +++ b/Sources/GZip/GzipArchive.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/GZip/GzipError.swift b/Sources/GZip/GzipError.swift index 31f92380..02964d2d 100644 --- a/Sources/GZip/GzipError.swift +++ b/Sources/GZip/GzipError.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/GZip/GzipHeader.swift b/Sources/GZip/GzipHeader.swift index 43bbb442..1ed22441 100644 --- a/Sources/GZip/GzipHeader.swift +++ b/Sources/GZip/GzipHeader.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/LZMA/LZMA.swift b/Sources/LZMA/LZMA.swift index 3d4e39b9..fd98db46 100644 --- a/Sources/LZMA/LZMA.swift +++ b/Sources/LZMA/LZMA.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/LZMA/LZMABitTreeDecoder.swift b/Sources/LZMA/LZMABitTreeDecoder.swift index 5b01c8b2..3a032b0a 100644 --- a/Sources/LZMA/LZMABitTreeDecoder.swift +++ b/Sources/LZMA/LZMABitTreeDecoder.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/LZMA/LZMAConstants.swift b/Sources/LZMA/LZMAConstants.swift index 58fea10c..28e52625 100644 --- a/Sources/LZMA/LZMAConstants.swift +++ b/Sources/LZMA/LZMAConstants.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/LZMA/LZMADecoder.swift b/Sources/LZMA/LZMADecoder.swift index 9191e5b1..a18665c1 100644 --- a/Sources/LZMA/LZMADecoder.swift +++ b/Sources/LZMA/LZMADecoder.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/LZMA/LZMAError.swift b/Sources/LZMA/LZMAError.swift index 4573b4ab..c8ad4628 100644 --- a/Sources/LZMA/LZMAError.swift +++ b/Sources/LZMA/LZMAError.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/LZMA/LZMALenDecoder.swift b/Sources/LZMA/LZMALenDecoder.swift index 53c931c8..e4895a2d 100644 --- a/Sources/LZMA/LZMALenDecoder.swift +++ b/Sources/LZMA/LZMALenDecoder.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/LZMA/LZMAProperties.swift b/Sources/LZMA/LZMAProperties.swift index 8073566e..41880e42 100644 --- a/Sources/LZMA/LZMAProperties.swift +++ b/Sources/LZMA/LZMAProperties.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/LZMA/LZMARangeDecoder.swift b/Sources/LZMA/LZMARangeDecoder.swift index 05dcdf53..7f616016 100644 --- a/Sources/LZMA/LZMARangeDecoder.swift +++ b/Sources/LZMA/LZMARangeDecoder.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/LZMA2/LZMA2.swift b/Sources/LZMA2/LZMA2.swift index dad7de02..f481e089 100644 --- a/Sources/LZMA2/LZMA2.swift +++ b/Sources/LZMA2/LZMA2.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/LZMA2/LZMA2Decoder.swift b/Sources/LZMA2/LZMA2Decoder.swift index 4ae5c0b1..592ee85a 100644 --- a/Sources/LZMA2/LZMA2Decoder.swift +++ b/Sources/LZMA2/LZMA2Decoder.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/LZMA2/LZMA2Error.swift b/Sources/LZMA2/LZMA2Error.swift index 008f350b..cb86e8f2 100644 --- a/Sources/LZMA2/LZMA2Error.swift +++ b/Sources/LZMA2/LZMA2Error.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/TAR/ByteReader+Tar.swift b/Sources/TAR/ByteReader+Tar.swift index be375ec4..d737cb72 100644 --- a/Sources/TAR/ByteReader+Tar.swift +++ b/Sources/TAR/ByteReader+Tar.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/TAR/ContainerEntryType+Tar.swift b/Sources/TAR/ContainerEntryType+Tar.swift index 12c05e14..6278876d 100644 --- a/Sources/TAR/ContainerEntryType+Tar.swift +++ b/Sources/TAR/ContainerEntryType+Tar.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/TAR/TarContainer.swift b/Sources/TAR/TarContainer.swift index 329bc424..6fc376b2 100644 --- a/Sources/TAR/TarContainer.swift +++ b/Sources/TAR/TarContainer.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/TAR/TarCreateError.swift b/Sources/TAR/TarCreateError.swift index 00351b09..c9bc9c95 100644 --- a/Sources/TAR/TarCreateError.swift +++ b/Sources/TAR/TarCreateError.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/TAR/TarEntry.swift b/Sources/TAR/TarEntry.swift index 9188a397..73218ab0 100644 --- a/Sources/TAR/TarEntry.swift +++ b/Sources/TAR/TarEntry.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/TAR/TarEntryInfo.swift b/Sources/TAR/TarEntryInfo.swift index b59be802..583bd276 100644 --- a/Sources/TAR/TarEntryInfo.swift +++ b/Sources/TAR/TarEntryInfo.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/TAR/TarEntryInfoProvider.swift b/Sources/TAR/TarEntryInfoProvider.swift index 839722bf..7fa3b2e6 100644 --- a/Sources/TAR/TarEntryInfoProvider.swift +++ b/Sources/TAR/TarEntryInfoProvider.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/TAR/TarError.swift b/Sources/TAR/TarError.swift index ee68ce35..c1f8c5f2 100644 --- a/Sources/TAR/TarError.swift +++ b/Sources/TAR/TarError.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/TAR/TarExtendedHeader.swift b/Sources/TAR/TarExtendedHeader.swift index 2f074181..db02ccf5 100644 --- a/Sources/TAR/TarExtendedHeader.swift +++ b/Sources/TAR/TarExtendedHeader.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/XZ/ByteReader+XZ.swift b/Sources/XZ/ByteReader+XZ.swift index 7cf89663..3b3e88f1 100644 --- a/Sources/XZ/ByteReader+XZ.swift +++ b/Sources/XZ/ByteReader+XZ.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/XZ/Sha256.swift b/Sources/XZ/Sha256.swift index 73eb3cf9..72fa0e33 100644 --- a/Sources/XZ/Sha256.swift +++ b/Sources/XZ/Sha256.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/XZ/XZArchive.swift b/Sources/XZ/XZArchive.swift index db21a665..9ddb74da 100644 --- a/Sources/XZ/XZArchive.swift +++ b/Sources/XZ/XZArchive.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/XZ/XZBlock.swift b/Sources/XZ/XZBlock.swift index 199e961c..d13a5a3f 100644 --- a/Sources/XZ/XZBlock.swift +++ b/Sources/XZ/XZBlock.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/XZ/XZError.swift b/Sources/XZ/XZError.swift index 889f1f5b..c5c22121 100644 --- a/Sources/XZ/XZError.swift +++ b/Sources/XZ/XZError.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/XZ/XZStreamHeader.swift b/Sources/XZ/XZStreamHeader.swift index 7680ea5b..9428484e 100644 --- a/Sources/XZ/XZStreamHeader.swift +++ b/Sources/XZ/XZStreamHeader.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/BuiltinExtraFields.swift b/Sources/ZIP/BuiltinExtraFields.swift index 6b537a6f..4039d9a2 100644 --- a/Sources/ZIP/BuiltinExtraFields.swift +++ b/Sources/ZIP/BuiltinExtraFields.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/ByteReader+Zip.swift b/Sources/ZIP/ByteReader+Zip.swift index fb65e877..6047dd01 100644 --- a/Sources/ZIP/ByteReader+Zip.swift +++ b/Sources/ZIP/ByteReader+Zip.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/CompressionMethod+Zip.swift b/Sources/ZIP/CompressionMethod+Zip.swift index 139f6d6d..ec19833c 100644 --- a/Sources/ZIP/CompressionMethod+Zip.swift +++ b/Sources/ZIP/CompressionMethod+Zip.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/FileSystemType+Zip.swift b/Sources/ZIP/FileSystemType+Zip.swift index 5876a90a..a5509834 100644 --- a/Sources/ZIP/FileSystemType+Zip.swift +++ b/Sources/ZIP/FileSystemType+Zip.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/ZipCentralDirectoryEntry.swift b/Sources/ZIP/ZipCentralDirectoryEntry.swift index 63f1e95c..ede94cf9 100644 --- a/Sources/ZIP/ZipCentralDirectoryEntry.swift +++ b/Sources/ZIP/ZipCentralDirectoryEntry.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/ZipContainer.swift b/Sources/ZIP/ZipContainer.swift index 5f4df6b2..f02dbe08 100644 --- a/Sources/ZIP/ZipContainer.swift +++ b/Sources/ZIP/ZipContainer.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/ZipEndOfCentralDirectory.swift b/Sources/ZIP/ZipEndOfCentralDirectory.swift index 4c10798f..bd049e46 100644 --- a/Sources/ZIP/ZipEndOfCentralDirectory.swift +++ b/Sources/ZIP/ZipEndOfCentralDirectory.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/ZipEntry.swift b/Sources/ZIP/ZipEntry.swift index c81deb86..2e139e07 100644 --- a/Sources/ZIP/ZipEntry.swift +++ b/Sources/ZIP/ZipEntry.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/ZipEntryInfo.swift b/Sources/ZIP/ZipEntryInfo.swift index 1314c977..27fe4aa8 100644 --- a/Sources/ZIP/ZipEntryInfo.swift +++ b/Sources/ZIP/ZipEntryInfo.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/ZipEntryInfoHelper.swift b/Sources/ZIP/ZipEntryInfoHelper.swift index 7a08b827..176a8eff 100644 --- a/Sources/ZIP/ZipEntryInfoHelper.swift +++ b/Sources/ZIP/ZipEntryInfoHelper.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/ZipError.swift b/Sources/ZIP/ZipError.swift index 5a336e16..59535904 100644 --- a/Sources/ZIP/ZipError.swift +++ b/Sources/ZIP/ZipError.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/ZipExtraField.swift b/Sources/ZIP/ZipExtraField.swift index 9e98876c..4ea8d2c3 100644 --- a/Sources/ZIP/ZipExtraField.swift +++ b/Sources/ZIP/ZipExtraField.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/ZIP/ZipLocalHeader.swift b/Sources/ZIP/ZipLocalHeader.swift index 7de293ef..ce1c444c 100644 --- a/Sources/ZIP/ZipLocalHeader.swift +++ b/Sources/ZIP/ZipLocalHeader.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Zlib/ZlibArchive.swift b/Sources/Zlib/ZlibArchive.swift index 5d50fd1b..8e6b8593 100644 --- a/Sources/Zlib/ZlibArchive.swift +++ b/Sources/Zlib/ZlibArchive.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Zlib/ZlibError.swift b/Sources/Zlib/ZlibError.swift index 9c861e5e..15afea51 100644 --- a/Sources/Zlib/ZlibError.swift +++ b/Sources/Zlib/ZlibError.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/Zlib/ZlibHeader.swift b/Sources/Zlib/ZlibHeader.swift index 163b4500..a51b659f 100644 --- a/Sources/Zlib/ZlibHeader.swift +++ b/Sources/Zlib/ZlibHeader.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Archives/BZip2Command.swift b/Sources/swcomp/Archives/BZip2Command.swift index a38b755b..6dafd247 100644 --- a/Sources/swcomp/Archives/BZip2Command.swift +++ b/Sources/swcomp/Archives/BZip2Command.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Archives/GZipCommand.swift b/Sources/swcomp/Archives/GZipCommand.swift index 52440458..be7d3b12 100644 --- a/Sources/swcomp/Archives/GZipCommand.swift +++ b/Sources/swcomp/Archives/GZipCommand.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Archives/LZMACommand.swift b/Sources/swcomp/Archives/LZMACommand.swift index ed25c2c8..bf360d1b 100644 --- a/Sources/swcomp/Archives/LZMACommand.swift +++ b/Sources/swcomp/Archives/LZMACommand.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Archives/XZCommand.swift b/Sources/swcomp/Archives/XZCommand.swift index 666c5398..34636f2f 100644 --- a/Sources/swcomp/Archives/XZCommand.swift +++ b/Sources/swcomp/Archives/XZCommand.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Benchmarks/BenchmarkCommand.swift b/Sources/swcomp/Benchmarks/BenchmarkCommand.swift index f25709cf..591c291a 100644 --- a/Sources/swcomp/Benchmarks/BenchmarkCommand.swift +++ b/Sources/swcomp/Benchmarks/BenchmarkCommand.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Benchmarks/BenchmarkGroup.swift b/Sources/swcomp/Benchmarks/BenchmarkGroup.swift index 085c34db..26e625b3 100644 --- a/Sources/swcomp/Benchmarks/BenchmarkGroup.swift +++ b/Sources/swcomp/Benchmarks/BenchmarkGroup.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Benchmarks/CompBz2.swift b/Sources/swcomp/Benchmarks/CompBz2.swift index 430f7a3a..05d1652c 100644 --- a/Sources/swcomp/Benchmarks/CompBz2.swift +++ b/Sources/swcomp/Benchmarks/CompBz2.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Benchmarks/CompDeflate.swift b/Sources/swcomp/Benchmarks/CompDeflate.swift index 9e19b2a1..df6c4bc3 100644 --- a/Sources/swcomp/Benchmarks/CompDeflate.swift +++ b/Sources/swcomp/Benchmarks/CompDeflate.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Benchmarks/Info7z.swift b/Sources/swcomp/Benchmarks/Info7z.swift index d4166b65..7f3dff80 100644 --- a/Sources/swcomp/Benchmarks/Info7z.swift +++ b/Sources/swcomp/Benchmarks/Info7z.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Benchmarks/InfoTar.swift b/Sources/swcomp/Benchmarks/InfoTar.swift index 71d6ed1d..671082f0 100644 --- a/Sources/swcomp/Benchmarks/InfoTar.swift +++ b/Sources/swcomp/Benchmarks/InfoTar.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Benchmarks/InfoZip.swift b/Sources/swcomp/Benchmarks/InfoZip.swift index 4d72fcc7..a295ea47 100644 --- a/Sources/swcomp/Benchmarks/InfoZip.swift +++ b/Sources/swcomp/Benchmarks/InfoZip.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Benchmarks/UnBz2.swift b/Sources/swcomp/Benchmarks/UnBz2.swift index b0e06cd6..721e8d9d 100644 --- a/Sources/swcomp/Benchmarks/UnBz2.swift +++ b/Sources/swcomp/Benchmarks/UnBz2.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Benchmarks/UnGzip.swift b/Sources/swcomp/Benchmarks/UnGzip.swift index 94bcce5f..fc8f1c26 100644 --- a/Sources/swcomp/Benchmarks/UnGzip.swift +++ b/Sources/swcomp/Benchmarks/UnGzip.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Benchmarks/UnXz.swift b/Sources/swcomp/Benchmarks/UnXz.swift index 46976423..eb24ec85 100644 --- a/Sources/swcomp/Benchmarks/UnXz.swift +++ b/Sources/swcomp/Benchmarks/UnXz.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Containers/7ZipCommand.swift b/Sources/swcomp/Containers/7ZipCommand.swift index e6b80e3b..56e20a02 100644 --- a/Sources/swcomp/Containers/7ZipCommand.swift +++ b/Sources/swcomp/Containers/7ZipCommand.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Containers/CommonFunctions.swift b/Sources/swcomp/Containers/CommonFunctions.swift index 1ddbff64..1c0ea211 100644 --- a/Sources/swcomp/Containers/CommonFunctions.swift +++ b/Sources/swcomp/Containers/CommonFunctions.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Containers/ContainerCommand.swift b/Sources/swcomp/Containers/ContainerCommand.swift index a98ce8b5..76cda15f 100644 --- a/Sources/swcomp/Containers/ContainerCommand.swift +++ b/Sources/swcomp/Containers/ContainerCommand.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Containers/TarCommand.swift b/Sources/swcomp/Containers/TarCommand.swift index d8bdb04b..df03f19b 100644 --- a/Sources/swcomp/Containers/TarCommand.swift +++ b/Sources/swcomp/Containers/TarCommand.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Containers/ZipCommand.swift b/Sources/swcomp/Containers/ZipCommand.swift index 6621e92b..95ea0491 100644 --- a/Sources/swcomp/Containers/ZipCommand.swift +++ b/Sources/swcomp/Containers/ZipCommand.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Extensions/BlockSize+Keyable.swift b/Sources/swcomp/Extensions/BlockSize+Keyable.swift index 1d44f980..3917084d 100644 --- a/Sources/swcomp/Extensions/BlockSize+Keyable.swift +++ b/Sources/swcomp/Extensions/BlockSize+Keyable.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Extensions/CompressionMethod+CustomStringConvertible.swift b/Sources/swcomp/Extensions/CompressionMethod+CustomStringConvertible.swift index de3dc554..62617f43 100644 --- a/Sources/swcomp/Extensions/CompressionMethod+CustomStringConvertible.swift +++ b/Sources/swcomp/Extensions/CompressionMethod+CustomStringConvertible.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Extensions/ContainerEntryInfo+CustomStringConvertible.swift b/Sources/swcomp/Extensions/ContainerEntryInfo+CustomStringConvertible.swift index e51a9d6f..6dc152cd 100644 --- a/Sources/swcomp/Extensions/ContainerEntryInfo+CustomStringConvertible.swift +++ b/Sources/swcomp/Extensions/ContainerEntryInfo+CustomStringConvertible.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Extensions/FileSystemType+CustomStringConvertible.swift b/Sources/swcomp/Extensions/FileSystemType+CustomStringConvertible.swift index 6602b340..4aee5724 100644 --- a/Sources/swcomp/Extensions/FileSystemType+CustomStringConvertible.swift +++ b/Sources/swcomp/Extensions/FileSystemType+CustomStringConvertible.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/Extensions/GzipHeader+CustomStringConvertible.swift b/Sources/swcomp/Extensions/GzipHeader+CustomStringConvertible.swift index 100c8ec4..013776f3 100644 --- a/Sources/swcomp/Extensions/GzipHeader+CustomStringConvertible.swift +++ b/Sources/swcomp/Extensions/GzipHeader+CustomStringConvertible.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Sources/swcomp/main.swift b/Sources/swcomp/main.swift index ba46ff27..62948413 100644 --- a/Sources/swcomp/main.swift +++ b/Sources/swcomp/main.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/BZip2CompressionTests.swift b/Tests/BZip2CompressionTests.swift index 89fff1c9..c14f3c43 100644 --- a/Tests/BZip2CompressionTests.swift +++ b/Tests/BZip2CompressionTests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/BZip2Tests.swift b/Tests/BZip2Tests.swift index 9463629d..4db58c1d 100644 --- a/Tests/BZip2Tests.swift +++ b/Tests/BZip2Tests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/Constants.swift b/Tests/Constants.swift index b9039734..7aade238 100644 --- a/Tests/Constants.swift +++ b/Tests/Constants.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/DeflateCompressionTests.swift b/Tests/DeflateCompressionTests.swift index f6ce4ca5..312cf4f7 100644 --- a/Tests/DeflateCompressionTests.swift +++ b/Tests/DeflateCompressionTests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/GzipTests.swift b/Tests/GzipTests.swift index 4fb0c229..13fc74e0 100644 --- a/Tests/GzipTests.swift +++ b/Tests/GzipTests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/LzmaTests.swift b/Tests/LzmaTests.swift index 7c7dc397..63a0c68d 100644 --- a/Tests/LzmaTests.swift +++ b/Tests/LzmaTests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/SevenZipTests.swift b/Tests/SevenZipTests.swift index 52fa9dda..049a4fbe 100644 --- a/Tests/SevenZipTests.swift +++ b/Tests/SevenZipTests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/Sha256Tests.swift b/Tests/Sha256Tests.swift index 5782ba77..6d3340f2 100644 --- a/Tests/Sha256Tests.swift +++ b/Tests/Sha256Tests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/TarCreateTests.swift b/Tests/TarCreateTests.swift index 53aaf399..210524eb 100644 --- a/Tests/TarCreateTests.swift +++ b/Tests/TarCreateTests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/TarTests.swift b/Tests/TarTests.swift index 5426c7ee..2debc652 100644 --- a/Tests/TarTests.swift +++ b/Tests/TarTests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/TestZipExtraField.swift b/Tests/TestZipExtraField.swift index ee0e62be..febda585 100644 --- a/Tests/TestZipExtraField.swift +++ b/Tests/TestZipExtraField.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/XzTests.swift b/Tests/XzTests.swift index 9575e352..558c7bf3 100644 --- a/Tests/XzTests.swift +++ b/Tests/XzTests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/ZipTests.swift b/Tests/ZipTests.swift index 0e65f2e7..90c41bde 100644 --- a/Tests/ZipTests.swift +++ b/Tests/ZipTests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information diff --git a/Tests/ZlibTests.swift b/Tests/ZlibTests.swift index 380f7ba5..d24dfa56 100644 --- a/Tests/ZlibTests.swift +++ b/Tests/ZlibTests.swift @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Timofey Solomko +// Copyright (c) 2020 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information From af035fd21dc83346d7642ebbe5721472bc000322 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Wed, 1 Jan 2020 22:04:07 +0300 Subject: [PATCH 10/29] CI updates: use xcode 10.3 (instead of 10.2), additionally test using xcode 11.3 --- .travis.yml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index f99967d1..edd0893e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ jobs: - stage: test language: swift os: osx - osx_image: xcode10.2 + osx_image: xcode10.3 before_install: - brew update install: @@ -15,7 +15,20 @@ jobs: - Utils/prepare-workspace-macos.sh script: - Utils/ci-script-macos.sh - - language: generic + - stage: test + language: swift + os: osx + osx_image: xcode11.3 + before_install: + - brew update + install: + - Utils/ci-install-macos.sh + before_script: + - Utils/prepare-workspace-macos.sh + script: + - Utils/ci-script-macos.sh + - stage: test + language: generic os: linux dist: xenial install: @@ -26,7 +39,7 @@ jobs: if: tag IS present language: generic os: osx - osx_image: xcode10.2 + osx_image: xcode10.3 env: secure: iavIkrus2Xd3b086nz2srMGl52yqzLuCdhyEAhMODVqkzqMQ17s10y1TNb+vkepd0HgxI9j57d5X7tfChjWuWDwE2hZKjr/Kx2DfiUr1AKQD6ymuGrq/0Vv6yL9dfPU8goFArcrsBcyVKczLtTuLCKL498ZqokkQc/3kGvzW74lv+z410MfHS9/tvToO/yXJckL6qJ2XBAiElfOO0rEkllTeCo6N3bjcHZ2o7PE0K+CHYxwNKj0TmPmuNWZ3U4fzoWzkk01re1C1l5cpSb20g+2aGyi0yYX+PomX7fIIqNq9vmmyoeNdr35yqoQv/0zFeFnps83NKmZLAjSUhiUdhlbuBLBE+w8544LOaZnMDlFmpDjgyaVnRrOh0NrBB1FwU48aGfX5ljRQmk/07FTEUjvwvGGoOpz8lrLZi148FMHEospL3Sf7d8K+Q9WdtLTGk7HCnbOVcxS6oB/SWF/Cj6n5wu+EI1floBaZEsNPR40Gd4eM/Ik/E3lDrZThGDCWQsao981wm7IfEDBR1nuMME8gpZINFANNS1+5miFaGdTnDTp4Yd5MGEFZm+K8x+TG1891NwNH1ZmKXlypJXiUzvSjbh2ViNJGekdQj9q2gj2ZFlCfHJ05adwJ4w9qRuF00HpAOD6At6EnsjDXFJeTZS5dj8fi2YsU9or8KfTFoNY= addons: From 11bdf1bc38ac27fb544cf54837940da8667fa5f1 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Thu, 2 Jan 2020 15:31:08 +0300 Subject: [PATCH 11/29] Fix various xcode11-related CI problems --- SWCompression.xcodeproj/project.pbxproj | 4 +++- Utils/ci-script-macos.sh | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/SWCompression.xcodeproj/project.pbxproj b/SWCompression.xcodeproj/project.pbxproj index 0542724e..f4ab343e 100644 --- a/SWCompression.xcodeproj/project.pbxproj +++ b/SWCompression.xcodeproj/project.pbxproj @@ -1077,7 +1077,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/bash; - shellScript = "if [[ ${SDK_NAME} == iphone* ]]; then\n if [[ ! -d ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/ ]]; then\n mkdir -p ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\n fi\n cp -r ${PROJECT_DIR}/Carthage/Build/iOS/BitByteData.framework ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\nelif [[ ${SDK_NAME} == appletv* ]]; then\n if [[ ! -d ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/ ]]; then\n mkdir -p ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\n fi\n cp -r ${PROJECT_DIR}/Carthage/Build/tvOS/BitByteData.framework ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\nelif [[ ${SDK_NAME} == watch* ]]; then\n if [[ ! -d ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/ ]]; then\n mkdir -p ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\n fi\n cp -r ${PROJECT_DIR}/Carthage/Build/watchOS/BitByteData.framework ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\nelif [[ ${SDK_NAME} == macos* ]]; then\n if [[ ! -d ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Contents/Frameworks/ ]]; then\n mkdir -p ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Contents/Frameworks/\n fi\n cp -r ${PROJECT_DIR}/Carthage/Build/Mac/BitByteData.framework ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Contents/Frameworks/\nfi\n\nxattr -rc ${BUILT_PRODUCTS_DIR}"; + shellScript = "if [[ ${SDK_NAME} == iphone* ]]; then\n if [[ ! -d ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/ ]]; then\n mkdir -p ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\n fi\n cp -a ${PROJECT_DIR}/Carthage/Build/iOS/BitByteData.framework ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\nelif [[ ${SDK_NAME} == appletv* ]]; then\n if [[ ! -d ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/ ]]; then\n mkdir -p ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\n fi\n cp -a ${PROJECT_DIR}/Carthage/Build/tvOS/BitByteData.framework ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\nelif [[ ${SDK_NAME} == watch* ]]; then\n if [[ ! -d ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/ ]]; then\n mkdir -p ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\n fi\n cp -a ${PROJECT_DIR}/Carthage/Build/watchOS/BitByteData.framework ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Frameworks/\nelif [[ ${SDK_NAME} == macos* ]]; then\n if [[ ! -d ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Contents/Frameworks/ ]]; then\n mkdir -p ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Contents/Frameworks/\n fi\n cp -a ${PROJECT_DIR}/Carthage/Build/Mac/BitByteData.framework ${BUILT_PRODUCTS_DIR}/TestSWCompression.xctest/Contents/Frameworks/\nfi\n\nxattr -rc ${BUILT_PRODUCTS_DIR}\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -1258,6 +1258,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; + OTHER_CODE_SIGN_FLAGS = "--deep"; OTHER_LDFLAGS = ( "-framework", BitByteData, @@ -1313,6 +1314,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.0; MACOSX_DEPLOYMENT_TARGET = 10.10; + OTHER_CODE_SIGN_FLAGS = "--deep"; OTHER_LDFLAGS = ( "-framework", BitByteData, diff --git a/Utils/ci-script-macos.sh b/Utils/ci-script-macos.sh index cffe8232..cda1458a 100755 --- a/Utils/ci-script-macos.sh +++ b/Utils/ci-script-macos.sh @@ -3,6 +3,6 @@ set -euxo pipefail xcodebuild -project SWCompression.xcodeproj -scheme SWCompression -destination "platform=OS X" clean test | xcpretty -f `xcpretty-travis-formatter` -xcodebuild -project SWCompression.xcodeproj -scheme SWCompression -destination "platform=iOS Simulator,name=iPhone 6S" clean test | xcpretty -f `xcpretty-travis-formatter` +xcodebuild -project SWCompression.xcodeproj -scheme SWCompression -destination "platform=iOS Simulator,name=iPhone 8" clean test | xcpretty -f `xcpretty-travis-formatter` xcodebuild -project SWCompression.xcodeproj -scheme SWCompression -destination "platform=watchOS Simulator,name=Apple Watch - 38mm" clean build | xcpretty -f `xcpretty-travis-formatter` xcodebuild -project SWCompression.xcodeproj -scheme SWCompression -destination "platform=tvOS Simulator,name=Apple TV" clean test | xcpretty -f `xcpretty-travis-formatter` From 8a8aaf1593c09340d8d566c44d4773daddd60c18 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Fri, 20 Mar 2020 09:31:59 +0300 Subject: [PATCH 12/29] Several deployment-related changes Remove .swift-version file (it's deprecated by Cocoapods), run deploy phase in CI using xcode 11.3, remove extra swift build in CI deploy phase (sourcekitten now runs it itself), adjusted swift_versions setting in podspec, fix builds in linux CI by specifying swift version in the config. --- .swift-version | 1 - .travis.yml | 6 ++++-- SWCompression.podspec | 2 +- Utils/ci-before-deploy.sh | 1 - 4 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 .swift-version diff --git a/.swift-version b/.swift-version deleted file mode 100644 index 819e07a2..00000000 --- a/.swift-version +++ /dev/null @@ -1 +0,0 @@ -5.0 diff --git a/.travis.yml b/.travis.yml index edd0893e..3bf75bab 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,15 +31,17 @@ jobs: language: generic os: linux dist: xenial + env: + - SWIFT_VERSION=5.0 install: - - eval "$(curl -sL https://gist.githubusercontent.com/kylef/5c0475ff02b7c7671d2a/raw/9f442512a46d7a2af7b850d65a7e9bd31edfb09b/swiftenv-install.sh)" + - eval "$(curl -sL https://swiftenv.fuller.li/install.sh)" script: - Utils/ci-script-linux.sh - stage: deploy if: tag IS present language: generic os: osx - osx_image: xcode10.3 + osx_image: xcode11.3 env: secure: iavIkrus2Xd3b086nz2srMGl52yqzLuCdhyEAhMODVqkzqMQ17s10y1TNb+vkepd0HgxI9j57d5X7tfChjWuWDwE2hZKjr/Kx2DfiUr1AKQD6ymuGrq/0Vv6yL9dfPU8goFArcrsBcyVKczLtTuLCKL498ZqokkQc/3kGvzW74lv+z410MfHS9/tvToO/yXJckL6qJ2XBAiElfOO0rEkllTeCo6N3bjcHZ2o7PE0K+CHYxwNKj0TmPmuNWZ3U4fzoWzkk01re1C1l5cpSb20g+2aGyi0yYX+PomX7fIIqNq9vmmyoeNdr35yqoQv/0zFeFnps83NKmZLAjSUhiUdhlbuBLBE+w8544LOaZnMDlFmpDjgyaVnRrOh0NrBB1FwU48aGfX5ljRQmk/07FTEUjvwvGGoOpz8lrLZi148FMHEospL3Sf7d8K+Q9WdtLTGk7HCnbOVcxS6oB/SWF/Cj6n5wu+EI1floBaZEsNPR40Gd4eM/Ik/E3lDrZThGDCWQsao981wm7IfEDBR1nuMME8gpZINFANNS1+5miFaGdTnDTp4Yd5MGEFZm+K8x+TG1891NwNH1ZmKXlypJXiUzvSjbh2ViNJGekdQj9q2gj2ZFlCfHJ05adwJ4w9qRuF00HpAOD6At6EnsjDXFJeTZS5dj8fi2YsU9or8KfTFoNY= addons: diff --git a/SWCompression.podspec b/SWCompression.podspec index a5095884..78c0113a 100644 --- a/SWCompression.podspec +++ b/SWCompression.podspec @@ -20,7 +20,7 @@ Pod::Spec.new do |s| s.tvos.deployment_target = "9.0" s.watchos.deployment_target = "2.0" - s.swift_version = "5.0" + s.swift_versions = ["4", "5"] s.dependency "BitByteData", "~> 1.4.1" diff --git a/Utils/ci-before-deploy.sh b/Utils/ci-before-deploy.sh index ed1c53df..67977edd 100755 --- a/Utils/ci-before-deploy.sh +++ b/Utils/ci-before-deploy.sh @@ -12,6 +12,5 @@ rm -rf Carthage/Checkouts (set +x; echo "=> Preparing deployment files.") carthage build --no-skip-current carthage archive SWCompression -swift build sourcekitten doc --spm-module SWCompression > docs.json jazzy From c7ecaa418a018fe8da74b8e839d4a670887c0a56 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Fri, 20 Mar 2020 10:01:38 +0300 Subject: [PATCH 13/29] Add a code-path to Sha256.swift to support Swift pre-5.0 --- Sources/XZ/Sha256.swift | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Sources/XZ/Sha256.swift b/Sources/XZ/Sha256.swift index 72fa0e33..2bab306f 100644 --- a/Sources/XZ/Sha256.swift +++ b/Sources/XZ/Sha256.swift @@ -36,7 +36,13 @@ struct Sha256 { var h7 = 0x5be0cd19 as UInt32 // Padding - var bytes = data.withUnsafeBytes { $0.map { $0 } } + #if compiler(>=5.0) + var bytes = data.withUnsafeBytes { $0.map { $0 } } + #else + var bytes = data.withUnsafeBytes { + [UInt8](UnsafeBufferPointer(start: $0, count: data.count / MemoryLayout.size)) + } + #endif let originalLength = bytes.count var newLength = originalLength * 8 + 1 From fdde5115bda2aff1306bebb0c665d230760f6e0e Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Fri, 20 Mar 2020 10:03:57 +0300 Subject: [PATCH 14/29] Increase the version lower bound of BBD to 1.4.2 That version of BBD improves compatibility with Swift 5.x and newer version of Xcode --- Cartfile | 2 +- Package.swift | 2 +- SWCompression.podspec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cartfile b/Cartfile index 5b1c387b..e879c41f 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1 @@ -github "tsolomko/BitByteData" ~> 1.4.1 +github "tsolomko/BitByteData" ~> 1.4.2 diff --git a/Package.swift b/Package.swift index 0afd8fc5..b831b146 100644 --- a/Package.swift +++ b/Package.swift @@ -13,7 +13,7 @@ let package = Package( // .package(url: "https://github.com/jakeheis/SwiftCLI", // from: "5.2.0"), .package(url: "https://github.com/tsolomko/BitByteData", - from: "1.4.1"), + from: "1.4.2"), ], targets: [ // SWCOMP: Uncomment the lines below to build swcomp example program. diff --git a/SWCompression.podspec b/SWCompression.podspec index 78c0113a..e4753360 100644 --- a/SWCompression.podspec +++ b/SWCompression.podspec @@ -22,7 +22,7 @@ Pod::Spec.new do |s| s.swift_versions = ["4", "5"] - s.dependency "BitByteData", "~> 1.4.1" + s.dependency "BitByteData", "~> 1.4.2" s.subspec "Deflate" do |sp| sp.source_files = "Sources/{Deflate/*,Common/*,Common/CodingTree/*}.swift" From 7fc2e7585f7bb6eb09e963ae8cc1e3bd9bdbc04d Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Fri, 20 Mar 2020 10:05:25 +0300 Subject: [PATCH 15/29] Prepare for the test release of 4.5.3 --- .jazzy.yaml | 4 ++-- SWCompression.podspec | 2 +- SWCompression.xcodeproj/SWCompression.plist | 4 ++-- SWCompression.xcodeproj/TestSWCompression.plist | 4 ++-- SWCompression.xcodeproj/project.pbxproj | 8 ++++---- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.jazzy.yaml b/.jazzy.yaml index f016c555..5fbae1aa 100644 --- a/.jazzy.yaml +++ b/.jazzy.yaml @@ -3,11 +3,11 @@ sourcekitten_sourcefile: docs.json clean: true author: Timofey Solomko module: SWCompression -module_version: 4.5.2 +module_version: 4.5.3-test copyright: '© 2020 Timofey Solomko' readme: README.md github_url: https://github.com/tsolomko/SWCompression -github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.5.2 +github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.5.3-test theme: fullwidth custom_categories: diff --git a/SWCompression.podspec b/SWCompression.podspec index e4753360..63842e67 100644 --- a/SWCompression.podspec +++ b/SWCompression.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SWCompression" - s.version = "4.5.2" + s.version = "4.5.3-test" s.summary = "A framework with functions for working with compression, archives and containers." s.description = "A framework with (de)compression algorithms and functions for processing various archives and containers." diff --git a/SWCompression.xcodeproj/SWCompression.plist b/SWCompression.xcodeproj/SWCompression.plist index f31fd617..02ff1397 100644 --- a/SWCompression.xcodeproj/SWCompression.plist +++ b/SWCompression.xcodeproj/SWCompression.plist @@ -15,9 +15,9 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.5.2 + 4.5.3-test CFBundleVersion - 68 + 69 NSHumanReadableCopyright Copyright © 2020 Timofey Solomko. All rights reserved. diff --git a/SWCompression.xcodeproj/TestSWCompression.plist b/SWCompression.xcodeproj/TestSWCompression.plist index 71b075c1..a304cee0 100644 --- a/SWCompression.xcodeproj/TestSWCompression.plist +++ b/SWCompression.xcodeproj/TestSWCompression.plist @@ -15,8 +15,8 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 4.5.2 + 4.5.3-test CFBundleVersion - 68 + 69 diff --git a/SWCompression.xcodeproj/project.pbxproj b/SWCompression.xcodeproj/project.pbxproj index f4ab343e..b645b3d6 100644 --- a/SWCompression.xcodeproj/project.pbxproj +++ b/SWCompression.xcodeproj/project.pbxproj @@ -1236,7 +1236,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 68; + CURRENT_PROJECT_VERSION = 69; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -1295,7 +1295,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 68; + CURRENT_PROJECT_VERSION = 69; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; "FRAMEWORK_SEARCH_PATHS[sdk=appletvos*]" = "\"$(SRCROOT)/Carthage/Build/tvOS\""; @@ -1335,7 +1335,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 68; + DYLIB_CURRENT_VERSION = 69; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = SWCompression.xcodeproj/SWCompression.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1362,7 +1362,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 68; + DYLIB_CURRENT_VERSION = 69; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = SWCompression.xcodeproj/SWCompression.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; From 083ce9ba446f8d20ae89ca01ff7ded646ec060d5 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Fri, 20 Mar 2020 19:54:01 +0300 Subject: [PATCH 16/29] Prepare for 4.5.3 release --- .jazzy.yaml | 4 ++-- CHANGELOG.md | 4 ++++ SWCompression.podspec | 2 +- SWCompression.xcodeproj/SWCompression.plist | 4 ++-- SWCompression.xcodeproj/TestSWCompression.plist | 4 ++-- SWCompression.xcodeproj/project.pbxproj | 8 ++++---- Sources/swcomp/main.swift | 2 +- 7 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.jazzy.yaml b/.jazzy.yaml index 5fbae1aa..b7bac020 100644 --- a/.jazzy.yaml +++ b/.jazzy.yaml @@ -3,11 +3,11 @@ sourcekitten_sourcefile: docs.json clean: true author: Timofey Solomko module: SWCompression -module_version: 4.5.3-test +module_version: 4.5.3 copyright: '© 2020 Timofey Solomko' readme: README.md github_url: https://github.com/tsolomko/SWCompression -github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.5.3-test +github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.5.3 theme: fullwidth custom_categories: diff --git a/CHANGELOG.md b/CHANGELOG.md index ebf95cad..c464b966 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 4.5.3 + +- Improved compatibility with the latest versions of Swift (5.x) and Xcode. + ## 4.5.2 - Increased the lowest required version of BitByteData dependency to 1.4.1. diff --git a/SWCompression.podspec b/SWCompression.podspec index 63842e67..1066f298 100644 --- a/SWCompression.podspec +++ b/SWCompression.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SWCompression" - s.version = "4.5.3-test" + s.version = "4.5.3" s.summary = "A framework with functions for working with compression, archives and containers." s.description = "A framework with (de)compression algorithms and functions for processing various archives and containers." diff --git a/SWCompression.xcodeproj/SWCompression.plist b/SWCompression.xcodeproj/SWCompression.plist index 02ff1397..cad806c9 100644 --- a/SWCompression.xcodeproj/SWCompression.plist +++ b/SWCompression.xcodeproj/SWCompression.plist @@ -15,9 +15,9 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.5.3-test + 4.5.3 CFBundleVersion - 69 + 70 NSHumanReadableCopyright Copyright © 2020 Timofey Solomko. All rights reserved. diff --git a/SWCompression.xcodeproj/TestSWCompression.plist b/SWCompression.xcodeproj/TestSWCompression.plist index a304cee0..5f17fa96 100644 --- a/SWCompression.xcodeproj/TestSWCompression.plist +++ b/SWCompression.xcodeproj/TestSWCompression.plist @@ -15,8 +15,8 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 4.5.3-test + 4.5.3 CFBundleVersion - 69 + 70 diff --git a/SWCompression.xcodeproj/project.pbxproj b/SWCompression.xcodeproj/project.pbxproj index b645b3d6..b9d3593d 100644 --- a/SWCompression.xcodeproj/project.pbxproj +++ b/SWCompression.xcodeproj/project.pbxproj @@ -1236,7 +1236,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 69; + CURRENT_PROJECT_VERSION = 70; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -1295,7 +1295,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 69; + CURRENT_PROJECT_VERSION = 70; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; "FRAMEWORK_SEARCH_PATHS[sdk=appletvos*]" = "\"$(SRCROOT)/Carthage/Build/tvOS\""; @@ -1335,7 +1335,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 69; + DYLIB_CURRENT_VERSION = 70; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = SWCompression.xcodeproj/SWCompression.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1362,7 +1362,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 69; + DYLIB_CURRENT_VERSION = 70; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = SWCompression.xcodeproj/SWCompression.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; diff --git a/Sources/swcomp/main.swift b/Sources/swcomp/main.swift index 62948413..389facee 100644 --- a/Sources/swcomp/main.swift +++ b/Sources/swcomp/main.swift @@ -7,7 +7,7 @@ import Foundation import SWCompression import SwiftCLI -let cli = CLI(name: "swcomp", version: "4.5.2", +let cli = CLI(name: "swcomp", version: "4.5.3", description: """ swcomp - small command-line client for SWCompression framework. Serves as an example of SWCompression usage. From 662bc9519117f3c1cba41e5a5a598b2cf7bd7931 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Mon, 6 Apr 2020 12:54:19 +0300 Subject: [PATCH 17/29] Small changes to README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cedf1722..6bb0f8b7 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ let decompressedData = try? GzipArchive.unarchive(archive: data) ### Handling Errors Most SWCompression functions can throw an error and you are responsible for handling them. -If you look at list of available error types and their cases, you may be frightened by their number. +If you look at the list of available error types and their cases, you may be frightened by their number. However, most of these cases (such as `XZError.wrongMagic`) exist for diagnostic purposes. Thus, you only need to handle the most common type of error for your archive/algorithm. For example: @@ -146,9 +146,9 @@ do { // let data = let decompressedData = try XZArchive.unarchive(archive: data) } catch let error as XZError { - + // } catch let error { - + // } ``` From 515317a8c0f2210108ab49b604444c77833bce66 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Mon, 6 Apr 2020 12:57:27 +0300 Subject: [PATCH 18/29] Replace ci bash scripts with a python tool --- .travis.yml | 18 ++++++---- Utils/ci-before-deploy.sh | 16 --------- Utils/ci-install-macos.sh | 7 ---- Utils/ci-script-linux.sh | 6 ---- Utils/ci-script-macos.sh | 8 ----- utils.py | 71 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 83 insertions(+), 43 deletions(-) delete mode 100755 Utils/ci-before-deploy.sh delete mode 100755 Utils/ci-install-macos.sh delete mode 100755 Utils/ci-script-linux.sh delete mode 100755 Utils/ci-script-macos.sh create mode 100755 utils.py diff --git a/.travis.yml b/.travis.yml index 3bf75bab..4134b4f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,26 +7,30 @@ jobs: language: swift os: osx osx_image: xcode10.3 + env: + - HOMEBREW_NO_INSTALL_CLEANUP=1 before_install: - brew update install: - - Utils/ci-install-macos.sh + - ./utils.py ci install-macos before_script: - Utils/prepare-workspace-macos.sh script: - - Utils/ci-script-macos.sh + - ./utils.py ci script-macos - stage: test language: swift os: osx osx_image: xcode11.3 + env: + - HOMEBREW_NO_INSTALL_CLEANUP=1 before_install: - brew update install: - - Utils/ci-install-macos.sh + - ./utils.py ci install-macos before_script: - Utils/prepare-workspace-macos.sh script: - - Utils/ci-script-macos.sh + - ./utils.py ci script-macos - stage: test language: generic os: linux @@ -36,12 +40,14 @@ jobs: install: - eval "$(curl -sL https://swiftenv.fuller.li/install.sh)" script: - - Utils/ci-script-linux.sh + - ./utils.py ci script-linux - stage: deploy if: tag IS present language: generic os: osx osx_image: xcode11.3 + env: + - HOMEBREW_NO_INSTALL_CLEANUP=1 env: secure: iavIkrus2Xd3b086nz2srMGl52yqzLuCdhyEAhMODVqkzqMQ17s10y1TNb+vkepd0HgxI9j57d5X7tfChjWuWDwE2hZKjr/Kx2DfiUr1AKQD6ymuGrq/0Vv6yL9dfPU8goFArcrsBcyVKczLtTuLCKL498ZqokkQc/3kGvzW74lv+z410MfHS9/tvToO/yXJckL6qJ2XBAiElfOO0rEkllTeCo6N3bjcHZ2o7PE0K+CHYxwNKj0TmPmuNWZ3U4fzoWzkk01re1C1l5cpSb20g+2aGyi0yYX+PomX7fIIqNq9vmmyoeNdr35yqoQv/0zFeFnps83NKmZLAjSUhiUdhlbuBLBE+w8544LOaZnMDlFmpDjgyaVnRrOh0NrBB1FwU48aGfX5ljRQmk/07FTEUjvwvGGoOpz8lrLZi148FMHEospL3Sf7d8K+Q9WdtLTGk7HCnbOVcxS6oB/SWF/Cj6n5wu+EI1floBaZEsNPR40Gd4eM/Ik/E3lDrZThGDCWQsao981wm7IfEDBR1nuMME8gpZINFANNS1+5miFaGdTnDTp4Yd5MGEFZm+K8x+TG1891NwNH1ZmKXlypJXiUzvSjbh2ViNJGekdQj9q2gj2ZFlCfHJ05adwJ4w9qRuF00HpAOD6At6EnsjDXFJeTZS5dj8fi2YsU9or8KfTFoNY= addons: @@ -58,7 +64,7 @@ jobs: if ! [ "$BEFORE_DEPLOY_RUN" ]; then export BEFORE_DEPLOY_RUN=1; Utils/prepare-workspace-macos.sh -T; - Utils/ci-before-deploy.sh; + - ./utils.py ci before-deploy; fi deploy: - provider: releases diff --git a/Utils/ci-before-deploy.sh b/Utils/ci-before-deploy.sh deleted file mode 100755 index 67977edd..00000000 --- a/Utils/ci-before-deploy.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -euxo pipefail - -(set +x; echo "=> Removing bcsymbolmap files for dependencies.") -rm -f Carthage/Build/Mac/*.bcsymbolmap -rm -f Carthage/Build/watchOS/*.bcsymbolmap -rm -f Carthage/Build/tvOS/*.bcsymbolmap -rm -f Carthage/Build/iOS/*.bcsymbolmap -(set +x; echo "=> Removing checkouts for dependencies.") -rm -rf Carthage/Checkouts -(set +x; echo "=> Preparing deployment files.") -carthage build --no-skip-current -carthage archive SWCompression -sourcekitten doc --spm-module SWCompression > docs.json -jazzy diff --git a/Utils/ci-install-macos.sh b/Utils/ci-install-macos.sh deleted file mode 100755 index e765a7c8..00000000 --- a/Utils/ci-install-macos.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -set -euxo pipefail - -brew install git-lfs -git lfs install -gem install -N xcpretty-travis-formatter diff --git a/Utils/ci-script-linux.sh b/Utils/ci-script-linux.sh deleted file mode 100755 index 9e78f922..00000000 --- a/Utils/ci-script-linux.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -set -euxo pipefail - -swift build -swift build -c release diff --git a/Utils/ci-script-macos.sh b/Utils/ci-script-macos.sh deleted file mode 100755 index cda1458a..00000000 --- a/Utils/ci-script-macos.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -set -euxo pipefail - -xcodebuild -project SWCompression.xcodeproj -scheme SWCompression -destination "platform=OS X" clean test | xcpretty -f `xcpretty-travis-formatter` -xcodebuild -project SWCompression.xcodeproj -scheme SWCompression -destination "platform=iOS Simulator,name=iPhone 8" clean test | xcpretty -f `xcpretty-travis-formatter` -xcodebuild -project SWCompression.xcodeproj -scheme SWCompression -destination "platform=watchOS Simulator,name=Apple Watch - 38mm" clean build | xcpretty -f `xcpretty-travis-formatter` -xcodebuild -project SWCompression.xcodeproj -scheme SWCompression -destination "platform=tvOS Simulator,name=Apple TV" clean test | xcpretty -f `xcpretty-travis-formatter` diff --git a/utils.py b/utils.py new file mode 100755 index 00000000..7c1f9f0c --- /dev/null +++ b/utils.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python3 + +import argparse +import subprocess +import sys + +def _sprun(cmd, *args, **kwargs): + print("+ " + " ".join(cmd)) + subprocess.run(cmd, check=True, *args, **kwargs) + +def _ci_before_deploy(): + print("=> Removing bcsymbolmap files for dependencies.") + platforms = ["Mac", "watchOS", "tvOS", "iOS"] + for platform in platforms: + _sprun(["rm", "-f", "Carthage/Build/{0}/*.bcsymbolmap".format(platform)]) + print("=> Removing checkouts for dependencies.") + _sprun(["rm", "-rf", "Carthage/Checkouts"]) + print("=> Preparing deployment files.") + _sprun(["carthage", "build", "--no-skip-current"]) + _sprun(["carthage", "archive", "SWCompression"]) + docs_json_file = open("docs.json", "w") + _sprun(["sourcekitten", "doc", "--spm-module", "SWCompression"], stdout=docs_json_file) + docs_json_file.close() + _sprun(["jazzy"]) + +def _ci_install_macos(): + _sprun(["brew", "install", "git-lfs"]) + _sprun(["git", "lfs", "install"]) + _sprun(["gem", "install", "-N", "xcpretty-travis-formatter"]) + +def _ci_script_linux(): + _sprun(["swift", "build"]) + _sprun(["swift", "build", "-c", "release"]) + +def _ci_script_macos(): + xcodebuild_command_parts = ["xcodebuild", "-project", "SWCompression.xcodeproj", "-scheme", "SWCompression"] + destinations_actions = [(["-destination 'platform=OS X'"], ["clean", "test"]), + (["-destination 'platform=iOS Simulator,name=iPhone 8'"], ["clean", "test"]), + (["-destination 'platform=watchOS Simulator,name=Apple Watch - 38mm'"], ["clean", "build"]), + (["-destination 'platform=tvOS Simulator,name=Apple TV'"], ["clean", "test"])] + + for destination, action in destinations_actions: + xcodebuild_command = xcodebuild_command_parts + destination + action + print("+ {0}".format(" ".join(xcodebuild_command))) + xcodebuild_process = subprocess.Popen(xcodebuild_command, stdout=subprocess.PIPE) + xcpretty_command = ["xcpretty", "-f", "`xcpretty-travis-formatter`"] + subprocess.run(xcpretty_command, stdin=xcodebuild_process.stdout, shell=True, check=True) + +def action_ci(args): + if args.cmd == "before-deploy": + _ci_before_deploy() + elif args.cmd == "install-macos": + _ci_install_macos() + elif args.cmd == "script-linux": + _ci_script_linux() + elif args.cmd == "script-macos": + _ci_script_macos() + else: + raise Exception("Unknown CI command") + +parser = argparse.ArgumentParser(description="A tool with useful commands for developing SWCompression") +subparsers = parser.add_subparsers(title="commands", help="a command to perform", metavar="CMD") + +# Parser for 'ci' command. +parser_ci = subparsers.add_parser("ci", help="a set of commands used by CI", description="a set of commands used by CI") +parser_ci.add_argument("cmd", choices=["before-deploy", "install-macos", "script-linux", "script-macos"], + help="a command to perform on CI", metavar="CI_CMD") +parser_ci.set_defaults(func=action_ci) + +args = parser.parse_args() +args.func(args) From fa3aeece25f4789d297ef5886688cf49acb2c53f Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Mon, 6 Apr 2020 19:01:34 +0300 Subject: [PATCH 19/29] Convert remaining Utils bash scripts into utils.py commands --- .travis.yml | 8 +++--- Utils/cleanup-workspace.sh | 39 ----------------------------- Utils/prepare-workspace-macos.sh | 16 ------------ utils.py | 42 ++++++++++++++++++++++++++++++-- 4 files changed, 44 insertions(+), 61 deletions(-) delete mode 100755 Utils/cleanup-workspace.sh delete mode 100755 Utils/prepare-workspace-macos.sh diff --git a/.travis.yml b/.travis.yml index 4134b4f9..63c5d936 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ jobs: install: - ./utils.py ci install-macos before_script: - - Utils/prepare-workspace-macos.sh + - ./utils.py prepare-workspace macos script: - ./utils.py ci script-macos - stage: test @@ -28,7 +28,7 @@ jobs: install: - ./utils.py ci install-macos before_script: - - Utils/prepare-workspace-macos.sh + - ./utils.py prepare-workspace macos script: - ./utils.py ci script-macos - stage: test @@ -63,8 +63,8 @@ jobs: - > if ! [ "$BEFORE_DEPLOY_RUN" ]; then export BEFORE_DEPLOY_RUN=1; - Utils/prepare-workspace-macos.sh -T; - - ./utils.py ci before-deploy; + ./utils.py prepare-workspace macos -T + ./utils.py ci before-deploy; fi deploy: - provider: releases diff --git a/Utils/cleanup-workspace.sh b/Utils/cleanup-workspace.sh deleted file mode 100755 index f53029e1..00000000 --- a/Utils/cleanup-workspace.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -if [[ -d "build/" ]]; then - (set -x; rm -rf build/) -fi - -if [[ -d "Carthage/" ]]; then - (set -x; rm -rf Carthage/) -fi - -if [[ -d "docs/" ]]; then - (set -x; rm -rf docs/) -fi - -if [[ -d "Pods/" ]]; then - (set -x; rm -rf Pods/) -fi - -if [[ -d ".build/" ]]; then - (set -x; rm -rf .build/) -fi - -if [[ -f "Cartfile.resolved" ]]; then - (set -x; rm Cartfile.resolved) -fi - -if [[ -f "docs.json" ]]; then - (set -x; rm docs.json) -fi - -if [[ -f "Package.resolved" ]]; then - (set -x; rm Package.resolved) -fi - -if [[ -f "SWCompression.framework.zip" ]]; then - (set -x; rm SWCompression.framework.zip) -fi diff --git a/Utils/prepare-workspace-macos.sh b/Utils/prepare-workspace-macos.sh deleted file mode 100755 index 57289385..00000000 --- a/Utils/prepare-workspace-macos.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -if [[ $# -ne 1 || $1 != "-T" ]]; then - echo "=> Downloading files used for testing" - - (set -x ; git submodule update --init --recursive) - if [ $? -ne 0 ]; then - echo "ERROR: unable to update git submodule" - exit 1 - fi -fi - -echo "=> Downloading dependency (BitByteData) using Carthage" -(set -x; carthage bootstrap) diff --git a/utils.py b/utils.py index 7c1f9f0c..17b6cff5 100755 --- a/utils.py +++ b/utils.py @@ -41,7 +41,7 @@ def _ci_script_macos(): for destination, action in destinations_actions: xcodebuild_command = xcodebuild_command_parts + destination + action - print("+ {0}".format(" ".join(xcodebuild_command))) + print("+ {0} | xcpretty -f `xcpretty-travis-formatter`".format(" ".join(xcodebuild_command))) xcodebuild_process = subprocess.Popen(xcodebuild_command, stdout=subprocess.PIPE) xcpretty_command = ["xcpretty", "-f", "`xcpretty-travis-formatter`"] subprocess.run(xcpretty_command, stdin=xcodebuild_process.stdout, shell=True, check=True) @@ -58,14 +58,52 @@ def action_ci(args): else: raise Exception("Unknown CI command") +def action_cw(args): + _sprun(["rm", "-rf", "build/"]) + _sprun(["rm", "-rf", "Carthage/"]) + _sprun(["rm", "-rf", "docs/"]) + _sprun(["rm", "-rf", "Pods/"]) + _sprun(["rm", "-rf", ".build/"]) + _sprun(["rm", "-f", "Cartfile.resolved"]) + _sprun(["rm", "-f", "docs.json"]) + _sprun(["rm", "-f", "Package.resolved"]) + _sprun(["rm", "-f", "SWCompression.framework.zip"]) + +def _pw_macos(): + print("=> Downloading dependency (BitByteData) using Carthage") + _sprun(["carthage", "bootstrap"]) + +def action_pw(args): + if args.os == "macos": + _pw_macos() + else: + raise Exception("Unknown OS") + if not args.no_test_files: + print("=> Downloading files used for testing") + _sprun(["git", "submodule", "update", "--init", "--recursive"]) + parser = argparse.ArgumentParser(description="A tool with useful commands for developing SWCompression") subparsers = parser.add_subparsers(title="commands", help="a command to perform", metavar="CMD") # Parser for 'ci' command. -parser_ci = subparsers.add_parser("ci", help="a set of commands used by CI", description="a set of commands used by CI") +parser_ci = subparsers.add_parser("ci", help="a subset of commands used by CI", + description="a subset of commands used by CI") parser_ci.add_argument("cmd", choices=["before-deploy", "install-macos", "script-linux", "script-macos"], help="a command to perform on CI", metavar="CI_CMD") parser_ci.set_defaults(func=action_ci) +# Parser for 'cleanup-workspace' command. +parser_cw = subparsers.add_parser("cleanup-workspace", help="cleanup workspace", + description="cleans workspace from files produced by various build systems") +parser_cw.set_defaults(func=action_cw) + +# Parser for 'prepare-workspace' command. +parser_pw = subparsers.add_parser("prepare-workspace", help="prepare workspace", + description="prepares workspace for developing SWCompression") +parser_pw.add_argument("os", choices=["macos"], help="development operating system", metavar="OS") +parser_pw.add_argument("--no-test-files", "-T", action="store_true", dest="no_test_files", + help="don't download example files used for testing") +parser_pw.set_defaults(func=action_pw) + args = parser.parse_args() args.func(args) From c1f283e1f725b60ce23c99f9412461e6b4ddc66c Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Tue, 7 Apr 2020 22:25:34 +0300 Subject: [PATCH 20/29] Perform the download of test files manually via a utils.py command and a copy of gitattributes file --- Tests/Test Files | 2 +- utils.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Tests/Test Files b/Tests/Test Files index 543e5bc9..dfcec032 160000 --- a/Tests/Test Files +++ b/Tests/Test Files @@ -1 +1 @@ -Subproject commit 543e5bc90d065c9cac22e501cff97d5c4489ce45 +Subproject commit dfcec032712aea0be1b42998d1a3837c21f75285 diff --git a/utils.py b/utils.py index 17b6cff5..04cd660d 100755 --- a/utils.py +++ b/utils.py @@ -81,6 +81,9 @@ def action_pw(args): if not args.no_test_files: print("=> Downloading files used for testing") _sprun(["git", "submodule", "update", "--init", "--recursive"]) + _sprun(["cp", "-f", "Tests/Test Files/gitattributes-copy", "Tests/Test Files/.gitattributes"]) + _sprun(["git", "lfs", "pull"], cwd="Tests/Test Files/") + _sprun(["git", "lfs", "checkout"], cwd="Tests/Test Files/") parser = argparse.ArgumentParser(description="A tool with useful commands for developing SWCompression") subparsers = parser.add_subparsers(title="commands", help="a command to perform", metavar="CMD") From 3c788aac585db6e4f2c45e88b198316b44627bd1 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Wed, 8 Apr 2020 12:19:06 +0300 Subject: [PATCH 21/29] Add Swift 5.x badge to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6bb0f8b7..eff40e2f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # SWCompression [![Swift 4.2](https://img.shields.io/badge/Swift-4.2-blue.svg)](https://developer.apple.com/swift/) +[![Swift 5.X](https://img.shields.io/badge/Swift-5.X-blue.svg)](https://developer.apple.com/swift/) [![GitHub license](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://raw.githubusercontent.com/tsolomko/SWCompression/master/LICENSE) [![Build Status](https://travis-ci.com/tsolomko/SWCompression.svg?branch=develop)](https://travis-ci.com/tsolomko/SWCompression) From 4cb8b694b3b8771221bf59c989a322701744e580 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Wed, 8 Apr 2020 12:23:47 +0300 Subject: [PATCH 22/29] CI changes: add testing for Swift 4.2, 5.1 and 5.2 --- .travis.yml | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 63c5d936..d4dfa53e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,4 @@ +# TODO: There is probably a way to simplify this very explicit build matrix. git: depth: 1 submodules: false @@ -6,7 +7,7 @@ jobs: - stage: test language: swift os: osx - osx_image: xcode10.3 + osx_image: xcode10.1 # Swift 4.2 env: - HOMEBREW_NO_INSTALL_CLEANUP=1 before_install: @@ -20,7 +21,35 @@ jobs: - stage: test language: swift os: osx - osx_image: xcode11.3 + osx_image: xcode10.3 # Swift 5.0 + env: + - HOMEBREW_NO_INSTALL_CLEANUP=1 + before_install: + - brew update + install: + - ./utils.py ci install-macos + before_script: + - ./utils.py prepare-workspace macos + script: + - ./utils.py ci script-macos + - stage: test + language: swift + os: osx + osx_image: xcode11.3 # Swift 5.1 + env: + - HOMEBREW_NO_INSTALL_CLEANUP=1 + before_install: + - brew update + install: + - ./utils.py ci install-macos + before_script: + - ./utils.py prepare-workspace macos + script: + - ./utils.py ci script-macos + - stage: test + language: swift + os: osx + osx_image: xcode11.4 # Swift 5.2 env: - HOMEBREW_NO_INSTALL_CLEANUP=1 before_install: @@ -31,6 +60,16 @@ jobs: - ./utils.py prepare-workspace macos script: - ./utils.py ci script-macos + - stage: test + language: generic + os: linux + dist: xenial + env: + - SWIFT_VERSION=4.2 + install: + - eval "$(curl -sL https://swiftenv.fuller.li/install.sh)" + script: + - ./utils.py ci script-linux - stage: test language: generic os: linux @@ -41,6 +80,26 @@ jobs: - eval "$(curl -sL https://swiftenv.fuller.li/install.sh)" script: - ./utils.py ci script-linux + - stage: test + language: generic + os: linux + dist: xenial + env: + - SWIFT_VERSION=5.1 + install: + - eval "$(curl -sL https://swiftenv.fuller.li/install.sh)" + script: + - ./utils.py ci script-linux + - stage: test + language: generic + os: linux + dist: xenial + env: + - SWIFT_VERSION=5.2 + install: + - eval "$(curl -sL https://swiftenv.fuller.li/install.sh)" + script: + - ./utils.py ci script-linux - stage: deploy if: tag IS present language: generic From 3fe5efc0ec3be42047d40ee188a32030775c99cd Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Wed, 8 Apr 2020 12:36:37 +0300 Subject: [PATCH 23/29] Add other OS to utils.py prepare-workspace command --- utils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/utils.py b/utils.py index 04cd660d..173012ac 100755 --- a/utils.py +++ b/utils.py @@ -76,6 +76,8 @@ def _pw_macos(): def action_pw(args): if args.os == "macos": _pw_macos() + elif args.os == "other": + pass else: raise Exception("Unknown OS") if not args.no_test_files: @@ -103,7 +105,7 @@ parser_cw.set_defaults(func=action_cw) # Parser for 'prepare-workspace' command. parser_pw = subparsers.add_parser("prepare-workspace", help="prepare workspace", description="prepares workspace for developing SWCompression") -parser_pw.add_argument("os", choices=["macos"], help="development operating system", metavar="OS") +parser_pw.add_argument("os", choices=["macos", "other"], help="development operating system", metavar="OS") parser_pw.add_argument("--no-test-files", "-T", action="store_true", dest="no_test_files", help="don't download example files used for testing") parser_pw.set_defaults(func=action_pw) From 6746752d655a89f4fb08fef639539b91b7dcdd0c Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Wed, 8 Apr 2020 12:39:50 +0300 Subject: [PATCH 24/29] Add SPM package manifest for Swift 4.2 --- Package@swift-4.2.swift | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Package@swift-4.2.swift diff --git a/Package@swift-4.2.swift b/Package@swift-4.2.swift new file mode 100644 index 00000000..ff86bc92 --- /dev/null +++ b/Package@swift-4.2.swift @@ -0,0 +1,32 @@ +// swift-tools-version:4.0 +import PackageDescription + +let package = Package( + name: "SWCompression", + products: [ + .library( + name: "SWCompression", + targets: ["SWCompression"]), + ], + dependencies: [ + // SWCOMP: Uncomment the line below to build swcomp example program. + // .package(url: "https://github.com/jakeheis/SwiftCLI", + // from: "5.2.0"), + .package(url: "https://github.com/tsolomko/BitByteData", + from: "1.4.2"), + ], + targets: [ + // SWCOMP: Uncomment the lines below to build swcomp example program. + // .target( + // name: "swcomp", + // dependencies: ["SWCompression", "SwiftCLI"], + // path: "Sources", + // sources: ["swcomp"]), + .target( + name: "SWCompression", + dependencies: ["BitByteData"], + path: "Sources", + sources: ["Common", "7-Zip", "BZip2", "Deflate", "GZip", "LZMA", "LZMA2", "TAR", "XZ", "ZIP", "Zlib"]), + ], + swiftLanguageVersions: [4] +) From b8a3592da730c9e64a7f3b6e2288e7c8ae3677a9 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Thu, 9 Apr 2020 13:21:15 +0300 Subject: [PATCH 25/29] Increase the version lower bound of BBD to 1.4.3 This version of BBD improves compatibility with Swift 4.2. --- Cartfile | 2 +- Package.swift | 2 +- Package@swift-4.2.swift | 2 +- SWCompression.podspec | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cartfile b/Cartfile index e879c41f..934643de 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1 @@ -github "tsolomko/BitByteData" ~> 1.4.2 +github "tsolomko/BitByteData" ~> 1.4.3 diff --git a/Package.swift b/Package.swift index b831b146..d957f93e 100644 --- a/Package.swift +++ b/Package.swift @@ -13,7 +13,7 @@ let package = Package( // .package(url: "https://github.com/jakeheis/SwiftCLI", // from: "5.2.0"), .package(url: "https://github.com/tsolomko/BitByteData", - from: "1.4.2"), + from: "1.4.3"), ], targets: [ // SWCOMP: Uncomment the lines below to build swcomp example program. diff --git a/Package@swift-4.2.swift b/Package@swift-4.2.swift index ff86bc92..33ca19c7 100644 --- a/Package@swift-4.2.swift +++ b/Package@swift-4.2.swift @@ -13,7 +13,7 @@ let package = Package( // .package(url: "https://github.com/jakeheis/SwiftCLI", // from: "5.2.0"), .package(url: "https://github.com/tsolomko/BitByteData", - from: "1.4.2"), + from: "1.4.3"), ], targets: [ // SWCOMP: Uncomment the lines below to build swcomp example program. diff --git a/SWCompression.podspec b/SWCompression.podspec index 1066f298..6b64dd08 100644 --- a/SWCompression.podspec +++ b/SWCompression.podspec @@ -22,7 +22,7 @@ Pod::Spec.new do |s| s.swift_versions = ["4", "5"] - s.dependency "BitByteData", "~> 1.4.2" + s.dependency "BitByteData", "~> 1.4.3" s.subspec "Deflate" do |sp| sp.source_files = "Sources/{Deflate/*,Common/*,Common/CodingTree/*}.swift" From e8a0745431f32a6549292d708d7520c9f319dad3 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Thu, 9 Apr 2020 13:22:11 +0300 Subject: [PATCH 26/29] CI changes: don't test with Swift 4.2 It isn't possible to automatically test on Swift 4.2 since carthage/xcode don't support projects with multiple Swift versions. --- .travis.yml | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index d4dfa53e..79e81c0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,20 +4,7 @@ git: submodules: false jobs: include: - - stage: test - language: swift - os: osx - osx_image: xcode10.1 # Swift 4.2 - env: - - HOMEBREW_NO_INSTALL_CLEANUP=1 - before_install: - - brew update - install: - - ./utils.py ci install-macos - before_script: - - ./utils.py prepare-workspace macos - script: - - ./utils.py ci script-macos + # We cannot test with Swift 4.2 on macOS since Carthage doesn't work with multiple Swift versions. - stage: test language: swift os: osx From bfd0b5e770d001f158c684df5340051de11ab7f6 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Fri, 10 Apr 2020 23:58:10 +0300 Subject: [PATCH 27/29] Open TimeProfiler automatically when using profile action in xcode --- .../xcshareddata/xcschemes/SWCompression.xcscheme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SWCompression.xcodeproj/xcshareddata/xcschemes/SWCompression.xcscheme b/SWCompression.xcodeproj/xcshareddata/xcschemes/SWCompression.xcscheme index 6273a6a1..0f4b19d0 100644 --- a/SWCompression.xcodeproj/xcshareddata/xcschemes/SWCompression.xcscheme +++ b/SWCompression.xcodeproj/xcshareddata/xcschemes/SWCompression.xcscheme @@ -78,7 +78,7 @@ From 1dfd960765ccb1e9cec8de9e37617888a2fb35bc Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Sat, 11 Apr 2020 00:45:57 +0300 Subject: [PATCH 28/29] Update README --- README.md | 111 ++++++++++++++++++++++++++---------------------------- 1 file changed, 53 insertions(+), 58 deletions(-) diff --git a/README.md b/README.md index eff40e2f..f115dafd 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![GitHub license](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://raw.githubusercontent.com/tsolomko/SWCompression/master/LICENSE) [![Build Status](https://travis-ci.com/tsolomko/SWCompression.svg?branch=develop)](https://travis-ci.com/tsolomko/SWCompression) -A framework with (de)compression algorithms and functions for processing various archives and containers. +A framework with (de)compression algorithms and functions for working with various archives and containers. ## What is this? @@ -17,8 +17,7 @@ SWCompression — is a framework with a collection of functions for: It also works both on Apple platforms and __Linux__. -All features are listed in the tables below. -"TBD" means that feature is planned but not implemented (yet). +All features are listed in the tables below. "TBD" means that feature is planned but not implemented (yet). | | Deflate | BZip2 | LZMA/LZMA2 | | ------------- | ------- | ----- | ---------- | @@ -38,7 +37,7 @@ SWCompression can be integrated into your project using Swift Package Manager, C ### Swift Package Manager -Add SWCompression to you package dependencies and specify it as a dependency for your target, e.g.: +To install using SPM, add SWCompression to you package dependencies and specify it as a dependency for your target, e.g.: ```swift import PackageDescription @@ -62,12 +61,11 @@ More details you can find in [Swift Package Manager's Documentation](https://git ### CocoaPods -Add `pod 'SWCompression', '~> 4.5'` and `use_frameworks!` to your Podfile. +Add `pod 'SWCompression', '~> 4.5'` and `use_frameworks!` lines to your Podfile. To complete installation, run `pod install`. -If you need only some parts of framework, you can install only them using sub-podspecs. -Available subspecs: +If you need only some parts of framework, you can install only them using sub-podspecs. Available subspecs: - SWCompression/BZip2 - SWCompression/Deflate @@ -82,15 +80,15 @@ Available subspecs: #### "Optional Dependencies" -For both ZIP and 7-Zip there is a most commonly used compression method. This is Deflate for ZIP and LZMA/LZMA2 for -7-Zip. Thus, SWCompression/ZIP subspec has SWCompression/Deflate subspec as a dependency and SWCompression/LZMA subspec -is a dependency for SWCompression/SevenZip. +For both ZIP and 7-Zip there is the most commonly used compression method: Deflate and LZMA/LZMA2 correspondingly. Thus, +SWCompression/ZIP subspec has SWCompression/Deflate subspec as a dependency and SWCompression/LZMA subspec is a +dependency for SWCompression/SevenZip. -But both of these formats support other compression methods as well, and some of them are implemented in SWCompression. +But both of these formats also support other compression methods, and some of them are implemented in SWCompression. For CocoaPods configurations there are some sort of 'optional dependencies' for such compression methods. -"Optional dependency" in this context means that SWCompression/ZIP or SWCompression/7-Zip will support particular -compression methods only if a corresponding subspec is expicitly specified in your Podfile and installed. +"Optional dependency" in this context means that SWCompression/ZIP or SWCompression/7-Zip will support a compression +method only if a corresponding subspec is expicitly specified in your Podfile and installed. List of "optional dependecies": @@ -106,29 +104,31 @@ BZip2 and LZMA/LZMA2 support). ### Carthage +__Important:__ Only Swift 5.x is supported when installing BitByteData via Carthage. + Add to your Cartfile `github "tsolomko/SWCompression" ~> 4.5`. Then run `carthage update`. -Finally, drag and drop `SWCompression.framework` from `Carthage/Build` folder -into the "Embedded Binaries" section on your targets' "General" tab in Xcode. +Finally, drag and drop `SWCompression.framework` from the `Carthage/Build` directory into the "Embedded Binaries" section +on your targets' "General" tab in Xcode. SWCompression uses [BitByteData](https://github.com/tsolomko/BitByteData) framework, so Carthage will also download it, -and you should drag and drop `BitByteData.framework` file into the "Embedded Binaries" as well. +and you should put the `BitByteData.framework` file into the "Embedded Binaries" as well. ## Usage ### Basic Example -If you'd like to decompress "deflated" data just use: +For example, if you want to decompress "deflated" data just use: ```swift // let data = let decompressedData = try? Deflate.decompress(data: data) ``` -However, it is unlikely that you will encounter deflated data outside of any archive. -So, in case of GZip archive you should use: +However, it is unlikely that you will encounter deflated data outside of any archive. So, in the case of GZip archive +you should use: ```swift let decompressedData = try? GzipArchive.unarchive(archive: data) @@ -136,9 +136,9 @@ let decompressedData = try? GzipArchive.unarchive(archive: data) ### Handling Errors -Most SWCompression functions can throw an error and you are responsible for handling them. -If you look at the list of available error types and their cases, you may be frightened by their number. -However, most of these cases (such as `XZError.wrongMagic`) exist for diagnostic purposes. +Most SWCompression functions can throw errors and you are responsible for handling them. If you look at the list of +available error types and their cases, you may be frightened by their number. However, most of the cases (such as +`XZError.wrongMagic`) exist for diagnostic purposes. Thus, you only need to handle the most common type of error for your archive/algorithm. For example: @@ -153,67 +153,67 @@ do { } ``` -Or, if you don't care about errors at all, use `try?`. - ### Documentation -Every function or type of SWCompression's public API is documented. -This documentation can be found at its own [website](http://tsolomko.github.io/SWCompression). +Every function or type of SWCompression's public API is documented. This documentation can be found at its own +[website](http://tsolomko.github.io/SWCompression). ### Sophisticated example -There is a small command-line program, "swcomp", which is included in this repository in "Sources/swcomp". -To build it you need to uncomment several lines in "Package.swift" and run `swift build -c release`. +There is a small command-line program, "swcomp", which is included in this repository in "Sources/swcomp". To build it +you need to uncomment several lines in "Package.swift" and run `swift build -c release`. ## Contributing -Whether you find a bug, have a suggestion, idea or something else, -please [create an issue](https://github.com/tsolomko/SWCompression/issues) on GitHub. +Whether you find a bug, have a suggestion, idea, feedback or something else, please +[create an issue](https://github.com/tsolomko/SWCompression/issues) on GitHub. -In case you have encoutered a bug, it would be especially helpful if you attach a file (archive, etc.) -that caused the bug to happen. +In the case of a bug, it will be especially helpful if you attach a file (archive, etc.) that caused the bug to occur. -If you'd like to contribute code, please [create a pull request](https://github.com/tsolomko/SWCompression/pulls) on GitHub. +If you'd like to contribute, please [create a pull request](https://github.com/tsolomko/SWCompression/pulls) on GitHub. __Note:__ If you are considering working on SWCompression, please note that Xcode project (SWCompression.xcodeproj) was created manually and you shouldn't use `swift package generate-xcodeproj` command. ### Executing tests locally -If you'd like to run tests on your computer, you need to do an additional step after cloning this repository: +If you want to run tests on your computer, you need to do an additional step after cloning the repository: ```bash -git submodule update --init --recursive +./utils.py prepare-workspace {macos|other} ``` -This command downloads files which are used for testing. These files are stored in a -[separate repository](https://github.com/tsolomko/SWCompression-Test-Files). -Git LFS is used for storing them which is the reason for having them in the separate repository, -since Swift Package Manager have some problems with Git LFS-enabled repositories -(installing git-lfs _locally_ with `--skip-smudge` option is required to solve these problems). +The argument of this function is an operating system that you're using. This command will download files used in tests, +and on macOS it will also try to download BitByteData dependency, which requires having Carthage installed. -__Note:__ You can also use "Utils/prepare-workspace-macos.sh" script from the repository, -which not only downloads test files but also downloads dependencies. +Test files are stored in a [separate repository](https://github.com/tsolomko/SWCompression-Test-Files), using Git LFS. +There are two reasons for this complicated setup. Firstly, some of these files can be quite big, and it would be +unfortunate if the users of SWCompression had to download them every time during the installation. Secondly, Swift +Package Manager and contemporary versions of Xcode don't always work well with git-lfs-enabled repositories. To prevent +any potential problems test files were moved into another repository. Additionaly, the custom command line tool `utils.py` +is used to work around issues occuring on certain user systems (see, for example, #9). + +Please note, that if you want to add a new _type_ of test files, in addition to running `git lfs track`, you have to +also copy into the "Tests/Test Files/gitattributes-copy" file a line this command adds to the "Tests/Test Files/.gitattributes" +file. __Do not commit the ".gitattributes" file to the git history. It is git-ignored for a reason!__ ## Performance -Usage of whole module optimizations is recommended for best performance. -These optimizations are enabled by default for Release configurations. +Using whole module optimizations is recommended for the best performance. They are enabled by default in the Release build +configuration. [Tests Results](Tests/Results.md) document contains results of benchmarking of various functions. ## Why? -First of all, existing solutions for work with compression, archives and containers have certain disadvantages. -They might not support a particular compression algorithm or archive format and they all have different APIs, -which sometimes can be slightly confusing for users. -This project attempts to provide missing (and sometimes existing) functionality through unified API -which is easy to use and remember. +First of all, existing solutions for working with compression, archives and containers have certain disadvantages. They +might not support a particular compression algorithm or archive format and they all have different APIs, which sometimes +can be slightly confusing for users, especially when you mix different libraries in one project. This project attempts to +provide missing (and sometimes existing) functionality through the unified API which is easy to use and remember. -Secondly, it may be important to have a compression framework written completely in Swift, -without relying on either system libraries or solutions implemented in different languages. -Additionaly, since SWCompression is written fully in Swift without Objective-C, -it can also be used on __Linux__. +Secondly, in some cases it may be important to have a compression framework written entirely in Swift, without relying +on either system libraries or solutions implemented in other languages. Additionaly, since SWCompression is written +completely in Swift without Objective-C, it can also be used on __Linux__. ## Future plans @@ -224,11 +224,6 @@ new features. - Better Deflate compression. - Something else... -## Support Financially - -If you would like to support this project or me financially you can do so via PayPal using -[this link](https://paypal.me/tsolomko). - ## License [MIT licensed](LICENSE) From b1d9b4450a7dd1eb098fe8529371ce8f670f8b8a Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Sat, 11 Apr 2020 00:54:43 +0300 Subject: [PATCH 29/29] Prepare for 4.5.4 release --- .jazzy.yaml | 4 ++-- CHANGELOG.md | 5 +++++ SWCompression.podspec | 2 +- SWCompression.xcodeproj/SWCompression.plist | 4 ++-- SWCompression.xcodeproj/TestSWCompression.plist | 4 ++-- SWCompression.xcodeproj/project.pbxproj | 8 ++++---- Sources/swcomp/main.swift | 2 +- 7 files changed, 17 insertions(+), 12 deletions(-) diff --git a/.jazzy.yaml b/.jazzy.yaml index b7bac020..3c32f440 100644 --- a/.jazzy.yaml +++ b/.jazzy.yaml @@ -3,11 +3,11 @@ sourcekitten_sourcefile: docs.json clean: true author: Timofey Solomko module: SWCompression -module_version: 4.5.3 +module_version: 4.5.4 copyright: '© 2020 Timofey Solomko' readme: README.md github_url: https://github.com/tsolomko/SWCompression -github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.5.3 +github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.5.4 theme: fullwidth custom_categories: diff --git a/CHANGELOG.md b/CHANGELOG.md index c464b966..79aeac08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 4.5.4 + +- Fixed issues when installing using SPM or Xcode in certain situations. +- Fixed incompatibility with Swift Package Manager from Swift 4.2. + ## 4.5.3 - Improved compatibility with the latest versions of Swift (5.x) and Xcode. diff --git a/SWCompression.podspec b/SWCompression.podspec index 6b64dd08..f8021c02 100644 --- a/SWCompression.podspec +++ b/SWCompression.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SWCompression" - s.version = "4.5.3" + s.version = "4.5.4" s.summary = "A framework with functions for working with compression, archives and containers." s.description = "A framework with (de)compression algorithms and functions for processing various archives and containers." diff --git a/SWCompression.xcodeproj/SWCompression.plist b/SWCompression.xcodeproj/SWCompression.plist index cad806c9..1f365055 100644 --- a/SWCompression.xcodeproj/SWCompression.plist +++ b/SWCompression.xcodeproj/SWCompression.plist @@ -15,9 +15,9 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.5.3 + 4.5.4 CFBundleVersion - 70 + 71 NSHumanReadableCopyright Copyright © 2020 Timofey Solomko. All rights reserved. diff --git a/SWCompression.xcodeproj/TestSWCompression.plist b/SWCompression.xcodeproj/TestSWCompression.plist index 5f17fa96..ab28948b 100644 --- a/SWCompression.xcodeproj/TestSWCompression.plist +++ b/SWCompression.xcodeproj/TestSWCompression.plist @@ -15,8 +15,8 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 4.5.3 + 4.5.4 CFBundleVersion - 70 + 71 diff --git a/SWCompression.xcodeproj/project.pbxproj b/SWCompression.xcodeproj/project.pbxproj index b9d3593d..5c533063 100644 --- a/SWCompression.xcodeproj/project.pbxproj +++ b/SWCompression.xcodeproj/project.pbxproj @@ -1236,7 +1236,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 70; + CURRENT_PROJECT_VERSION = 71; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -1295,7 +1295,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 70; + CURRENT_PROJECT_VERSION = 71; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; "FRAMEWORK_SEARCH_PATHS[sdk=appletvos*]" = "\"$(SRCROOT)/Carthage/Build/tvOS\""; @@ -1335,7 +1335,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 70; + DYLIB_CURRENT_VERSION = 71; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = SWCompression.xcodeproj/SWCompression.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1362,7 +1362,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 70; + DYLIB_CURRENT_VERSION = 71; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = SWCompression.xcodeproj/SWCompression.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; diff --git a/Sources/swcomp/main.swift b/Sources/swcomp/main.swift index 389facee..123f7971 100644 --- a/Sources/swcomp/main.swift +++ b/Sources/swcomp/main.swift @@ -7,7 +7,7 @@ import Foundation import SWCompression import SwiftCLI -let cli = CLI(name: "swcomp", version: "4.5.3", +let cli = CLI(name: "swcomp", version: "4.5.4", description: """ swcomp - small command-line client for SWCompression framework. Serves as an example of SWCompression usage.