Browse Source

Merge pull request #309 from mxl/travis-xcode8

Updated travis-ci integration.
Marcin Krzyzanowski 9 năm trước cách đây
mục cha
commit
9d308a0d1c

+ 1 - 1
.swift-version

@@ -1 +1 @@
-3.0
+3.0-PREVIEW-6

+ 3 - 3
.travis.yml

@@ -4,8 +4,8 @@ os:
 language: generic
 sudo: required
 dist: trusty
-osx_image: xcode7.3
+osx_image: xcode8
 install:
-    - eval "$(curl -sL https://gist.githubusercontent.com/kylef/5c0475ff02b7c7671d2a/raw/02090c7ede5a637b76e6df1710e83cd0bbe7dcdf/swiftenv-install.sh)"
+    - eval "$(curl -sL https://gist.githubusercontent.com/kylef/5c0475ff02b7c7671d2a/raw/9f442512a46d7a2af7b850d65a7e9bd31edfb09b/swiftenv-install.sh)"
 script:
-    - bash <(curl -s https://raw.githubusercontent.com/PlanTeam/Tools/master/CI.sh)
+    - ./scripts/CI.sh

+ 7 - 1
Sources/CryptoSwift/CSArrayType+Extensions.swift

@@ -18,7 +18,13 @@ extension Array: CSArrayType {
 
 public extension CSArrayType where Iterator.Element == UInt8 {
     public func toHexString() -> String {
-        return self.lazy.reduce("") { $0 + String(format:"%02x", $1) }
+        return self.lazy.reduce("") {
+            var s = String($1, radix: 16)
+            if s.characters.count == 1 {
+                s = "0" + s
+            }
+            return $0 + s
+        }
     }
 }
 

+ 6 - 0
Sources/CryptoSwift/String+Extension.swift

@@ -52,4 +52,10 @@ extension String {
     public func authenticate<A: Authenticator>(with authenticator: A) throws -> String {
         return try self.utf8.lazy.map({ $0 as UInt8 }).authenticate(with: authenticator).toHexString()
     }
+    
+    #if !_runtime(_ObjC)
+    public func hasPrefix(_ prefix: String) -> Bool {
+        return prefix == String(self.characters.prefix(prefix.characters.count))
+    }
+    #endif
 }

+ 42 - 0
scripts/CI.sh

@@ -0,0 +1,42 @@
+#!/usr/bin/env bash
+
+set -ex
+
+echo "Build script running as user $(whoami) in directory $(pwd)"
+
+if [ -e "/usr/local/bin/swiftenv" ]; then
+	export PATH="/usr/local/bin:$PATH"
+fi
+
+eval "$(swiftenv init -)"
+
+swiftenv version
+
+swift build --clean dist
+swift package fetch
+
+if [ -d Packages ]; then
+	if ls Packages/*/Tests 1>/dev/null 2>&1; then
+		echo "Deleting subpackage tests"
+		rm -r Packages/*/Tests
+	fi
+fi
+
+swift build
+sbexit=$?
+
+echo "Swift build exited with code $sbexit"
+
+if [[ $sbexit != 0 ]]; then
+	exit $sbexit
+fi
+
+if [ -e "Tools/testprep.sh" ]; then
+	cd Tools
+	./testprep.sh
+	cd ..
+fi
+
+if [ -d "Tests" ]; then
+	swift test
+fi