Merge pull request #5 from paulcastro/issue_4
Issue #4 update code to beta 6
diff --git a/WhiskSwiftTools.xcodeproj/project.pbxproj b/WhiskSwiftTools.xcodeproj/project.pbxproj
index 1500296..dd8fc69 100644
--- a/WhiskSwiftTools.xcodeproj/project.pbxproj
+++ b/WhiskSwiftTools.xcodeproj/project.pbxproj
@@ -7,6 +7,21 @@
objects = {
/* Begin PBXBuildFile section */
+ D676B4AD1D64AAA400A29AE5 /* aescrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B48A1D64AAA400A29AE5 /* aescrypt.c */; };
+ D676B4AE1D64AAA400A29AE5 /* aeskey.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B48B1D64AAA400A29AE5 /* aeskey.c */; };
+ D676B4AF1D64AAA400A29AE5 /* aestab.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B48D1D64AAA400A29AE5 /* aestab.c */; };
+ D676B4B01D64AAA400A29AE5 /* entropy.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B4911D64AAA400A29AE5 /* entropy.c */; };
+ D676B4B11D64AAA400A29AE5 /* fileenc.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B4931D64AAA400A29AE5 /* fileenc.c */; };
+ D676B4B21D64AAA400A29AE5 /* hmac.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B4951D64AAA400A29AE5 /* hmac.c */; };
+ D676B4B31D64AAA400A29AE5 /* prng.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B4971D64AAA400A29AE5 /* prng.c */; };
+ D676B4B41D64AAA400A29AE5 /* pwd2key.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B4991D64AAA400A29AE5 /* pwd2key.c */; };
+ D676B4B51D64AAA400A29AE5 /* sha1.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B49B1D64AAA400A29AE5 /* sha1.c */; };
+ D676B4B61D64AAA400A29AE5 /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B4A01D64AAA400A29AE5 /* ioapi.c */; };
+ D676B4B71D64AAA400A29AE5 /* mztools.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B4A21D64AAA400A29AE5 /* mztools.c */; };
+ D676B4B81D64AAA400A29AE5 /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B4A41D64AAA400A29AE5 /* unzip.c */; };
+ D676B4B91D64AAA400A29AE5 /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = D676B4A61D64AAA400A29AE5 /* zip.c */; };
+ D676B4BA1D64AAA400A29AE5 /* SSZipArchive+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = D676B4A81D64AAA400A29AE5 /* SSZipArchive+Swift.swift */; };
+ D676B4BB1D64AAA400A29AE5 /* SSZipArchive.m in Sources */ = {isa = PBXBuildFile; fileRef = D676B4AA1D64AAA400A29AE5 /* SSZipArchive.m */; };
D6BC1BF61D4017BE00C2334C /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1BF51D4017BE00C2334C /* main.swift */; };
D6BC1BFD1D4017FD00C2334C /* WhiskInstaller.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1BFC1D4017FD00C2334C /* WhiskInstaller.swift */; };
D6BC1BFF1D40180A00C2334C /* ConsoleIO.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1BFE1D40180A00C2334C /* ConsoleIO.swift */; };
@@ -18,20 +33,6 @@
D6BC1C331D4119FB00C2334C /* WhiskAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C2D1D4119FB00C2334C /* WhiskAPI.swift */; };
D6BC1C351D41391D00C2334C /* WhiskTokenizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C341D41391D00C2334C /* WhiskTokenizer.swift */; };
D6BC1C701D41659C00C2334C /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D6BC1C6F1D41659C00C2334C /* libz.tbd */; };
- D6BC1C971D4165BA00C2334C /* aescrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C751D4165BA00C2334C /* aescrypt.c */; };
- D6BC1C981D4165BA00C2334C /* aeskey.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C761D4165BA00C2334C /* aeskey.c */; };
- D6BC1C991D4165BA00C2334C /* aestab.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C781D4165BA00C2334C /* aestab.c */; };
- D6BC1C9A1D4165BA00C2334C /* entropy.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C7C1D4165BA00C2334C /* entropy.c */; };
- D6BC1C9B1D4165BA00C2334C /* fileenc.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C7E1D4165BA00C2334C /* fileenc.c */; };
- D6BC1C9C1D4165BA00C2334C /* hmac.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C801D4165BA00C2334C /* hmac.c */; };
- D6BC1C9D1D4165BA00C2334C /* prng.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C821D4165BA00C2334C /* prng.c */; };
- D6BC1C9E1D4165BA00C2334C /* pwd2key.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C841D4165BA00C2334C /* pwd2key.c */; };
- D6BC1C9F1D4165BA00C2334C /* sha1.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C861D4165BA00C2334C /* sha1.c */; };
- D6BC1CA01D4165BA00C2334C /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C8C1D4165BA00C2334C /* ioapi.c */; };
- D6BC1CA11D4165BA00C2334C /* mztools.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C8E1D4165BA00C2334C /* mztools.c */; };
- D6BC1CA21D4165BA00C2334C /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C901D4165BA00C2334C /* unzip.c */; };
- D6BC1CA31D4165BA00C2334C /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C921D4165BA00C2334C /* zip.c */; };
- D6BC1CA41D4165BA00C2334C /* SSZipArchive.m in Sources */ = {isa = PBXBuildFile; fileRef = D6BC1C951D4165BA00C2334C /* SSZipArchive.m */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -47,6 +48,42 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
+ D676B4881D64AAA400A29AE5 /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = "<group>"; };
+ D676B4891D64AAA400A29AE5 /* aes_via_ace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes_via_ace.h; sourceTree = "<group>"; };
+ D676B48A1D64AAA400A29AE5 /* aescrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aescrypt.c; sourceTree = "<group>"; };
+ D676B48B1D64AAA400A29AE5 /* aeskey.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aeskey.c; sourceTree = "<group>"; };
+ D676B48C1D64AAA400A29AE5 /* aesopt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aesopt.h; sourceTree = "<group>"; };
+ D676B48D1D64AAA400A29AE5 /* aestab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aestab.c; sourceTree = "<group>"; };
+ D676B48E1D64AAA400A29AE5 /* aestab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aestab.h; sourceTree = "<group>"; };
+ D676B48F1D64AAA400A29AE5 /* brg_endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = brg_endian.h; sourceTree = "<group>"; };
+ D676B4901D64AAA400A29AE5 /* brg_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = brg_types.h; sourceTree = "<group>"; };
+ D676B4911D64AAA400A29AE5 /* entropy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = entropy.c; sourceTree = "<group>"; };
+ D676B4921D64AAA400A29AE5 /* entropy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = entropy.h; sourceTree = "<group>"; };
+ D676B4931D64AAA400A29AE5 /* fileenc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fileenc.c; sourceTree = "<group>"; };
+ D676B4941D64AAA400A29AE5 /* fileenc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fileenc.h; sourceTree = "<group>"; };
+ D676B4951D64AAA400A29AE5 /* hmac.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hmac.c; sourceTree = "<group>"; };
+ D676B4961D64AAA400A29AE5 /* hmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hmac.h; sourceTree = "<group>"; };
+ D676B4971D64AAA400A29AE5 /* prng.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = prng.c; sourceTree = "<group>"; };
+ D676B4981D64AAA400A29AE5 /* prng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prng.h; sourceTree = "<group>"; };
+ D676B4991D64AAA400A29AE5 /* pwd2key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pwd2key.c; sourceTree = "<group>"; };
+ D676B49A1D64AAA400A29AE5 /* pwd2key.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pwd2key.h; sourceTree = "<group>"; };
+ D676B49B1D64AAA400A29AE5 /* sha1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sha1.c; sourceTree = "<group>"; };
+ D676B49C1D64AAA400A29AE5 /* sha1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha1.h; sourceTree = "<group>"; };
+ D676B49D1D64AAA400A29AE5 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+ D676B49F1D64AAA400A29AE5 /* crypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypt.h; sourceTree = "<group>"; };
+ D676B4A01D64AAA400A29AE5 /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ioapi.c; sourceTree = "<group>"; };
+ D676B4A11D64AAA400A29AE5 /* ioapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ioapi.h; sourceTree = "<group>"; };
+ D676B4A21D64AAA400A29AE5 /* mztools.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mztools.c; sourceTree = "<group>"; };
+ D676B4A31D64AAA400A29AE5 /* mztools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mztools.h; sourceTree = "<group>"; };
+ D676B4A41D64AAA400A29AE5 /* unzip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = unzip.c; sourceTree = "<group>"; };
+ D676B4A51D64AAA400A29AE5 /* unzip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unzip.h; sourceTree = "<group>"; };
+ D676B4A61D64AAA400A29AE5 /* zip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zip.c; sourceTree = "<group>"; };
+ D676B4A71D64AAA400A29AE5 /* zip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zip.h; sourceTree = "<group>"; };
+ D676B4A81D64AAA400A29AE5 /* SSZipArchive+Swift.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SSZipArchive+Swift.swift"; sourceTree = "<group>"; };
+ D676B4A91D64AAA400A29AE5 /* SSZipArchive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SSZipArchive.h; sourceTree = "<group>"; };
+ D676B4AA1D64AAA400A29AE5 /* SSZipArchive.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SSZipArchive.m; sourceTree = "<group>"; };
+ D676B4AB1D64AAA400A29AE5 /* SSZipCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SSZipCommon.h; sourceTree = "<group>"; };
+ D676B4AC1D64AAA400A29AE5 /* ZipArchive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZipArchive.h; sourceTree = "<group>"; };
D6BC1BF21D4017BE00C2334C /* wsktool */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = wsktool; sourceTree = BUILT_PRODUCTS_DIR; };
D6BC1BF51D4017BE00C2334C /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
D6BC1BFC1D4017FD00C2334C /* WhiskInstaller.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WhiskInstaller.swift; sourceTree = "<group>"; };
@@ -61,41 +98,6 @@
D6BC1C341D41391D00C2334C /* WhiskTokenizer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WhiskTokenizer.swift; sourceTree = "<group>"; };
D6BC1C391D413D9700C2334C /* ZipArchive.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ZipArchive.framework; path = ../ZipArchive/build/Debug/ZipArchive.framework; sourceTree = "<group>"; };
D6BC1C6F1D41659C00C2334C /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
- D6BC1C731D4165BA00C2334C /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = "<group>"; };
- D6BC1C741D4165BA00C2334C /* aes_via_ace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes_via_ace.h; sourceTree = "<group>"; };
- D6BC1C751D4165BA00C2334C /* aescrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aescrypt.c; sourceTree = "<group>"; };
- D6BC1C761D4165BA00C2334C /* aeskey.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aeskey.c; sourceTree = "<group>"; };
- D6BC1C771D4165BA00C2334C /* aesopt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aesopt.h; sourceTree = "<group>"; };
- D6BC1C781D4165BA00C2334C /* aestab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aestab.c; sourceTree = "<group>"; };
- D6BC1C791D4165BA00C2334C /* aestab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aestab.h; sourceTree = "<group>"; };
- D6BC1C7A1D4165BA00C2334C /* brg_endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = brg_endian.h; sourceTree = "<group>"; };
- D6BC1C7B1D4165BA00C2334C /* brg_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = brg_types.h; sourceTree = "<group>"; };
- D6BC1C7C1D4165BA00C2334C /* entropy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = entropy.c; sourceTree = "<group>"; };
- D6BC1C7D1D4165BA00C2334C /* entropy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = entropy.h; sourceTree = "<group>"; };
- D6BC1C7E1D4165BA00C2334C /* fileenc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fileenc.c; sourceTree = "<group>"; };
- D6BC1C7F1D4165BA00C2334C /* fileenc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fileenc.h; sourceTree = "<group>"; };
- D6BC1C801D4165BA00C2334C /* hmac.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hmac.c; sourceTree = "<group>"; };
- D6BC1C811D4165BA00C2334C /* hmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hmac.h; sourceTree = "<group>"; };
- D6BC1C821D4165BA00C2334C /* prng.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = prng.c; sourceTree = "<group>"; };
- D6BC1C831D4165BA00C2334C /* prng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prng.h; sourceTree = "<group>"; };
- D6BC1C841D4165BA00C2334C /* pwd2key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pwd2key.c; sourceTree = "<group>"; };
- D6BC1C851D4165BA00C2334C /* pwd2key.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pwd2key.h; sourceTree = "<group>"; };
- D6BC1C861D4165BA00C2334C /* sha1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sha1.c; sourceTree = "<group>"; };
- D6BC1C871D4165BA00C2334C /* sha1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha1.h; sourceTree = "<group>"; };
- D6BC1C881D4165BA00C2334C /* Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Common.h; sourceTree = "<group>"; };
- D6BC1C891D4165BA00C2334C /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
- D6BC1C8B1D4165BA00C2334C /* crypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypt.h; sourceTree = "<group>"; };
- D6BC1C8C1D4165BA00C2334C /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ioapi.c; sourceTree = "<group>"; };
- D6BC1C8D1D4165BA00C2334C /* ioapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ioapi.h; sourceTree = "<group>"; };
- D6BC1C8E1D4165BA00C2334C /* mztools.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mztools.c; sourceTree = "<group>"; };
- D6BC1C8F1D4165BA00C2334C /* mztools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mztools.h; sourceTree = "<group>"; };
- D6BC1C901D4165BA00C2334C /* unzip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = unzip.c; sourceTree = "<group>"; };
- D6BC1C911D4165BA00C2334C /* unzip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unzip.h; sourceTree = "<group>"; };
- D6BC1C921D4165BA00C2334C /* zip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zip.c; sourceTree = "<group>"; };
- D6BC1C931D4165BA00C2334C /* zip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zip.h; sourceTree = "<group>"; };
- D6BC1C941D4165BA00C2334C /* SSZipArchive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SSZipArchive.h; sourceTree = "<group>"; };
- D6BC1C951D4165BA00C2334C /* SSZipArchive.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SSZipArchive.m; sourceTree = "<group>"; };
- D6BC1C961D4165BA00C2334C /* ZipArchive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZipArchive.h; sourceTree = "<group>"; };
D6BC1CA81D41675800C2334C /* WhiskSwiftTools-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "WhiskSwiftTools-Bridging-Header.h"; sourceTree = "<group>"; };
/* End PBXFileReference section */
@@ -111,11 +113,71 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ D676B4861D64AAA400A29AE5 /* SSZipArchive */ = {
+ isa = PBXGroup;
+ children = (
+ D676B4871D64AAA400A29AE5 /* aes */,
+ D676B49D1D64AAA400A29AE5 /* Info.plist */,
+ D676B49E1D64AAA400A29AE5 /* minizip */,
+ D676B4A81D64AAA400A29AE5 /* SSZipArchive+Swift.swift */,
+ D676B4A91D64AAA400A29AE5 /* SSZipArchive.h */,
+ D676B4AA1D64AAA400A29AE5 /* SSZipArchive.m */,
+ D676B4AB1D64AAA400A29AE5 /* SSZipCommon.h */,
+ D676B4AC1D64AAA400A29AE5 /* ZipArchive.h */,
+ );
+ name = SSZipArchive;
+ path = ../ZipArchive/SSZipArchive;
+ sourceTree = "<group>";
+ };
+ D676B4871D64AAA400A29AE5 /* aes */ = {
+ isa = PBXGroup;
+ children = (
+ D676B4881D64AAA400A29AE5 /* aes.h */,
+ D676B4891D64AAA400A29AE5 /* aes_via_ace.h */,
+ D676B48A1D64AAA400A29AE5 /* aescrypt.c */,
+ D676B48B1D64AAA400A29AE5 /* aeskey.c */,
+ D676B48C1D64AAA400A29AE5 /* aesopt.h */,
+ D676B48D1D64AAA400A29AE5 /* aestab.c */,
+ D676B48E1D64AAA400A29AE5 /* aestab.h */,
+ D676B48F1D64AAA400A29AE5 /* brg_endian.h */,
+ D676B4901D64AAA400A29AE5 /* brg_types.h */,
+ D676B4911D64AAA400A29AE5 /* entropy.c */,
+ D676B4921D64AAA400A29AE5 /* entropy.h */,
+ D676B4931D64AAA400A29AE5 /* fileenc.c */,
+ D676B4941D64AAA400A29AE5 /* fileenc.h */,
+ D676B4951D64AAA400A29AE5 /* hmac.c */,
+ D676B4961D64AAA400A29AE5 /* hmac.h */,
+ D676B4971D64AAA400A29AE5 /* prng.c */,
+ D676B4981D64AAA400A29AE5 /* prng.h */,
+ D676B4991D64AAA400A29AE5 /* pwd2key.c */,
+ D676B49A1D64AAA400A29AE5 /* pwd2key.h */,
+ D676B49B1D64AAA400A29AE5 /* sha1.c */,
+ D676B49C1D64AAA400A29AE5 /* sha1.h */,
+ );
+ path = aes;
+ sourceTree = "<group>";
+ };
+ D676B49E1D64AAA400A29AE5 /* minizip */ = {
+ isa = PBXGroup;
+ children = (
+ D676B49F1D64AAA400A29AE5 /* crypt.h */,
+ D676B4A01D64AAA400A29AE5 /* ioapi.c */,
+ D676B4A11D64AAA400A29AE5 /* ioapi.h */,
+ D676B4A21D64AAA400A29AE5 /* mztools.c */,
+ D676B4A31D64AAA400A29AE5 /* mztools.h */,
+ D676B4A41D64AAA400A29AE5 /* unzip.c */,
+ D676B4A51D64AAA400A29AE5 /* unzip.h */,
+ D676B4A61D64AAA400A29AE5 /* zip.c */,
+ D676B4A71D64AAA400A29AE5 /* zip.h */,
+ );
+ path = minizip;
+ sourceTree = "<group>";
+ };
D6BC1BE91D4017BE00C2334C = {
isa = PBXGroup;
children = (
+ D676B4861D64AAA400A29AE5 /* SSZipArchive */,
D6BC1CA81D41675800C2334C /* WhiskSwiftTools-Bridging-Header.h */,
- D6BC1C711D4165BA00C2334C /* SSZipArchive */,
D6BC1C001D40183900C2334C /* WhiskKit */,
D6BC1BF41D4017BE00C2334C /* WhiskTool */,
D6BC1BF31D4017BE00C2334C /* Products */,
@@ -167,65 +229,6 @@
name = Frameworks;
sourceTree = "<group>";
};
- D6BC1C711D4165BA00C2334C /* SSZipArchive */ = {
- isa = PBXGroup;
- children = (
- D6BC1C721D4165BA00C2334C /* aes */,
- D6BC1C881D4165BA00C2334C /* Common.h */,
- D6BC1C891D4165BA00C2334C /* Info.plist */,
- D6BC1C8A1D4165BA00C2334C /* minizip */,
- D6BC1C941D4165BA00C2334C /* SSZipArchive.h */,
- D6BC1C951D4165BA00C2334C /* SSZipArchive.m */,
- D6BC1C961D4165BA00C2334C /* ZipArchive.h */,
- );
- name = SSZipArchive;
- path = WhiskSwiftTools/ZipArchive/SSZipArchive;
- sourceTree = "<group>";
- };
- D6BC1C721D4165BA00C2334C /* aes */ = {
- isa = PBXGroup;
- children = (
- D6BC1C731D4165BA00C2334C /* aes.h */,
- D6BC1C741D4165BA00C2334C /* aes_via_ace.h */,
- D6BC1C751D4165BA00C2334C /* aescrypt.c */,
- D6BC1C761D4165BA00C2334C /* aeskey.c */,
- D6BC1C771D4165BA00C2334C /* aesopt.h */,
- D6BC1C781D4165BA00C2334C /* aestab.c */,
- D6BC1C791D4165BA00C2334C /* aestab.h */,
- D6BC1C7A1D4165BA00C2334C /* brg_endian.h */,
- D6BC1C7B1D4165BA00C2334C /* brg_types.h */,
- D6BC1C7C1D4165BA00C2334C /* entropy.c */,
- D6BC1C7D1D4165BA00C2334C /* entropy.h */,
- D6BC1C7E1D4165BA00C2334C /* fileenc.c */,
- D6BC1C7F1D4165BA00C2334C /* fileenc.h */,
- D6BC1C801D4165BA00C2334C /* hmac.c */,
- D6BC1C811D4165BA00C2334C /* hmac.h */,
- D6BC1C821D4165BA00C2334C /* prng.c */,
- D6BC1C831D4165BA00C2334C /* prng.h */,
- D6BC1C841D4165BA00C2334C /* pwd2key.c */,
- D6BC1C851D4165BA00C2334C /* pwd2key.h */,
- D6BC1C861D4165BA00C2334C /* sha1.c */,
- D6BC1C871D4165BA00C2334C /* sha1.h */,
- );
- path = aes;
- sourceTree = "<group>";
- };
- D6BC1C8A1D4165BA00C2334C /* minizip */ = {
- isa = PBXGroup;
- children = (
- D6BC1C8B1D4165BA00C2334C /* crypt.h */,
- D6BC1C8C1D4165BA00C2334C /* ioapi.c */,
- D6BC1C8D1D4165BA00C2334C /* ioapi.h */,
- D6BC1C8E1D4165BA00C2334C /* mztools.c */,
- D6BC1C8F1D4165BA00C2334C /* mztools.h */,
- D6BC1C901D4165BA00C2334C /* unzip.c */,
- D6BC1C911D4165BA00C2334C /* unzip.h */,
- D6BC1C921D4165BA00C2334C /* zip.c */,
- D6BC1C931D4165BA00C2334C /* zip.h */,
- );
- path = minizip;
- sourceTree = "<group>";
- };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -260,6 +263,7 @@
CreatedOnToolsVersion = 8.0;
DevelopmentTeam = 76CMF53Q35;
DevelopmentTeamName = "International Business Machines Corp.";
+ LastSwiftMigration = 0800;
ProvisioningStyle = Automatic;
};
};
@@ -286,30 +290,31 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- D6BC1C9C1D4165BA00C2334C /* hmac.c in Sources */,
+ D676B4B41D64AAA400A29AE5 /* pwd2key.c in Sources */,
+ D676B4B21D64AAA400A29AE5 /* hmac.c in Sources */,
+ D676B4BB1D64AAA400A29AE5 /* SSZipArchive.m in Sources */,
D6BC1C351D41391D00C2334C /* WhiskTokenizer.swift in Sources */,
+ D676B4B71D64AAA400A29AE5 /* mztools.c in Sources */,
D6BC1C311D4119FB00C2334C /* ProjectReader.swift in Sources */,
- D6BC1C991D4165BA00C2334C /* aestab.c in Sources */,
- D6BC1C9B1D4165BA00C2334C /* fileenc.c in Sources */,
+ D676B4B51D64AAA400A29AE5 /* sha1.c in Sources */,
+ D676B4AF1D64AAA400A29AE5 /* aestab.c in Sources */,
D6BC1C321D4119FB00C2334C /* SequenceCode.swift in Sources */,
- D6BC1C981D4165BA00C2334C /* aeskey.c in Sources */,
- D6BC1C9D1D4165BA00C2334C /* prng.c in Sources */,
+ D676B4B91D64AAA400A29AE5 /* zip.c in Sources */,
D6BC1C2E1D4119FB00C2334C /* Git.swift in Sources */,
- D6BC1C971D4165BA00C2334C /* aescrypt.c in Sources */,
D6BC1C301D4119FB00C2334C /* ProjectManager.swift in Sources */,
- D6BC1CA11D4165BA00C2334C /* mztools.c in Sources */,
- D6BC1CA21D4165BA00C2334C /* unzip.c in Sources */,
+ D676B4AE1D64AAA400A29AE5 /* aeskey.c in Sources */,
+ D676B4B81D64AAA400A29AE5 /* unzip.c in Sources */,
+ D676B4B31D64AAA400A29AE5 /* prng.c in Sources */,
D6BC1BFF1D40180A00C2334C /* ConsoleIO.swift in Sources */,
- D6BC1C9F1D4165BA00C2334C /* sha1.c in Sources */,
+ D676B4B11D64AAA400A29AE5 /* fileenc.c in Sources */,
D6BC1BF61D4017BE00C2334C /* main.swift in Sources */,
- D6BC1CA01D4165BA00C2334C /* ioapi.c in Sources */,
+ D676B4BA1D64AAA400A29AE5 /* SSZipArchive+Swift.swift in Sources */,
D6BC1C2F1D4119FB00C2334C /* ManifestReader.swift in Sources */,
- D6BC1CA31D4165BA00C2334C /* zip.c in Sources */,
+ D676B4AD1D64AAA400A29AE5 /* aescrypt.c in Sources */,
D6BC1BFD1D4017FD00C2334C /* WhiskInstaller.swift in Sources */,
- D6BC1CA41D4165BA00C2334C /* SSZipArchive.m in Sources */,
D6BC1C331D4119FB00C2334C /* WhiskAPI.swift in Sources */,
- D6BC1C9E1D4165BA00C2334C /* pwd2key.c in Sources */,
- D6BC1C9A1D4165BA00C2334C /* entropy.c in Sources */,
+ D676B4B61D64AAA400A29AE5 /* ioapi.c in Sources */,
+ D676B4B01D64AAA400A29AE5 /* entropy.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -405,6 +410,7 @@
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
"SWIFT_OBJC_BRIDGING_HEADER[arch=*]" = "WhiskSwiftTools-Bridging-Header.h";
+ SWIFT_VERSION = 3.0;
};
name = Debug;
};
@@ -412,6 +418,7 @@
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 3.0;
};
name = Release;
};
diff --git a/WhiskSwiftTools.xcodeproj/project.xcworkspace/xcshareddata/WhiskSwiftTools.xcscmblueprint b/WhiskSwiftTools.xcodeproj/project.xcworkspace/xcshareddata/WhiskSwiftTools.xcscmblueprint
index 5b66749..6023f9d 100644
--- a/WhiskSwiftTools.xcodeproj/project.xcworkspace/xcshareddata/WhiskSwiftTools.xcscmblueprint
+++ b/WhiskSwiftTools.xcodeproj/project.xcworkspace/xcshareddata/WhiskSwiftTools.xcscmblueprint
@@ -9,7 +9,7 @@
},
"DVTSourceControlWorkspaceBlueprintIdentifierKey" : "06E1D60A-07E3-45BC-8101-A3D050C33727",
"DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
- "65E71B0513DBFB09F39CEEF3A8B769CB93E66994" : "WhiskSwiftTools\/WhiskSwiftTools\/ZipArchive\/",
+ "65E71B0513DBFB09F39CEEF3A8B769CB93E66994" : "ZipArchive\/",
"E9057848A6186DD9CAE5574816428252CA2E16CD" : "WhiskSwiftTools\/"
},
"DVTSourceControlWorkspaceBlueprintNameKey" : "WhiskSwiftTools",
diff --git a/WhiskSwiftTools/ConsoleIO.swift b/WhiskSwiftTools/ConsoleIO.swift
index 653aed7..504cecb 100644
--- a/WhiskSwiftTools/ConsoleIO.swift
+++ b/WhiskSwiftTools/ConsoleIO.swift
@@ -40,7 +40,8 @@
class ConsoleIO {
class func printUsage() {
- let executableName = (Process.arguments[0] as NSString).lastPathComponent
+
+ let executableName = (CommandLine.arguments[0] as NSString).lastPathComponent
print ("usage:")
print ("To install a project:")
@@ -57,7 +58,7 @@
print ("Type \(executableName) -h or --help to show usage information")
}
- func getOption(option: String) -> (option: OptionType, value: String) {
+ func getOption(_ option: String) -> (option: OptionType, value: String) {
return (OptionType(value: option), option)
}
}
diff --git a/WhiskSwiftTools/Git.swift b/WhiskSwiftTools/Git.swift
index b1dab3f..d05e464 100644
--- a/WhiskSwiftTools/Git.swift
+++ b/WhiskSwiftTools/Git.swift
@@ -21,9 +21,9 @@
static let TempZipFile = "/tmp/openwhiskproject.zip"
- class func cloneGitRepo(repo: String, toPath: String, group: DispatchGroup) throws {
- guard let nsUrl = NSURL(string:repo) else {
- throw WhiskNetworkError.MalformedUrlString(url: repo, cause: "Cannot create URL from url String")
+ class func cloneGitRepo(_ repo: String, toPath: String, group: DispatchGroup) throws {
+ guard let nsUrl = URL(string:repo) else {
+ throw WhiskNetworkError.malformedUrlString(url: repo, cause: "Cannot create URL from url String")
}
let sessionConfig = URLSessionConfiguration.default
@@ -65,7 +65,7 @@
}
group.leave()
- })
+ } as! (Data?, URLResponse?, Error?) -> Void)
task.resume()
}
}
diff --git a/WhiskSwiftTools/ManifestReader.swift b/WhiskSwiftTools/ManifestReader.swift
index b7d3f3b..930cb71 100644
--- a/WhiskSwiftTools/ManifestReader.swift
+++ b/WhiskSwiftTools/ManifestReader.swift
@@ -18,13 +18,13 @@
class ManifestReader {
- class func readManifest(atPath: NSString) throws -> [String: AnyObject] {
+ class func readManifest(_ atPath: NSString) throws -> [String: AnyObject] {
- return try ManifestReader.parseJson(atPath: atPath)
+ return try ManifestReader.parseJson(atPath)
}
- class func parseJson(atPath: NSString) throws -> [String:AnyObject] {
+ class func parseJson(_ atPath: NSString) throws -> [String:AnyObject] {
do {
let jsonStr = try NSString(contentsOfFile: atPath as String, encoding: String.Encoding.utf8.rawValue)
@@ -34,14 +34,14 @@
if let openwhisk = result["openwhisk"] as? [String:AnyObject] {
return openwhisk
} else {
- throw WhiskProjectError.MalformedManifestFile(name: atPath as String, cause: "root of manifest file should be a JSON object called 'openwhisk'")
+ throw WhiskProjectError.malformedManifestFile(name: atPath as String, cause: "root of manifest file should be a JSON object called 'openwhisk'")
}
} else {
- throw WhiskProjectError.MalformedManifestFile(name: atPath as String, cause: "JSON file does not appear to be an object. Is in an array?")
+ throw WhiskProjectError.malformedManifestFile(name: atPath as String, cause: "JSON file does not appear to be an object. Is in an array?")
}
}
} catch {
- throw WhiskProjectError.MalformedManifestFile(name: atPath as String, cause: "Error parsing JSON file contents \(error)")
+ throw WhiskProjectError.malformedManifestFile(name: atPath as String, cause: "Error parsing JSON file contents \(error)")
}
return [String:AnyObject]()
diff --git a/WhiskSwiftTools/ProjectManager.swift b/WhiskSwiftTools/ProjectManager.swift
index f7ef723..af76287 100644
--- a/WhiskSwiftTools/ProjectManager.swift
+++ b/WhiskSwiftTools/ProjectManager.swift
@@ -16,7 +16,7 @@
import Foundation
-public class ProjectManager {
+open class ProjectManager {
let whisk: WhiskAPI!
let path: String!
@@ -38,7 +38,7 @@
}
- public func deployProject() throws {
+ open func deployProject() throws {
if (projectReader) != nil {
let group = DispatchGroup()
@@ -49,8 +49,8 @@
do {
self.projectReader?.clearAll()
- if self.projectReader?.detectXcode(path: self.path) == false {
- try self.projectReader?.readRootDependencies(clone: true)
+ if self.projectReader?.detectXcode(self.path) == false {
+ try self.projectReader?.readRootDependencies(true)
}
try self.projectReader?.readProjectDirectory()
@@ -72,9 +72,9 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
break
}
@@ -84,7 +84,7 @@
}
}
- public func deleteProject() throws {
+ open func deleteProject() throws {
if projectReader != nil {
let group = DispatchGroup()
@@ -95,8 +95,8 @@
do {
self.projectReader?.clearAll()
- if self.projectReader?.detectXcode(path: self.path) == false {
- try self.projectReader?.readRootDependencies(clone: false)
+ if self.projectReader?.detectXcode(self.path) == false {
+ try self.projectReader?.readRootDependencies(false)
}
try self.projectReader?.readProjectDirectory()
// self.projectReader?.dumpProjectStructure()
@@ -116,9 +116,9 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
break
}
@@ -128,7 +128,7 @@
}
- public func installSequences() throws {
+ open func installSequences() throws {
let sequences = projectReader.sequenceDict
let group = DispatchGroup()
@@ -138,17 +138,17 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
print("Sequences installed successfully")
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
print("Install sequence timed out")
break
}
}
- public func installPackages() throws {
+ open func installPackages() throws {
let packages = projectReader.packageDict
let group = DispatchGroup()
@@ -158,10 +158,10 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
print("Packages installed successfully")
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
print("Install pacakges timed out")
break
}
@@ -170,7 +170,7 @@
}
- public func deletePackages() throws {
+ open func deletePackages() throws {
let packages = projectReader.packageDict
let group = DispatchGroup()
@@ -180,10 +180,10 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
print("Packages deleted successfully")
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
print("delete packages timed out")
break
}
@@ -191,7 +191,7 @@
}
- public func installRules() throws {
+ open func installRules() throws {
let rules = projectReader.ruleDict
let group = DispatchGroup()
@@ -201,10 +201,10 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
print("Rules installed successfully")
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
print("Install rules timed out")
break
}
@@ -213,7 +213,7 @@
}
- public func enableRules() throws {
+ open func enableRules() throws {
let rules = projectReader.ruleDict
let group = DispatchGroup()
@@ -223,10 +223,10 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
print("Rules enabled successfully")
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
print("enable timed out")
break
}
@@ -237,7 +237,7 @@
- public func deleteRules() throws {
+ open func deleteRules() throws {
let rules = projectReader.ruleDict
let group = DispatchGroup()
@@ -247,10 +247,10 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
print("Rules deleted successfully")
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
print("delete rules timed out")
break
}
@@ -259,7 +259,7 @@
}
- public func installTriggers() throws {
+ open func installTriggers() throws {
let triggers = projectReader.triggerDict
let group = DispatchGroup()
@@ -273,10 +273,10 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
print("Triggers installed successfully")
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
print("install timed out")
break
}
@@ -284,7 +284,7 @@
}
- public func deleteTriggers() throws {
+ open func deleteTriggers() throws {
let triggers = projectReader.triggerDict
let group = DispatchGroup()
@@ -294,10 +294,10 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
print("Triggers deleted successfully success")
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
print("delete triggers timed out")
break
}
@@ -306,7 +306,7 @@
}
- public func installActions() throws {
+ open func installActions() throws {
let actions = projectReader.actionsDict
let group = DispatchGroup()
@@ -322,13 +322,13 @@
var runtimeStr = "nodejs"
switch runtime {
- case Runtime.Swift:
+ case Runtime.swift:
runtimeStr = "swift"
- case Runtime.Swift3:
+ case Runtime.swift3:
runtimeStr = "swift:3"
- case Runtime.Python:
+ case Runtime.python:
runtimeStr = "python"
- case Runtime.Java:
+ case Runtime.java:
runtimeStr = "java"
default:
break
@@ -339,10 +339,10 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
print("Actions installed sucessfully")
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
print("Install actions timed out")
break
}
@@ -351,7 +351,7 @@
}
- public func deleteActionsAndSequences() throws {
+ open func deleteActionsAndSequences() throws {
let actions = projectReader.actionsDict
let group = DispatchGroup()
for (name, _) in actions {
@@ -364,10 +364,10 @@
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
print("Actions and sequences deleted successfully")
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
print("delete actions and sequences timed out")
break
}
diff --git a/WhiskSwiftTools/ProjectReader.swift b/WhiskSwiftTools/ProjectReader.swift
index de3ffe5..1de5c22 100644
--- a/WhiskSwiftTools/ProjectReader.swift
+++ b/WhiskSwiftTools/ProjectReader.swift
@@ -25,20 +25,20 @@
*/
-public enum WhiskProjectError: ErrorProtocol {
- case DuplicateNameError(name: String)
- case MalformedManifestFile(name: String, cause: String)
- case RuleStateError(type: String, cause: String)
- case GitRequestError(cause: String)
- case UnsupportedFeedType(cause: String)
+public enum WhiskProjectError: Error {
+ case duplicateNameError(name: String)
+ case malformedManifestFile(name: String, cause: String)
+ case ruleStateError(type: String, cause: String)
+ case gitRequestError(cause: String)
+ case unsupportedFeedType(cause: String)
}
enum Runtime {
- case Swift
- case Swift3
- case NodeJS
- case Java
- case Python
+ case swift
+ case swift3
+ case nodeJS
+ case java
+ case python
}
public struct Package {
@@ -78,7 +78,7 @@
}
-public class ProjectReader {
+open class ProjectReader {
let BindingsFileName = "root-manifest.json"
let ManifestFileName = "manifest.json"
@@ -107,29 +107,29 @@
let group = DispatchGroup()
let zipFilePath = "\(repo)/archive/\(release).zip"
- try Git.cloneGitRepo(repo: zipFilePath, toPath: path, group: group)
+ try Git.cloneGitRepo(zipFilePath, toPath: path, group: group)
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
let projectName = (repo as NSString).lastPathComponent
projectPath = "\(path)/\(projectName)-\(release)/src"
break
- case DispatchTimeoutResult.TimedOut:
- throw WhiskProjectError.GitRequestError(cause: "Failure cloning repo \(repo): request timed out.")
+ case DispatchTimeoutResult.timedOut:
+ throw WhiskProjectError.gitRequestError(cause: "Failure cloning repo \(repo): request timed out.")
}
} catch {
print("Error cloning repo \(error)")
}
} else {
- throw WhiskProjectError.GitRequestError(cause: "Cannot clone, release version must be specified ")
+ throw WhiskProjectError.gitRequestError(cause: "Cannot clone, release version must be specified ")
}
} else {
projectPath = path
}
}
- public func dumpProjectStructure() {
+ open func dumpProjectStructure() {
print("Packages:")
print("=========")
for (name, package) in packageDict {
@@ -181,71 +181,72 @@
}
- public func readRootDependencies(clone: Bool) throws {
+ open func readRootDependencies(_ clone: Bool) throws {
let path = projectPath+"/"+BindingsFileName
- let json = try ManifestReader.parseJson(atPath: path)
+ let json = try ManifestReader.parseJson(path as NSString)
if let dependencies = json["dependencies"] {
for dependency in dependencies as! Array<[String:AnyObject]> {
guard let url = dependency["url"] as? NSString else {
clearAll()
- throw WhiskProjectError.MalformedManifestFile(name: path as String, cause: "Declaration of dependency missing url")
+ throw WhiskProjectError.malformedManifestFile(name: path as String, cause: "Declaration of dependency missing url")
}
- var repo = url
+ var repo = url as String
if url.pathExtension == "git" {
+
repo = String((repo as String).characters.dropLast(4))
}
- let name = repo.lastPathComponent
+ let name = (repo as NSString).lastPathComponent as NSString
var ver = "master"
if let version = dependency["version"] as? NSString {
ver = version as String
}
- let dep = Dependency(name: name as NSString, url: repo, version: ver)
+ let dep = Dependency(name: name as NSString, url: repo as NSString, version: ver as NSString)
dependenciesDict[name] = dep
}
}
- try readDependencies(clone: clone)
+ try readDependencies(clone)
}
- public func readProjectDirectory() throws {
+ open func readProjectDirectory() throws {
// read project directory
- try readDirectory(dirPath: projectPath, isDependency: false)
+ try readDirectory(projectPath, isDependency: false)
// read independent directories
}
- public func readDependencies(clone: Bool) throws {
+ open func readDependencies(_ clone: Bool) throws {
for (name, dependency) in dependenciesDict {
let group = DispatchGroup()
let zipFilePath = "\(dependency.url)/archive/\(dependency.version).zip"
if clone == true {
- try Git.cloneGitRepo(repo: zipFilePath, toPath: projectPath+"/Packages/", group: group)
+ try Git.cloneGitRepo(zipFilePath, toPath: projectPath+"/Packages/", group: group)
}
switch group.wait(timeout: DispatchTime.distantFuture) {
- case DispatchTimeoutResult.Success:
+ case DispatchTimeoutResult.success:
let packagePath = (name as String)+"-"+(dependency.version as String)
let depPath = projectPath+"/Packages/"+packagePath+"/src"
- try readDirectory(dirPath: depPath, isDependency: true)
+ try readDirectory(depPath, isDependency: true)
break
- case DispatchTimeoutResult.TimedOut:
+ case DispatchTimeoutResult.timedOut:
break
}
}
}
- public func detectXcode(path: String) -> Bool {
+ open func detectXcode(_ path: String) -> Bool {
let fileManager = FileManager.default
if let enumerator: FileManager.DirectoryEnumerator = fileManager.enumerator(atPath: path) {
while let item = enumerator.nextObject() as? NSString {
@@ -259,9 +260,9 @@
return false
}
- public func readDirectory(dirPath: String, isDependency: Bool) throws {
+ open func readDirectory(_ dirPath: String, isDependency: Bool) throws {
- let isXcode = detectXcode(path: dirPath)
+ let isXcode = detectXcode(dirPath)
if isXcode == false {
let dir: FileManager = FileManager.default
@@ -292,9 +293,9 @@
}
} else if item.hasSuffix(".swift") {
- try addAction(fullPath: fullPath as NSString, item: item, runtime: .Swift)
+ try addAction(fullPath as NSString, item: item, runtime: .swift)
} else if item.hasSuffix(".js") {
- try addAction(fullPath: fullPath as NSString, item: item, runtime: .NodeJS)
+ try addAction(fullPath as NSString, item: item, runtime: .nodeJS)
} else if item.hasSuffix(".json") {
// in subdirectories we only look for manifest files
@@ -324,8 +325,8 @@
}
- try self.processManifestFiles(manifest: self.bindingsDict)
- try self.processManifestFiles(manifest: self.manifestDict)
+ try self.processManifestFiles(self.bindingsDict)
+ try self.processManifestFiles(self.manifestDict)
}
} else {
let xcodeProject = WhiskTokenizer(from: dirPath, to:projectPath)
@@ -343,7 +344,7 @@
}
}
- func addAction(fullPath: NSString, item: NSString, runtime: Runtime) throws {
+ func addAction(_ fullPath: NSString, item: NSString, runtime: Runtime) throws {
let name = (item.lastPathComponent as NSString).deletingPathExtension
@@ -353,24 +354,24 @@
let package = item.pathComponents[0]
let fullName = "\(package)/\(name)" as NSString
- if !nameExists(name: fullName) {
+ if !nameExists(fullName) {
actionsDict[fullName] = Action(name: fullName, path: fullPath, runtime: runtime, parameters: nil)
} else {
clearAll()
- throw WhiskProjectError.DuplicateNameError(name:fullName as String)
+ throw WhiskProjectError.duplicateNameError(name:fullName as String)
}
}
} else {
- if !nameExists(name: name as NSString) {
+ if !nameExists(name as NSString) {
actionsDict[name as NSString] = Action(name: name as NSString, path: fullPath, runtime: runtime, parameters: nil)
} else {
clearAll()
- throw WhiskProjectError.DuplicateNameError(name: name)
+ throw WhiskProjectError.duplicateNameError(name: name)
}
}
}
- func nameExists(name: NSString) -> Bool {
+ func nameExists(_ name: NSString) -> Bool {
if actionsDict[name] != nil || packageDict[name] != nil || triggerDict[name] != nil || ruleDict[name] != nil || sequenceDict[name] != nil {
return true
}
@@ -378,11 +379,11 @@
return false
}
- func processManifestFiles(manifest: [NSString: NSString]) throws {
+ func processManifestFiles(_ manifest: [NSString: NSString]) throws {
for (name, path) in manifest {
- let json = try ManifestReader.parseJson(atPath: path)
+ let json = try ManifestReader.parseJson(path)
var prefix = ""
if name.pathComponents.count > 1 {
@@ -398,7 +399,7 @@
guard let itemName = package["name"] as? String, let bindTo = (package["bindTo"]) as? String else {
clearAll()
- throw WhiskProjectError.MalformedManifestFile(name: path as String, cause: "Declaration of package binding missing name or bindTo")
+ throw WhiskProjectError.malformedManifestFile(name: path as String, cause: "Declaration of package binding missing name or bindTo")
}
let parameters = package["parameters"] as? Array<[String:AnyObject]>
@@ -414,7 +415,7 @@
guard let itemName = trigger["name"] as? String else {
clearAll()
- throw WhiskProjectError.MalformedManifestFile(name: path as String, cause: "Declaration of trigger missing name")
+ throw WhiskProjectError.malformedManifestFile(name: path as String, cause: "Declaration of trigger missing name")
}
let parameters = trigger["parameters"] as? Array<[String:AnyObject]>
@@ -433,7 +434,7 @@
guard let itemName = rule["name"] as? String, let triggerName = rule["trigger"] as? String, let actionName = rule["action"] as? String else {
clearAll()
- throw WhiskProjectError.MalformedManifestFile(name: path as String, cause: "Declaration of rule missing name, trigger, or action")
+ throw WhiskProjectError.malformedManifestFile(name: path as String, cause: "Declaration of rule missing name, trigger, or action")
}
let item = Rule(name: itemName as NSString, trigger: triggerName as NSString, action: actionName as NSString)
@@ -451,7 +452,7 @@
guard let itemName = sequence["name"] as? String, let actions = sequence["actions"] as? Array<String> else {
clearAll()
- throw WhiskProjectError.MalformedManifestFile(name: path as String, cause: "Declaration of sequence missing name or action list")
+ throw WhiskProjectError.malformedManifestFile(name: path as String, cause: "Declaration of sequence missing name or action list")
}
let item = Sequence(name: prefix+itemName as NSString, actions: actions)
@@ -473,14 +474,14 @@
guard let itemName = action["action"] as? String else {
clearAll()
- throw WhiskProjectError.MalformedManifestFile(name: path as String, cause: "Declaration of action parameters in manfiest file is missing \'action\' attribute")
+ throw WhiskProjectError.malformedManifestFile(name: path as String, cause: "Declaration of action parameters in manfiest file is missing \'action\' attribute")
}
if let item = actionsDict[(prefix+itemName) as NSString] {
var runtime = item.runtime
if let kind = action["kind"] as? String {
- if runtime == Runtime.Swift && kind == "swift:3" {
- runtime = Runtime.Swift3
+ if runtime == Runtime.swift && kind == "swift:3" {
+ runtime = Runtime.swift3
}
}
@@ -489,7 +490,7 @@
} else {
clearAll()
- throw WhiskProjectError.MalformedManifestFile(name: path as String, cause: "Setting parameters for an action \(itemName) that does not exist")
+ throw WhiskProjectError.malformedManifestFile(name: path as String, cause: "Setting parameters for an action \(itemName) that does not exist")
}
}
diff --git a/WhiskSwiftTools/WhiskAPI.swift b/WhiskSwiftTools/WhiskAPI.swift
index 402db83..37c7585 100644
--- a/WhiskSwiftTools/WhiskAPI.swift
+++ b/WhiskSwiftTools/WhiskAPI.swift
@@ -16,19 +16,19 @@
import Foundation
-public enum WhiskNetworkError: ErrorProtocol {
- case MalformedUrlString(url: String, cause: String)
- case QualifiedNameFormat(description: String)
+public enum WhiskNetworkError: Error {
+ case malformedUrlString(url: String, cause: String)
+ case qualifiedNameFormat(description: String)
}
/* Type of Whisk operation requested */
enum WhiskCallType {
- case Action
- case Trigger
- case Package
- case Rule
- case Sequence
+ case action
+ case trigger
+ case package
+ case rule
+ case sequence
}
public struct WhiskCredentials {
@@ -45,8 +45,8 @@
// set authorization string
let loginString = (accessKey+":"+accessToken) as NSString
- let loginData: NSData = loginString.data(using: String.Encoding.utf8.rawValue)!
- let base64LoginString = loginData.base64EncodedString(options: NSData.Base64EncodingOptions(rawValue: 0))
+ let loginData: Data = loginString.data(using: String.Encoding.utf8.rawValue)!
+ let base64LoginString = loginData.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: 0))
return base64LoginString
}
@@ -124,7 +124,7 @@
package = pathParts[1]
name = pathParts[2]
} else {
- throw WhiskNetworkError.QualifiedNameFormat(description: "Cannot parse \(qName)")
+ throw WhiskNetworkError.qualifiedNameFormat(description: "Cannot parse \(qName)")
}
} else {
if pathParts.count == 1 {
@@ -133,7 +133,7 @@
package = pathParts[0]
name = pathParts[1]
} else {
- throw WhiskNetworkError.QualifiedNameFormat(description: "Cannot parse \(qName)")
+ throw WhiskNetworkError.qualifiedNameFormat(description: "Cannot parse \(qName)")
}
}
@@ -175,7 +175,7 @@
case AlarmTriggerFeed:
try createAlarmsFeed(name: name, namespace: namespace, trigger: trigger, group: group)
default:
- throw WhiskProjectError.UnsupportedFeedType(cause: "Feed trigger \(trigger.feed) not supported")
+ throw WhiskProjectError.unsupportedFeedType(cause: "Feed trigger \(trigger.feed) not supported")
}
}
@@ -183,11 +183,11 @@
let urlStr: String = whiskBaseURL != nil ? whiskBaseURL! : DefaultBaseURL
let path = "namespaces/\(namespace)/triggers/\(name)"
- let annotations: [String:AnyObject] = ["value": trigger.feed!, "key": "feed"]
+ let annotations: [String:AnyObject] = ["value": trigger.feed!, "key": "feed" as AnyObject]
let parameters: [String: [[String:AnyObject]]] = ["annotations": [annotations]]
group.enter()
- try networkManager.putCall(url: urlStr, path: path, parameters: parameters, group: group) { response, error in
+ try networkManager.putCall(url: urlStr, path: path, parameters: parameters as [String : AnyObject]?, group: group) { response, error in
if let error = error {
print("Error creating trigger \(name) for feed \(trigger.feed), error: \(error)")
@@ -213,9 +213,9 @@
}
}
- params?["authKey"] = self.networkManager.whiskCredentials.accessKey+":"+self.networkManager.whiskCredentials.accessToken
- params?["lifecycleEvent"] = "CREATE"
- params?["triggerName"] = "/"+namespace+"/"+name
+ params?["authKey"] = "\(self.networkManager.whiskCredentials.accessKey):\(self.networkManager.whiskCredentials.accessToken)" as AnyObject
+ params?["lifecycleEvent"] = "CREATE" as AnyObject
+ params?["triggerName"] = ("/"+namespace+"/"+name) as AnyObject
}
@@ -252,7 +252,7 @@
}
let exec = ["kind":kind, "code": code] as [String:String]
- let limits = ["timeout": 30000, "memory":256] as [String:AnyObject]
+ let limits = ["timeout": 30000 as AnyObject, "memory":256 as AnyObject] as [String:AnyObject]
var whiskParameters: [String:AnyObject] = ["exec":exec as AnyObject, "limits":limits as AnyObject]
@@ -317,7 +317,7 @@
let whiskParameters = ["trigger": triggerName, "action": actionName]
group.enter()
- try networkManager.putCall(url: urlStr, path: path, parameters: whiskParameters, group: group)
+ try networkManager.putCall(url: urlStr, path: path, parameters: whiskParameters as [String : AnyObject]?, group: group)
}
@@ -330,7 +330,7 @@
group.enter()
- try networkManager.postCall(url: urlStr, path: path, parameters: ["status":"active"], group: group) {
+ try networkManager.postCall(url: urlStr, path: path, parameters: ["status":"active" as AnyObject], group: group) {
response, error in
if let error = error {
print("Error enabling rule \(name), error \(error)")
@@ -352,13 +352,13 @@
}
let exec = ["kind":"nodejs", "code": SequenceCode.getSequenceCode()] as [String:String]
- let limits = ["timeout": 30000, "memory":256] as [String:AnyObject]
+ let limits = ["timeout": 30000 as AnyObject, "memory":256 as AnyObject] as [String:AnyObject]
var whiskParameters: [String:AnyObject] = ["exec":exec as AnyObject, "limits":limits as AnyObject]
var paramArray = Array<[String:AnyObject]>()
- let actionList = ["key": "_actions", "value": actions as AnyObject]
- paramArray.append(actionList)
+ let actionList = ["key": "_actions", "value": actions as AnyObject] as [String : Any]
+ paramArray.append(actionList as [String : AnyObject])
whiskParameters["parameters"] = paramArray as AnyObject
@@ -446,9 +446,9 @@
func deleteAlarmsFeed(namespace: String, name: String, group: DispatchGroup) throws {
var params = [String:AnyObject]()
- params["authKey"] = self.networkManager.whiskCredentials.accessKey+":"+self.networkManager.whiskCredentials.accessToken
- params["lifecycleEvent"] = "DELETE"
- params["triggerName"] = namespace+"/"+name
+ params["authKey"] = (self.networkManager.whiskCredentials.accessKey+":"+self.networkManager.whiskCredentials.accessToken) as AnyObject
+ params["lifecycleEvent"] = "DELETE" as AnyObject
+ params["triggerName"] = (namespace+"/"+name) as AnyObject
let urlStr: String = whiskBaseURL != nil ? whiskBaseURL! : DefaultBaseURL
let path = "namespaces/whisk.system/actions/alarms/alarm"
@@ -472,7 +472,7 @@
let path = "namespaces/\(namespace)/rules/\(name)"
group.enter()
- try networkManager.postCall(url: urlStr, path: path, parameters: ["status":"inactive"], group: group) { response, error in
+ try networkManager.postCall(url: urlStr, path: path, parameters: ["status":"inactive" as AnyObject], group: group) { response, error in
if let error = error {
print("Error disabling rule \(name), error: \(error)")
@@ -509,18 +509,18 @@
self.urlSession = session
}
- func putCall(url: String, path: String, parameters: [String:AnyObject]? = nil, group: DispatchGroup, callback: ((response: [String:Any]?, error: ErrorProtocol?) -> Void)? = nil) throws {
+ func putCall(url: String, path: String, parameters: [String:AnyObject]? = nil, group: DispatchGroup, callback: (([String:Any]?, Error?) -> Void)? = nil) throws {
let overwritePath = path+"?overwrite=true"
// encode path
guard let encodedPath = overwritePath.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) else {
- throw WhiskNetworkError.MalformedUrlString(url: url, cause: "Cannot encode url path \(path)")
+ throw WhiskNetworkError.malformedUrlString(url: url, cause: "Cannot encode url path \(path)")
}
// create request
guard let nsUrl = URL(string:url+encodedPath) else {
- throw WhiskNetworkError.MalformedUrlString(url: url, cause: "Cannot create URL from url String")
+ throw WhiskNetworkError.malformedUrlString(url: url, cause: "Cannot create URL from url String")
}
var request = URLRequest(url: nsUrl)
@@ -545,14 +545,14 @@
if let error = error {
if let callback = callback {
- callback(response: nil, error: error)
+ callback(nil, error)
} else {
return
}
} else {
if let callback = callback {
- callback(response: ["status":statusCode, "msg":"PUT call success"], error: nil)
+ callback(["status":statusCode, "msg":"PUT call success"], nil)
}
}
@@ -564,16 +564,16 @@
}
- func deleteCall(url: String, path: String,group: DispatchGroup, callback: ((response: [String:AnyObject]?, error: ErrorProtocol?) -> Void)? = nil) throws {
+ func deleteCall(url: String, path: String,group: DispatchGroup, callback: (([String:AnyObject]?, Error?) -> Void)? = nil) throws {
// encode path
guard let encodedPath = path.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) else {
- throw WhiskNetworkError.MalformedUrlString(url: url, cause: "Cannot encode url path \(path)")
+ throw WhiskNetworkError.malformedUrlString(url: url, cause: "Cannot encode url path \(path)")
}
// create request
guard let nsUrl = URL(string:url+encodedPath) else {
- throw WhiskNetworkError.MalformedUrlString(url: url, cause: "Cannot create URL from url String")
+ throw WhiskNetworkError.malformedUrlString(url: url, cause: "Cannot create URL from url String")
}
var request = URLRequest(url: nsUrl)
@@ -604,13 +604,13 @@
if let data = data {
do {
if let resp = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions()) as? [String:AnyObject] {
- callback(response: resp, error: nil)
+ callback(resp, nil)
}
} catch {
print("Error in DELETE \(error)")
}
} else {
- callback(response: ["status":statusCode], error: nil)
+ callback(["status":statusCode as AnyObject], nil)
}
}
@@ -623,16 +623,16 @@
}
- func postCall(url: String, path: String, parameters: [String:AnyObject]?, group: DispatchGroup?, callback: (response: [String:Any]?, error: ErrorProtocol?) -> Void) throws {
+ func postCall(url: String, path: String, parameters: [String:AnyObject]?, group: DispatchGroup?, callback: @escaping ([String:Any]?, Error?) -> Void) throws {
// encode path
guard let encodedPath = path.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) else {
- throw WhiskNetworkError.MalformedUrlString(url: url, cause: "Cannot encode url path \(path)")
+ throw WhiskNetworkError.malformedUrlString(url: url, cause: "Cannot encode url path \(path)")
}
// create request
guard let nsUrl = URL(string:url+encodedPath) else {
- throw WhiskNetworkError.MalformedUrlString(url: url, cause: "Cannot create URL from url String")
+ throw WhiskNetworkError.malformedUrlString(url: url, cause: "Cannot create URL from url String")
}
var request = URLRequest(url: nsUrl)
@@ -656,12 +656,12 @@
if let error = error {
print("Error performing network call \(error), status: \(statusCode)")
- callback(response: nil, error: error)
+ callback(nil, error)
return
} else {
- callback(response: ["status":statusCode, "description":"Post call success"], error: nil)
+ callback(["status":statusCode, "description":"Post call success"], nil)
}
if let group = group {
diff --git a/WhiskSwiftTools/WhiskInstaller.swift b/WhiskSwiftTools/WhiskInstaller.swift
index 57383ba..8ea2519 100644
--- a/WhiskSwiftTools/WhiskInstaller.swift
+++ b/WhiskSwiftTools/WhiskInstaller.swift
@@ -26,11 +26,11 @@
}
func staticMode() {
- let argCount = Process.argc
- let argument = Process.arguments[1]
+ let argCount = CommandLine.argc
+ let argument = CommandLine.arguments[1]
if argCount > 2 {
- projectPath = NSString(string: Process.arguments[2]).expandingTildeInPath as String
+ projectPath = NSString(string: CommandLine.arguments[2]).expandingTildeInPath as String
}
var offset = 0
@@ -41,7 +41,7 @@
}
let skipDashIndex = argument.index(argument.startIndex, offsetBy: offset)
- let (option, value) = consoleIO.getOption(option: argument.substring(from: skipDashIndex))
+ let (option, _) = consoleIO.getOption(argument.substring(from: skipDashIndex))
switch option {
case .Build:
@@ -95,7 +95,7 @@
}
}
- if let tokens = tokens, namespace = namespace {
+ if let tokens = tokens, let namespace = namespace {
let credentials = WhiskCredentials(accessKey: tokens[0], accessToken: tokens[1])
return ProjectManager(path: projectPath!, credentials: credentials, namespace: namespace)
}
diff --git a/WhiskSwiftTools/WhiskTokenizer.swift b/WhiskSwiftTools/WhiskTokenizer.swift
index 1dc2d89..52a2460 100644
--- a/WhiskSwiftTools/WhiskTokenizer.swift
+++ b/WhiskSwiftTools/WhiskTokenizer.swift
@@ -22,9 +22,9 @@
}
enum TokenState {
- case InStarComment
- case InSlashComment
- case Initial
+ case inStarComment
+ case inSlashComment
+ case initial
case inClass
case inClassName
case inClassQualifier
@@ -32,20 +32,20 @@
case parseAction
}
-public class WhiskTokenizer {
+open class WhiskTokenizer {
let OpenWhiskActionDirectory = "OpenWhiskActions"
var atPath: String!
var toPath: String!
- public var actions = [ActionToken]()
+ open var actions = [ActionToken]()
public init(from: String, to: String) {
atPath = from
toPath = to
}
- public func readXCodeProjectDirectory() throws -> [Action] {
+ open func readXCodeProjectDirectory() throws -> [Action] {
let dir: FileManager = FileManager.default
var whiskActionArray = [Action]()
@@ -80,7 +80,7 @@
let fileUrl = URL(fileURLWithPath: actionPath)
try action.actionCode.write(to: fileUrl, atomically: false, encoding: String.Encoding.utf8)
- let whiskAction = Action(name: action.actionName, path: actionPath, runtime: Runtime.Swift, parameters: nil)
+ let whiskAction = Action(name: action.actionName as NSString, path: actionPath as NSString, runtime: Runtime.swift, parameters: nil)
whiskActionArray.append(whiskAction)
@@ -110,7 +110,7 @@
let scanner = Scanner(string: str)
var line: NSString?
- var state = TokenState.Initial
+ var state = TokenState.initial
var actionArray: [ActionToken]? = [ActionToken]()
var actionName = ""
var actionCode = ""
@@ -133,11 +133,11 @@
if trimmedLine.hasPrefix("//") {
//print("Skipping comment")
} else if trimmedLine.hasPrefix("/*") {
- state = TokenState.InStarComment
+ state = TokenState.inStarComment
} else {
switch state {
- case .Initial:
+ case .initial:
if trimmedLine.hasPrefix("class") {
let classStr = trimmedLine.components(separatedBy: ":")
@@ -184,14 +184,14 @@
let newAction = ActionToken(actionName: actionName, actionCode: actionCode)
actionArray?.append(newAction)
- state = TokenState.Initial
+ state = TokenState.initial
actionName = ""
actionCode = ""
leftBracketCount = 0
rightBracketCount = 0
- state = TokenState.Initial
+ state = TokenState.initial
} else {
@@ -205,9 +205,9 @@
}
}
- case .InStarComment:
+ case .inStarComment:
if trimmedLine.hasSuffix("*/") {
- state = TokenState.Initial
+ state = TokenState.initial
}
default:
//print("Don't care")
diff --git a/WhiskSwiftTools/main.swift b/WhiskSwiftTools/main.swift
index e564be5..76790c5 100644
--- a/WhiskSwiftTools/main.swift
+++ b/WhiskSwiftTools/main.swift
@@ -18,7 +18,7 @@
let installer = WhiskInstaller()
-if Process.argc < 2 {
+if CommandLine.argc < 2 {
ConsoleIO.printUsage()
} else {
installer.staticMode()