diff --git a/SWXCResult.xcodeproj/project.pbxproj b/SWXCResult.xcodeproj/project.pbxproj index ae07695..351a9eb 100644 --- a/SWXCResult.xcodeproj/project.pbxproj +++ b/SWXCResult.xcodeproj/project.pbxproj @@ -17,7 +17,7 @@ "en" ); mainGroup = "OBJ_5"; - productRefGroup = "OBJ_62"; + productRefGroup = "OBJ_61"; projectDirPath = "."; targets = ( "SWGZip::SWGZip", @@ -40,33 +40,29 @@ fileRef = "OBJ_51"; }; "OBJ_101" = { - isa = "PBXBuildFile"; - fileRef = "OBJ_52"; - }; - "OBJ_102" = { isa = "PBXFrameworksBuildPhase"; files = ( - "OBJ_103" + "OBJ_102" ); }; - "OBJ_103" = { + "OBJ_102" = { isa = "PBXBuildFile"; fileRef = "SWGZip::SWGZip::Product"; }; - "OBJ_104" = { + "OBJ_103" = { isa = "PBXTargetDependency"; target = "SWGZip::SWGZip"; }; - "OBJ_106" = { + "OBJ_105" = { isa = "XCConfigurationList"; buildConfigurations = ( - "OBJ_107", - "OBJ_108" + "OBJ_106", + "OBJ_107" ); defaultConfigurationIsVisible = "0"; defaultConfigurationName = "Release"; }; - "OBJ_107" = { + "OBJ_106" = { isa = "XCBuildConfiguration"; buildSettings = { LD = "/usr/bin/true"; @@ -84,7 +80,7 @@ }; name = "Debug"; }; - "OBJ_108" = { + "OBJ_107" = { isa = "XCBuildConfiguration"; buildSettings = { LD = "/usr/bin/true"; @@ -102,31 +98,31 @@ }; name = "Release"; }; - "OBJ_109" = { + "OBJ_108" = { isa = "PBXSourcesBuildPhase"; files = ( - "OBJ_110" + "OBJ_109" ); }; + "OBJ_109" = { + isa = "PBXBuildFile"; + fileRef = "OBJ_52"; + }; "OBJ_11" = { isa = "PBXFileReference"; path = "SchemeActionDeviceRecord.swift"; sourceTree = ""; }; - "OBJ_110" = { - isa = "PBXBuildFile"; - fileRef = "OBJ_53"; - }; - "OBJ_112" = { + "OBJ_111" = { isa = "XCConfigurationList"; buildConfigurations = ( - "OBJ_113", - "OBJ_114" + "OBJ_112", + "OBJ_113" ); defaultConfigurationIsVisible = "0"; defaultConfigurationName = "Release"; }; - "OBJ_113" = { + "OBJ_112" = { isa = "XCBuildConfiguration"; buildSettings = { ENABLE_TESTABILITY = "YES"; @@ -167,7 +163,7 @@ }; name = "Debug"; }; - "OBJ_114" = { + "OBJ_113" = { isa = "XCBuildConfiguration"; buildSettings = { ENABLE_TESTABILITY = "YES"; @@ -208,9 +204,10 @@ }; name = "Release"; }; - "OBJ_115" = { + "OBJ_114" = { isa = "PBXSourcesBuildPhase"; files = ( + "OBJ_115", "OBJ_116", "OBJ_117", "OBJ_118", @@ -231,27 +228,29 @@ "OBJ_133", "OBJ_134", "OBJ_135", - "OBJ_136", - "OBJ_137", - "OBJ_138" + "OBJ_136" ); }; - "OBJ_116" = { + "OBJ_115" = { isa = "PBXBuildFile"; fileRef = "OBJ_9"; }; - "OBJ_117" = { + "OBJ_116" = { isa = "PBXBuildFile"; fileRef = "OBJ_10"; }; - "OBJ_118" = { + "OBJ_117" = { isa = "PBXBuildFile"; fileRef = "OBJ_11"; }; - "OBJ_119" = { + "OBJ_118" = { isa = "PBXBuildFile"; fileRef = "OBJ_12"; }; + "OBJ_119" = { + isa = "PBXBuildFile"; + fileRef = "OBJ_13"; + }; "OBJ_12" = { isa = "PBXFileReference"; path = "SchemeActionIssueSummary.swift"; @@ -259,43 +258,43 @@ }; "OBJ_120" = { isa = "PBXBuildFile"; - fileRef = "OBJ_13"; + fileRef = "OBJ_14"; }; "OBJ_121" = { isa = "PBXBuildFile"; - fileRef = "OBJ_14"; + fileRef = "OBJ_15"; }; "OBJ_122" = { isa = "PBXBuildFile"; - fileRef = "OBJ_15"; + fileRef = "OBJ_16"; }; "OBJ_123" = { isa = "PBXBuildFile"; - fileRef = "OBJ_16"; + fileRef = "OBJ_17"; }; "OBJ_124" = { isa = "PBXBuildFile"; - fileRef = "OBJ_17"; + fileRef = "OBJ_18"; }; "OBJ_125" = { isa = "PBXBuildFile"; - fileRef = "OBJ_18"; + fileRef = "OBJ_19"; }; "OBJ_126" = { isa = "PBXBuildFile"; - fileRef = "OBJ_19"; + fileRef = "OBJ_20"; }; "OBJ_127" = { isa = "PBXBuildFile"; - fileRef = "OBJ_20"; + fileRef = "OBJ_21"; }; "OBJ_128" = { isa = "PBXBuildFile"; - fileRef = "OBJ_21"; + fileRef = "OBJ_22"; }; "OBJ_129" = { isa = "PBXBuildFile"; - fileRef = "OBJ_22"; + fileRef = "OBJ_23"; }; "OBJ_13" = { isa = "PBXFileReference"; @@ -304,46 +303,46 @@ }; "OBJ_130" = { isa = "PBXBuildFile"; - fileRef = "OBJ_23"; + fileRef = "OBJ_24"; }; "OBJ_131" = { isa = "PBXBuildFile"; - fileRef = "OBJ_24"; + fileRef = "OBJ_25"; }; "OBJ_132" = { isa = "PBXBuildFile"; - fileRef = "OBJ_25"; + fileRef = "OBJ_26"; }; "OBJ_133" = { isa = "PBXBuildFile"; - fileRef = "OBJ_26"; + fileRef = "OBJ_27"; }; "OBJ_134" = { isa = "PBXBuildFile"; - fileRef = "OBJ_27"; + fileRef = "OBJ_28"; }; "OBJ_135" = { isa = "PBXBuildFile"; - fileRef = "OBJ_28"; + fileRef = "OBJ_29"; }; "OBJ_136" = { isa = "PBXBuildFile"; - fileRef = "OBJ_29"; + fileRef = "OBJ_30"; }; "OBJ_137" = { - isa = "PBXBuildFile"; - fileRef = "OBJ_30"; + isa = "PBXFrameworksBuildPhase"; + files = ( + "OBJ_138", + "OBJ_139" + ); }; "OBJ_138" = { isa = "PBXBuildFile"; - fileRef = "OBJ_31"; + fileRef = "SWXCActivityLog::SWXCActivityLog::Product"; }; "OBJ_139" = { - isa = "PBXFrameworksBuildPhase"; - files = ( - "OBJ_140", - "OBJ_141" - ); + isa = "PBXBuildFile"; + fileRef = "SWGZip::SWGZip::Product"; }; "OBJ_14" = { isa = "PBXFileReference"; @@ -351,31 +350,23 @@ sourceTree = ""; }; "OBJ_140" = { - isa = "PBXBuildFile"; - fileRef = "SWXCActivityLog::SWXCActivityLog::Product"; - }; - "OBJ_141" = { - isa = "PBXBuildFile"; - fileRef = "SWGZip::SWGZip::Product"; - }; - "OBJ_142" = { isa = "PBXTargetDependency"; target = "SWXCActivityLog::SWXCActivityLog"; }; - "OBJ_143" = { + "OBJ_141" = { isa = "PBXTargetDependency"; target = "SWGZip::SWGZip"; }; - "OBJ_145" = { + "OBJ_143" = { isa = "XCConfigurationList"; buildConfigurations = ( - "OBJ_146", - "OBJ_147" + "OBJ_144", + "OBJ_145" ); defaultConfigurationIsVisible = "0"; defaultConfigurationName = "Release"; }; - "OBJ_146" = { + "OBJ_144" = { isa = "XCBuildConfiguration"; buildSettings = { LD = "/usr/bin/true"; @@ -393,7 +384,7 @@ }; name = "Debug"; }; - "OBJ_147" = { + "OBJ_145" = { isa = "XCBuildConfiguration"; buildSettings = { LD = "/usr/bin/true"; @@ -411,56 +402,56 @@ }; name = "Release"; }; - "OBJ_148" = { + "OBJ_146" = { isa = "PBXSourcesBuildPhase"; files = ( - "OBJ_149" + "OBJ_147" ); }; - "OBJ_149" = { + "OBJ_147" = { isa = "PBXBuildFile"; fileRef = "OBJ_6"; }; - "OBJ_15" = { - isa = "PBXFileReference"; - path = "SchemeActionResult.swift"; - sourceTree = ""; - }; - "OBJ_151" = { + "OBJ_149" = { isa = "XCConfigurationList"; buildConfigurations = ( - "OBJ_152", - "OBJ_153" + "OBJ_150", + "OBJ_151" ); defaultConfigurationIsVisible = "0"; defaultConfigurationName = "Release"; }; - "OBJ_152" = { + "OBJ_15" = { + isa = "PBXFileReference"; + path = "SchemeActionResult.swift"; + sourceTree = ""; + }; + "OBJ_150" = { isa = "XCBuildConfiguration"; buildSettings = { }; name = "Debug"; }; - "OBJ_153" = { + "OBJ_151" = { isa = "XCBuildConfiguration"; buildSettings = { }; name = "Release"; }; - "OBJ_154" = { + "OBJ_152" = { isa = "PBXTargetDependency"; target = "SWXCResult::SWXCResultTests"; }; - "OBJ_156" = { + "OBJ_154" = { isa = "XCConfigurationList"; buildConfigurations = ( - "OBJ_157", - "OBJ_158" + "OBJ_155", + "OBJ_156" ); defaultConfigurationIsVisible = "0"; defaultConfigurationName = "Release"; }; - "OBJ_157" = { + "OBJ_155" = { isa = "XCBuildConfiguration"; buildSettings = { CLANG_ENABLE_MODULES = "YES"; @@ -499,7 +490,7 @@ }; name = "Debug"; }; - "OBJ_158" = { + "OBJ_156" = { isa = "XCBuildConfiguration"; buildSettings = { CLANG_ENABLE_MODULES = "YES"; @@ -538,60 +529,60 @@ }; name = "Release"; }; - "OBJ_159" = { + "OBJ_157" = { isa = "PBXSourcesBuildPhase"; files = ( - "OBJ_160", - "OBJ_161", - "OBJ_162" + "OBJ_158", + "OBJ_159", + "OBJ_160" ); }; + "OBJ_158" = { + isa = "PBXBuildFile"; + fileRef = "OBJ_33"; + }; + "OBJ_159" = { + isa = "PBXBuildFile"; + fileRef = "OBJ_34"; + }; "OBJ_16" = { isa = "PBXFileReference"; path = "SchemeActionResultTestSummary.swift"; sourceTree = ""; }; "OBJ_160" = { - isa = "PBXBuildFile"; - fileRef = "OBJ_34"; - }; - "OBJ_161" = { isa = "PBXBuildFile"; fileRef = "OBJ_35"; }; - "OBJ_162" = { - isa = "PBXBuildFile"; - fileRef = "OBJ_36"; - }; - "OBJ_163" = { + "OBJ_161" = { isa = "PBXFrameworksBuildPhase"; files = ( - "OBJ_164", - "OBJ_165", - "OBJ_166" + "OBJ_162", + "OBJ_163", + "OBJ_164" ); }; - "OBJ_164" = { + "OBJ_162" = { isa = "PBXBuildFile"; fileRef = "SWXCResult::SWXCResult::Product"; }; - "OBJ_165" = { + "OBJ_163" = { isa = "PBXBuildFile"; fileRef = "SWXCActivityLog::SWXCActivityLog::Product"; }; - "OBJ_166" = { + "OBJ_164" = { isa = "PBXBuildFile"; fileRef = "SWGZip::SWGZip::Product"; }; - "OBJ_167" = { + "OBJ_165" = { isa = "PBXTargetDependency"; target = "SWXCResult::SWXCResult"; }; - "OBJ_168" = { + "OBJ_166" = { isa = "PBXTargetDependency"; target = "SWXCActivityLog::SWXCActivityLog"; }; - "OBJ_169" = { + "OBJ_167" = { isa = "PBXTargetDependency"; target = "SWGZip::SWGZip"; }; @@ -716,78 +707,78 @@ sourceTree = ""; }; "OBJ_31" = { - isa = "PBXFileReference"; - path = "XCResultError.swift"; - sourceTree = ""; - }; - "OBJ_32" = { isa = "PBXGroup"; children = ( - "OBJ_33" + "OBJ_32" ); name = "Tests"; path = ""; sourceTree = "SOURCE_ROOT"; }; - "OBJ_33" = { + "OBJ_32" = { isa = "PBXGroup"; children = ( + "OBJ_33", "OBJ_34", - "OBJ_35", - "OBJ_36" + "OBJ_35" ); name = "SWXCResultTests"; path = "Tests/SWXCResultTests"; sourceTree = "SOURCE_ROOT"; }; - "OBJ_34" = { + "OBJ_33" = { isa = "PBXFileReference"; path = "PlistTests.swift"; sourceTree = ""; }; - "OBJ_35" = { + "OBJ_34" = { isa = "PBXFileReference"; path = "XCTestCase+Resources.swift"; sourceTree = ""; }; - "OBJ_36" = { + "OBJ_35" = { isa = "PBXFileReference"; path = "XCTestManifests.swift"; sourceTree = ""; }; - "OBJ_37" = { + "OBJ_36" = { isa = "PBXGroup"; children = ( - "OBJ_38", - "OBJ_54" + "OBJ_37", + "OBJ_53" ); name = "Dependencies"; path = ""; sourceTree = ""; }; - "OBJ_38" = { + "OBJ_37" = { isa = "PBXGroup"; children = ( - "OBJ_39", - "OBJ_53" + "OBJ_38", + "OBJ_52" ); name = "SWXCActivityLog 1.0.0"; path = ""; sourceTree = "SOURCE_ROOT"; }; - "OBJ_39" = { + "OBJ_38" = { isa = "PBXGroup"; children = ( + "OBJ_39", "OBJ_40", - "OBJ_41", - "OBJ_45", - "OBJ_51", - "OBJ_52" + "OBJ_44", + "OBJ_50", + "OBJ_51" ); name = "SWXCActivityLog"; path = ".build/checkouts/swift-xcactivitylog/Sources/SWXCActivityLog"; sourceTree = "SOURCE_ROOT"; }; + "OBJ_39" = { + isa = "PBXFileReference"; + path = "ActivityLog.swift"; + sourceTree = ""; + }; "OBJ_4" = { isa = "XCBuildConfiguration"; buildSettings = { @@ -826,148 +817,148 @@ name = "Release"; }; "OBJ_40" = { - isa = "PBXFileReference"; - path = "ActivityLog.swift"; - sourceTree = ""; - }; - "OBJ_41" = { isa = "PBXGroup"; children = ( + "OBJ_41", "OBJ_42", - "OBJ_43", - "OBJ_44" + "OBJ_43" ); name = "Codable"; path = "Codable"; sourceTree = ""; }; - "OBJ_42" = { + "OBJ_41" = { isa = "PBXFileReference"; path = "ActivityLogMessage.swift"; sourceTree = ""; }; - "OBJ_43" = { + "OBJ_42" = { isa = "PBXFileReference"; path = "ActivityLogSection.swift"; sourceTree = ""; }; - "OBJ_44" = { + "OBJ_43" = { isa = "PBXFileReference"; path = "TextDocumentLocation.swift"; sourceTree = ""; }; - "OBJ_45" = { + "OBJ_44" = { isa = "PBXGroup"; children = ( + "OBJ_45", "OBJ_46", "OBJ_47", "OBJ_48", - "OBJ_49", - "OBJ_50" + "OBJ_49" ); name = "Decoder"; path = "Decoder"; sourceTree = ""; }; - "OBJ_46" = { + "OBJ_45" = { isa = "PBXFileReference"; path = "KeyedDecodingContainer.swift"; sourceTree = ""; }; - "OBJ_47" = { + "OBJ_46" = { isa = "PBXFileReference"; path = "SLFData.swift"; sourceTree = ""; }; - "OBJ_48" = { + "OBJ_47" = { isa = "PBXFileReference"; path = "SLFDecoder+Internal.swift"; sourceTree = ""; }; - "OBJ_49" = { + "OBJ_48" = { isa = "PBXFileReference"; path = "SingleValueDecodingContainer.swift"; sourceTree = ""; }; + "OBJ_49" = { + isa = "PBXFileReference"; + path = "UnkeyedDecodingContainer.swift"; + sourceTree = ""; + }; "OBJ_5" = { isa = "PBXGroup"; children = ( "OBJ_6", "OBJ_7", - "OBJ_32", - "OBJ_37", - "OBJ_62", - "OBJ_67", - "OBJ_68" + "OBJ_31", + "OBJ_36", + "OBJ_61", + "OBJ_66", + "OBJ_67" ); path = ""; sourceTree = ""; }; "OBJ_50" = { - isa = "PBXFileReference"; - path = "UnkeyedDecodingContainer.swift"; - sourceTree = ""; - }; - "OBJ_51" = { isa = "PBXFileReference"; path = "SLFCodable.swift"; sourceTree = ""; }; - "OBJ_52" = { + "OBJ_51" = { isa = "PBXFileReference"; path = "SLFDecoder.swift"; sourceTree = ""; }; - "OBJ_53" = { + "OBJ_52" = { isa = "PBXFileReference"; explicitFileType = "sourcecode.swift"; name = "Package.swift"; - path = "/Users/rd/r/swift-xcresult-json/Packages/swift-xcresult/.build/checkouts/swift-xcactivitylog/Package.swift"; + path = "/Users/rd/r/swift-xcresult/.build/checkouts/swift-xcactivitylog/Package.swift"; sourceTree = ""; }; - "OBJ_54" = { + "OBJ_53" = { isa = "PBXGroup"; children = ( - "OBJ_55", - "OBJ_61" + "OBJ_54", + "OBJ_60" ); name = "SWGZip 1.0.0"; path = ""; sourceTree = "SOURCE_ROOT"; }; - "OBJ_55" = { + "OBJ_54" = { isa = "PBXGroup"; children = ( + "OBJ_55", "OBJ_56", "OBJ_57", "OBJ_58", - "OBJ_59", - "OBJ_60" + "OBJ_59" ); name = "SWGZip"; path = ".build/checkouts/swift-gzip/Sources/SWGZip"; sourceTree = "SOURCE_ROOT"; }; - "OBJ_56" = { + "OBJ_55" = { isa = "PBXFileReference"; path = "GZipArchive.swift"; sourceTree = ""; }; - "OBJ_57" = { + "OBJ_56" = { isa = "PBXFileReference"; path = "GZipCompression.swift"; sourceTree = ""; }; - "OBJ_58" = { + "OBJ_57" = { isa = "PBXFileReference"; path = "GZipError.swift"; sourceTree = ""; }; - "OBJ_59" = { + "OBJ_58" = { isa = "PBXFileReference"; path = "GZipReader.swift"; sourceTree = ""; }; + "OBJ_59" = { + isa = "PBXFileReference"; + path = "GZipWriter.swift"; + sourceTree = ""; + }; "OBJ_6" = { isa = "PBXFileReference"; explicitFileType = "sourcecode.swift"; @@ -975,39 +966,43 @@ sourceTree = ""; }; "OBJ_60" = { - isa = "PBXFileReference"; - path = "GZipWriter.swift"; - sourceTree = ""; - }; - "OBJ_61" = { isa = "PBXFileReference"; explicitFileType = "sourcecode.swift"; name = "Package.swift"; - path = "/Users/rd/r/swift-xcresult-json/Packages/swift-xcresult/.build/checkouts/swift-gzip/Package.swift"; + path = "/Users/rd/r/swift-xcresult/.build/checkouts/swift-gzip/Package.swift"; sourceTree = ""; }; - "OBJ_62" = { + "OBJ_61" = { isa = "PBXGroup"; children = ( - "SWXCActivityLog::SWXCActivityLog::Product", "SWGZip::SWGZip::Product", - "SWXCResult::SWXCResult::Product", - "SWXCResult::SWXCResultTests::Product" + "SWXCActivityLog::SWXCActivityLog::Product", + "SWXCResult::SWXCResultTests::Product", + "SWXCResult::SWXCResult::Product" ); name = "Products"; path = ""; sourceTree = "BUILT_PRODUCTS_DIR"; }; - "OBJ_67" = { + "OBJ_66" = { isa = "PBXFileReference"; path = "iOSResultBundleApp"; sourceTree = "SOURCE_ROOT"; }; - "OBJ_68" = { + "OBJ_67" = { isa = "PBXFileReference"; path = "README.md"; sourceTree = ""; }; + "OBJ_69" = { + isa = "XCConfigurationList"; + buildConfigurations = ( + "OBJ_70", + "OBJ_71" + ); + defaultConfigurationIsVisible = "0"; + defaultConfigurationName = "Release"; + }; "OBJ_7" = { isa = "PBXGroup"; children = ( @@ -1018,15 +1013,6 @@ sourceTree = "SOURCE_ROOT"; }; "OBJ_70" = { - isa = "XCConfigurationList"; - buildConfigurations = ( - "OBJ_71", - "OBJ_72" - ); - defaultConfigurationIsVisible = "0"; - defaultConfigurationName = "Release"; - }; - "OBJ_71" = { isa = "XCBuildConfiguration"; buildSettings = { ENABLE_TESTABILITY = "YES"; @@ -1067,7 +1053,7 @@ }; name = "Debug"; }; - "OBJ_72" = { + "OBJ_71" = { isa = "XCBuildConfiguration"; buildSettings = { ENABLE_TESTABILITY = "YES"; @@ -1108,16 +1094,20 @@ }; name = "Release"; }; - "OBJ_73" = { + "OBJ_72" = { isa = "PBXSourcesBuildPhase"; files = ( + "OBJ_73", "OBJ_74", "OBJ_75", "OBJ_76", - "OBJ_77", - "OBJ_78" + "OBJ_77" ); }; + "OBJ_73" = { + isa = "PBXBuildFile"; + fileRef = "OBJ_55"; + }; "OBJ_74" = { isa = "PBXBuildFile"; fileRef = "OBJ_56"; @@ -1135,10 +1125,6 @@ fileRef = "OBJ_59"; }; "OBJ_78" = { - isa = "PBXBuildFile"; - fileRef = "OBJ_60"; - }; - "OBJ_79" = { isa = "PBXFrameworksBuildPhase"; files = ( ); @@ -1167,23 +1153,22 @@ "OBJ_27", "OBJ_28", "OBJ_29", - "OBJ_30", - "OBJ_31" + "OBJ_30" ); name = "SWXCResult"; path = "Sources/SWXCResult"; sourceTree = "SOURCE_ROOT"; }; - "OBJ_81" = { + "OBJ_80" = { isa = "XCConfigurationList"; buildConfigurations = ( - "OBJ_82", - "OBJ_83" + "OBJ_81", + "OBJ_82" ); defaultConfigurationIsVisible = "0"; defaultConfigurationName = "Release"; }; - "OBJ_82" = { + "OBJ_81" = { isa = "XCBuildConfiguration"; buildSettings = { LD = "/usr/bin/true"; @@ -1201,7 +1186,7 @@ }; name = "Debug"; }; - "OBJ_83" = { + "OBJ_82" = { isa = "XCBuildConfiguration"; buildSettings = { LD = "/usr/bin/true"; @@ -1219,26 +1204,26 @@ }; name = "Release"; }; - "OBJ_84" = { + "OBJ_83" = { isa = "PBXSourcesBuildPhase"; files = ( - "OBJ_85" + "OBJ_84" ); }; - "OBJ_85" = { + "OBJ_84" = { isa = "PBXBuildFile"; - fileRef = "OBJ_61"; + fileRef = "OBJ_60"; }; - "OBJ_87" = { + "OBJ_86" = { isa = "XCConfigurationList"; buildConfigurations = ( - "OBJ_88", - "OBJ_89" + "OBJ_87", + "OBJ_88" ); defaultConfigurationIsVisible = "0"; defaultConfigurationName = "Release"; }; - "OBJ_88" = { + "OBJ_87" = { isa = "XCBuildConfiguration"; buildSettings = { ENABLE_TESTABILITY = "YES"; @@ -1279,7 +1264,7 @@ }; name = "Debug"; }; - "OBJ_89" = { + "OBJ_88" = { isa = "XCBuildConfiguration"; buildSettings = { ENABLE_TESTABILITY = "YES"; @@ -1320,14 +1305,10 @@ }; name = "Release"; }; - "OBJ_9" = { - isa = "PBXFileReference"; - path = "EntityIdentifier.swift"; - sourceTree = ""; - }; - "OBJ_90" = { + "OBJ_89" = { isa = "PBXSourcesBuildPhase"; files = ( + "OBJ_90", "OBJ_91", "OBJ_92", "OBJ_93", @@ -1337,13 +1318,21 @@ "OBJ_97", "OBJ_98", "OBJ_99", - "OBJ_100", - "OBJ_101" + "OBJ_100" ); }; + "OBJ_9" = { + isa = "PBXFileReference"; + path = "EntityIdentifier.swift"; + sourceTree = ""; + }; + "OBJ_90" = { + isa = "PBXBuildFile"; + fileRef = "OBJ_39"; + }; "OBJ_91" = { isa = "PBXBuildFile"; - fileRef = "OBJ_40"; + fileRef = "OBJ_41"; }; "OBJ_92" = { isa = "PBXBuildFile"; @@ -1355,7 +1344,7 @@ }; "OBJ_94" = { isa = "PBXBuildFile"; - fileRef = "OBJ_44"; + fileRef = "OBJ_45"; }; "OBJ_95" = { isa = "PBXBuildFile"; @@ -1379,10 +1368,10 @@ }; "SWGZip::SWGZip" = { isa = "PBXNativeTarget"; - buildConfigurationList = "OBJ_70"; + buildConfigurationList = "OBJ_69"; buildPhases = ( - "OBJ_73", - "OBJ_79" + "OBJ_72", + "OBJ_78" ); dependencies = ( ); @@ -1398,9 +1387,9 @@ }; "SWGZip::SwiftPMPackageDescription" = { isa = "PBXNativeTarget"; - buildConfigurationList = "OBJ_81"; + buildConfigurationList = "OBJ_80"; buildPhases = ( - "OBJ_84" + "OBJ_83" ); dependencies = ( ); @@ -1410,13 +1399,13 @@ }; "SWXCActivityLog::SWXCActivityLog" = { isa = "PBXNativeTarget"; - buildConfigurationList = "OBJ_87"; + buildConfigurationList = "OBJ_86"; buildPhases = ( - "OBJ_90", - "OBJ_102" + "OBJ_89", + "OBJ_101" ); dependencies = ( - "OBJ_104" + "OBJ_103" ); name = "SWXCActivityLog"; productName = "SWXCActivityLog"; @@ -1430,9 +1419,9 @@ }; "SWXCActivityLog::SwiftPMPackageDescription" = { isa = "PBXNativeTarget"; - buildConfigurationList = "OBJ_106"; + buildConfigurationList = "OBJ_105"; buildPhases = ( - "OBJ_109" + "OBJ_108" ); dependencies = ( ); @@ -1442,14 +1431,14 @@ }; "SWXCResult::SWXCResult" = { isa = "PBXNativeTarget"; - buildConfigurationList = "OBJ_112"; + buildConfigurationList = "OBJ_111"; buildPhases = ( - "OBJ_115", - "OBJ_139" + "OBJ_114", + "OBJ_137" ); dependencies = ( - "OBJ_142", - "OBJ_143" + "OBJ_140", + "OBJ_141" ); name = "SWXCResult"; productName = "SWXCResult"; @@ -1463,26 +1452,26 @@ }; "SWXCResult::SWXCResultPackageTests::ProductTarget" = { isa = "PBXAggregateTarget"; - buildConfigurationList = "OBJ_151"; + buildConfigurationList = "OBJ_149"; buildPhases = ( ); dependencies = ( - "OBJ_154" + "OBJ_152" ); name = "SWXCResultPackageTests"; productName = "SWXCResultPackageTests"; }; "SWXCResult::SWXCResultTests" = { isa = "PBXNativeTarget"; - buildConfigurationList = "OBJ_156"; + buildConfigurationList = "OBJ_154"; buildPhases = ( - "OBJ_159", - "OBJ_163" + "OBJ_157", + "OBJ_161" ); dependencies = ( - "OBJ_167", - "OBJ_168", - "OBJ_169" + "OBJ_165", + "OBJ_166", + "OBJ_167" ); name = "SWXCResultTests"; productName = "SWXCResultTests"; @@ -1496,9 +1485,9 @@ }; "SWXCResult::SwiftPMPackageDescription" = { isa = "PBXNativeTarget"; - buildConfigurationList = "OBJ_145"; + buildConfigurationList = "OBJ_143"; buildPhases = ( - "OBJ_148" + "OBJ_146" ); dependencies = ( ); diff --git a/SWXCResult.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SWXCResult.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/SWXCResult.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/SWXCResult.xcodeproj/xcshareddata/xcschemes/SWXCResult-Package.xcscheme b/SWXCResult.xcodeproj/xcshareddata/xcschemes/SWXCResult-Package.xcscheme index 9c4f9e2..df21b95 100644 --- a/SWXCResult.xcodeproj/xcshareddata/xcschemes/SWXCResult-Package.xcscheme +++ b/SWXCResult.xcodeproj/xcshareddata/xcschemes/SWXCResult-Package.xcscheme @@ -1,33 +1,82 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + diff --git a/Sources/SWXCResult/SchemeActionResult.swift b/Sources/SWXCResult/SchemeActionResult.swift index 61d475a..521f06d 100644 --- a/Sources/SWXCResult/SchemeActionResult.swift +++ b/Sources/SWXCResult/SchemeActionResult.swift @@ -60,6 +60,52 @@ public final class SchemeActionResult: Codable { } public func urlForTestSummary(relativeTo baseURL: URL) -> URL? { - return TestSummaryPath.flatMap({ baseURL.appendingPathComponent($0) }) + return TestSummaryPath.flatMap { + URL(fileURLWithPath: $0, isDirectory: false, relativeTo: baseURL) + } + } + + public func urlForLogPath(relativeTo baseURL: URL) -> URL? { + return LogPath.flatMap { + URL(fileURLWithPath: $0, isDirectory: false, relativeTo: baseURL) + } + } + + public func urlForCodeCoveragePath(relativeTo baseURL: URL) -> URL? { + return CodeCoveragePath.flatMap { + URL(fileURLWithPath: $0, isDirectory: false, relativeTo: baseURL) + } ?? urlForFallbackCodeCoveragePath(relativeTo: baseURL) + } + + public func urlForCodeCoverageArchivePath(relativeTo baseURL: URL) -> URL? { + return CodeCoverageArchivePath.flatMap { + URL(fileURLWithPath: $0, isDirectory: true, relativeTo: baseURL) + } ?? urlForFallbackCodeCoverageArchivePath(relativeTo: baseURL) + } +} + +extension SchemeActionResult { + + public func urlForResultDir(relativeTo baseURL: URL) -> URL? { + return urlForLogPath(relativeTo: baseURL)?.deletingLastPathComponent() ?? + urlForTestSummary(relativeTo: baseURL)?.deletingLastPathComponent() + } + + public func urlForFallbackCodeCoverageArchivePath(relativeTo baseURL: URL) -> URL? { + if HasCodeCoverage, let resultDirURL = urlForResultDir(relativeTo: baseURL) { + return URL(fileURLWithPath: resultDirURL.relativePath, + isDirectory: true, + relativeTo: baseURL).appendingPathComponent("action.xccovarchive") + } + return nil + } + + public func urlForFallbackCodeCoveragePath(relativeTo baseURL: URL) -> URL? { + if HasCodeCoverage, let resultDirURL = urlForResultDir(relativeTo: baseURL) { + return URL(fileURLWithPath: resultDirURL.relativePath, + isDirectory: false, + relativeTo: baseURL).appendingPathComponent("action.xccovreport") + } + return nil } } diff --git a/Sources/SWXCResult/SchemeActionResultTestSummary.swift b/Sources/SWXCResult/SchemeActionResultTestSummary.swift index 2706b14..cec5c1f 100644 --- a/Sources/SWXCResult/SchemeActionResultTestSummary.swift +++ b/Sources/SWXCResult/SchemeActionResultTestSummary.swift @@ -9,7 +9,6 @@ public final class SchemeActionResultTestSummary: Codable { public let TestableSummaries: [SchemeActionTestableSummary] - public static func from(contentsOf url: URL) throws -> SchemeActionResultTestSummary { let inputData = try Data(contentsOf: url) let decoder = PropertyListDecoder() diff --git a/Sources/SWXCResult/SchemeActionsInvocationRecord.swift b/Sources/SWXCResult/SchemeActionsInvocationRecord.swift index 33a3e82..6890d51 100644 --- a/Sources/SWXCResult/SchemeActionsInvocationRecord.swift +++ b/Sources/SWXCResult/SchemeActionsInvocationRecord.swift @@ -69,17 +69,17 @@ public final class SchemeActionsInvocationRecord: Codable { self.archiveGUID = archiveGUID } - public func urlForTestSummary(relativeTo baseURL: URL) throws -> URL { - guard let TestSummaryPath = TestSummaryPath else { - throw XCResultError.testSummaryPathMissing + public func urlForTestSummary(relativeTo baseURL: URL) -> URL? { + return TestSummaryPath.flatMap { + let originalURL = URL(fileURLWithPath: $0, isDirectory: false) + return URL(fileURLWithPath: originalURL.lastPathComponent, isDirectory: false, relativeTo: baseURL) } - let url = URL(fileURLWithPath: TestSummaryPath) - return baseURL.appendingPathComponent(url.lastPathComponent) } - public func testSummary(relativeTo baseURL: URL) throws -> TestSummariesPlist { - let url = try urlForTestSummary(relativeTo: baseURL) - return try TestSummariesPlist.from(contentsOf: url) + public func testSummary(relativeTo baseURL: URL) throws -> TestSummariesPlist? { + return try urlForTestSummary(relativeTo: baseURL).flatMap { + return try TestSummariesPlist.from(contentsOf: $0) + } } } diff --git a/Sources/SWXCResult/XCResult.swift b/Sources/SWXCResult/XCResult.swift index 06786a9..ce605c3 100644 --- a/Sources/SWXCResult/XCResult.swift +++ b/Sources/SWXCResult/XCResult.swift @@ -17,7 +17,7 @@ public final class XCResult { public init(bundleURL: URL) throws { self.bundleURL = bundleURL - infoURL = bundleURL.appendingPathComponent("Info.plist") + infoURL = URL(fileURLWithPath: "Info.plist", isDirectory: false, relativeTo: bundleURL) let inputData = try Data(contentsOf: infoURL) let decoder = PropertyListDecoder() diff --git a/Sources/SWXCResult/XCResultError.swift b/Sources/SWXCResult/XCResultError.swift deleted file mode 100644 index 775adeb..0000000 --- a/Sources/SWXCResult/XCResultError.swift +++ /dev/null @@ -1,12 +0,0 @@ -// -// XCResultError.swift -// SWXCResult -// -// Created by Roman Dzieciol on 4/10/19. -// - -import Foundation - -public enum XCResultError: Error { - case testSummaryPathMissing -} diff --git a/Tests/SWXCResultTests/PlistTests.swift b/Tests/SWXCResultTests/PlistTests.swift index b5bb86f..5292a56 100644 --- a/Tests/SWXCResultTests/PlistTests.swift +++ b/Tests/SWXCResultTests/PlistTests.swift @@ -11,12 +11,14 @@ final class PlistTests: XCTestCase { let xcresult = try XCResult(bundleURL: inputURL) let infoPlist = xcresult.infoPlist + XCTAssertNotNil(xcresult.infoURL.baseURL) let infoOutputURL = urlForStoringInTempDir(url: xcresult.infoURL) try write(asPlist: infoPlist, url: infoOutputURL) XCTAssertTrue(try diff(url: xcresult.infoURL, with: infoOutputURL)) - let testSummariesURL = try infoPlist.urlForTestSummary(relativeTo: inputURL) + let testSummariesURL = infoPlist.urlForTestSummary(relativeTo: inputURL)! + XCTAssertNotNil(testSummariesURL.baseURL) let testSummariesPlist = try infoPlist.testSummary(relativeTo: inputURL) let testSummariesOutputURL = urlForStoringInTempDir(url: testSummariesURL) @@ -26,10 +28,23 @@ final class PlistTests: XCTestCase { try xcresult.infoPlist.Actions?.forEach { action in try [action.ActionResult, action.BuildResult].compactMap{ $0 }.forEach { result in if let url = result.urlForTestSummary(relativeTo: inputURL) { + XCTAssertNotNil(url.baseURL) let summaries = try SchemeActionResultTestSummary.from(contentsOf: url) let outputURL = urlForStoringInTempDir(url: url) try write(asPlist: summaries, url: outputURL) XCTAssertTrue(try diff(url: url, with: outputURL)) + + if let logURL = result.urlForLogPath(relativeTo: bundleDirURL) { + XCTAssertNotNil(logURL.baseURL) + } + + if let codeCoverageURL = result.urlForCodeCoveragePath(relativeTo: bundleDirURL) { + XCTAssertNotNil(codeCoverageURL.baseURL) + } + + if let codeCoverageArchiveURL = result.urlForCodeCoverageArchivePath(relativeTo: bundleDirURL) { + XCTAssertNotNil(codeCoverageArchiveURL.baseURL) + } } } } diff --git a/iOSResultBundleApp/generateResultBundles.sh b/iOSResultBundleApp/generateResultBundles.sh index 4d8b3cc..76be779 100755 --- a/iOSResultBundleApp/generateResultBundles.sh +++ b/iOSResultBundleApp/generateResultBundles.sh @@ -4,5 +4,5 @@ RESULT_BUNDLE_DIR=$1 if [[ ! -d "${RESULT_BUNDLE_DIR}/CleanAnalyzeTest.result" ]]; then echo "Generating CleanAnalyzeTest.result" - xcodebuild -destination 'platform=iOS Simulator,name=iPhone Xʀ,OS=12.2' -quiet -workspace iOSResultBundleApp.xcworkspace -scheme iOSResultBundleApp clean analyze test -resultBundlePath "${RESULT_BUNDLE_DIR}/CleanAnalyzeTest.result" + xcodebuild -destination 'platform=iOS Simulator,name=iPhone Xʀ,OS=12.2' -quiet -workspace iOSResultBundleApp.xcworkspace -scheme iOSResultBundleApp -enableCodeCoverage YES clean analyze test -resultBundlePath "${RESULT_BUNDLE_DIR}/CleanAnalyzeTest.result" fi