diff --git a/.gitmodules b/.gitmodules index ae21dac1d..5010488b4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,3 +13,6 @@ [submodule "submodules/RSTree"] path = submodules/RSTree url = https://github.com/brentsimmons/RSTree +[submodule "submodules/RSDatabase"] + path = submodules/RSDatabase + url = https://github.com/brentsimmons/RSDatabase diff --git a/Evergreen.xcodeproj/project.pbxproj b/Evergreen.xcodeproj/project.pbxproj index d020f9242..7a680a7bf 100644 --- a/Evergreen.xcodeproj/project.pbxproj +++ b/Evergreen.xcodeproj/project.pbxproj @@ -109,8 +109,6 @@ 84AD1EAA2031617300BC20B7 /* FolderPasteboardWriter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84AD1EA92031617300BC20B7 /* FolderPasteboardWriter.swift */; }; 84AD1EBA2031649C00BC20B7 /* SmartFeedPasteboardWriter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84AD1EB92031649C00BC20B7 /* SmartFeedPasteboardWriter.swift */; }; 84AD1EBC2032AF5C00BC20B7 /* SidebarOutlineDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84AD1EBB2032AF5C00BC20B7 /* SidebarOutlineDataSource.swift */; }; - 84B06FE91ED3803A00F0B54B /* RSFeedFinder.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84B06FE61ED3803200F0B54B /* RSFeedFinder.framework */; }; - 84B06FEA1ED3803A00F0B54B /* RSFeedFinder.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 84B06FE61ED3803200F0B54B /* RSFeedFinder.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 84B7178C201E66580091657D /* SidebarViewController+ContextualMenus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B7178B201E66580091657D /* SidebarViewController+ContextualMenus.swift */; }; 84B99C671FAE35E600ECDEDB /* FeedListTreeControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C661FAE35E600ECDEDB /* FeedListTreeControllerDelegate.swift */; }; 84B99C691FAE36B800ECDEDB /* FeedListFolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C681FAE36B800ECDEDB /* FeedListFolder.swift */; }; @@ -121,6 +119,18 @@ 84BBB12D20142A4700F054F5 /* Inspector.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 84BBB12B20142A4700F054F5 /* Inspector.storyboard */; }; 84BBB12E20142A4700F054F5 /* InspectorWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84BBB12C20142A4700F054F5 /* InspectorWindowController.swift */; }; 84C12A151FF5B0080009A267 /* FeedList.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 84C12A141FF5B0080009A267 /* FeedList.storyboard */; }; + 84C37FA520DD8D8400CA8CF5 /* RSCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37F8120DD8CF200CA8CF5 /* RSCore.framework */; }; + 84C37FA620DD8D8400CA8CF5 /* RSCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37F8120DD8CF200CA8CF5 /* RSCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 84C37FA920DD8D9000CA8CF5 /* RSWeb.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37F9F20DD8D0500CA8CF5 /* RSWeb.framework */; }; + 84C37FAA20DD8D9000CA8CF5 /* RSWeb.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37F9F20DD8D0500CA8CF5 /* RSWeb.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 84C37FAD20DD8D9900CA8CF5 /* RSTree.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37F9520DD8CFE00CA8CF5 /* RSTree.framework */; }; + 84C37FAE20DD8D9900CA8CF5 /* RSTree.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37F9520DD8CFE00CA8CF5 /* RSTree.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 84C37FB120DD8DA100CA8CF5 /* DB5.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37F2820DD8CCE00CA8CF5 /* DB5.framework */; }; + 84C37FB220DD8DA100CA8CF5 /* DB5.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37F2820DD8CCE00CA8CF5 /* DB5.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 84C37FB520DD8DBB00CA8CF5 /* RSParser.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37F8C20DD8CF800CA8CF5 /* RSParser.framework */; }; + 84C37FB620DD8DBB00CA8CF5 /* RSParser.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37F8C20DD8CF800CA8CF5 /* RSParser.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 84C37FC520DD8E1D00CA8CF5 /* RSDatabase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37FC020DD8E0C00CA8CF5 /* RSDatabase.framework */; }; + 84C37FC620DD8E1D00CA8CF5 /* RSDatabase.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 84C37FC020DD8E0C00CA8CF5 /* RSDatabase.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 84CC88181FE59CBF00644329 /* SmartFeedsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84CC88171FE59CBF00644329 /* SmartFeedsController.swift */; }; 84D52E951FE588BB00D14F5B /* DetailStatusBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D52E941FE588BB00D14F5B /* DetailStatusBarView.swift */; }; 84D5BA20201E8FB6009092BD /* SidebarGearMenuDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D5BA1F201E8FB6009092BD /* SidebarGearMenuDelegate.swift */; }; @@ -254,27 +264,6 @@ remoteGlobalIDString = 849C645F1ED37A5D003D8FC0; remoteInfo = Evergreen; }; - 84B06FE51ED3803200F0B54B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 84B06FE01ED3803200F0B54B /* RSFeedFinder.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 84BAAE1F1C8E6B3B009F5239; - remoteInfo = RSFeedFinder; - }; - 84B06FE71ED3803200F0B54B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 84B06FE01ED3803200F0B54B /* RSFeedFinder.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 84BAAE291C8E6B3B009F5239; - remoteInfo = RSFeedFinderTests; - }; - 84B06FEB1ED3803A00F0B54B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 84B06FE01ED3803200F0B54B /* RSFeedFinder.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 84BAAE1E1C8E6B3B009F5239; - remoteInfo = RSFeedFinder; - }; 84BB4B671F1174D400858766 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 84BB4B611F1174D400858766 /* Data.xcodeproj */; @@ -296,6 +285,153 @@ remoteGlobalIDString = 844BEE5A1F0AB3C8004AB7CD; remoteInfo = Data; }; + 84C37F2720DD8CCE00CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F2220DD8CCD00CA8CF5 /* DB5.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 84F22BD11B52DC2E000060CE; + remoteInfo = DB5; + }; + 84C37F2920DD8CCE00CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F2220DD8CCD00CA8CF5 /* DB5.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 84F22BDB1B52DC2E000060CE; + remoteInfo = DB5Tests; + }; + 84C37F8020DD8CF200CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F7A20DD8CF200CA8CF5 /* RSCore.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 84CFF4F41AC3C69700CEA6C8; + remoteInfo = RSCore; + }; + 84C37F8220DD8CF200CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F7A20DD8CF200CA8CF5 /* RSCore.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 84CFF4FF1AC3C69700CEA6C8; + remoteInfo = RSCoreTests; + }; + 84C37F8420DD8CF200CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F7A20DD8CF200CA8CF5 /* RSCore.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 842DD7BC1E14993900E061EB; + remoteInfo = RSCoreiOS; + }; + 84C37F8B20DD8CF800CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F8620DD8CF800CA8CF5 /* RSParser.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 84FF5F841EFA285800C15A01; + remoteInfo = RSParser; + }; + 84C37F8D20DD8CF800CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F8620DD8CF800CA8CF5 /* RSParser.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 84FF5F8D1EFA285800C15A01; + remoteInfo = RSParserTests; + }; + 84C37F9420DD8CFE00CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F8F20DD8CFD00CA8CF5 /* RSTree.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 842A0BE11CFCB9BC00BF746C; + remoteInfo = RSTree; + }; + 84C37F9620DD8CFE00CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F8F20DD8CFD00CA8CF5 /* RSTree.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 842A0BEB1CFCB9BC00BF746C; + remoteInfo = RSTreeTests; + }; + 84C37F9E20DD8D0500CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F9820DD8D0400CA8CF5 /* RSWeb.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 849C08B61E0CAC85006B03FA; + remoteInfo = RSWeb; + }; + 84C37FA020DD8D0500CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F9820DD8D0400CA8CF5 /* RSWeb.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 849C08BF1E0CAC86006B03FA; + remoteInfo = RSWebTests; + }; + 84C37FA220DD8D0500CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F9820DD8D0400CA8CF5 /* RSWeb.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 849C08D51E0CACA3006B03FA; + remoteInfo = RSWebiOS; + }; + 84C37FA720DD8D8400CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F7A20DD8CF200CA8CF5 /* RSCore.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 84CFF4F31AC3C69700CEA6C8; + remoteInfo = RSCore; + }; + 84C37FAB20DD8D9000CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F9820DD8D0400CA8CF5 /* RSWeb.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 849C08B51E0CAC85006B03FA; + remoteInfo = RSWeb; + }; + 84C37FAF20DD8D9900CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F8F20DD8CFD00CA8CF5 /* RSTree.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 842A0BE01CFCB9BC00BF746C; + remoteInfo = RSTree; + }; + 84C37FB320DD8DA100CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F2220DD8CCD00CA8CF5 /* DB5.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 84F22BD01B52DC2E000060CE; + remoteInfo = DB5; + }; + 84C37FB720DD8DBB00CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37F8620DD8CF800CA8CF5 /* RSParser.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 84FF5F831EFA285800C15A01; + remoteInfo = RSParser; + }; + 84C37FBF20DD8E0C00CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37FB920DD8E0C00CA8CF5 /* RSDatabase.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 84F22C551B52E0D9000060CE; + remoteInfo = RSDatabase; + }; + 84C37FC120DD8E0C00CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37FB920DD8E0C00CA8CF5 /* RSDatabase.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 84F22C5F1B52E0D9000060CE; + remoteInfo = RSDatabaseTests; + }; + 84C37FC320DD8E0C00CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37FB920DD8E0C00CA8CF5 /* RSDatabase.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8400ABF71E0CFBD800AA7C57; + remoteInfo = RSDatabaseiOS; + }; + 84C37FC720DD8E1D00CA8CF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84C37FB920DD8E0C00CA8CF5 /* RSDatabase.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 84F22C541B52E0D9000060CE; + remoteInfo = RSDatabase; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -305,10 +441,15 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( + 84C37FAA20DD8D9000CA8CF5 /* RSWeb.framework in Embed Frameworks */, 84BB4B781F11753300858766 /* Data.framework in Embed Frameworks */, + 84C37FC620DD8E1D00CA8CF5 /* RSDatabase.framework in Embed Frameworks */, + 84C37FAE20DD8D9900CA8CF5 /* RSTree.framework in Embed Frameworks */, 84FB9A301EDCD6C4003D53B9 /* Sparkle.framework in Embed Frameworks */, + 84C37FB220DD8DA100CA8CF5 /* DB5.framework in Embed Frameworks */, + 84C37FB620DD8DBB00CA8CF5 /* RSParser.framework in Embed Frameworks */, 846E77421F6EF6A100A165E2 /* Database.framework in Embed Frameworks */, - 84B06FEA1ED3803A00F0B54B /* RSFeedFinder.framework in Embed Frameworks */, + 84C37FA620DD8D8400CA8CF5 /* RSCore.framework in Embed Frameworks */, 846E773E1F6EF67A00A165E2 /* Account.framework in Embed Frameworks */, ); name = "Embed Frameworks"; @@ -457,7 +598,6 @@ 84AD1EA92031617300BC20B7 /* FolderPasteboardWriter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FolderPasteboardWriter.swift; sourceTree = ""; }; 84AD1EB92031649C00BC20B7 /* SmartFeedPasteboardWriter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmartFeedPasteboardWriter.swift; sourceTree = ""; }; 84AD1EBB2032AF5C00BC20B7 /* SidebarOutlineDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarOutlineDataSource.swift; sourceTree = ""; }; - 84B06FE01ED3803200F0B54B /* RSFeedFinder.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSFeedFinder.xcodeproj; path = Frameworks/RSFeedFinder/RSFeedFinder.xcodeproj; sourceTree = ""; }; 84B7178B201E66580091657D /* SidebarViewController+ContextualMenus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SidebarViewController+ContextualMenus.swift"; sourceTree = ""; }; 84B99C661FAE35E600ECDEDB /* FeedListTreeControllerDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListTreeControllerDelegate.swift; sourceTree = ""; }; 84B99C681FAE36B800ECDEDB /* FeedListFolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListFolder.swift; sourceTree = ""; }; @@ -467,6 +607,12 @@ 84BBB12B20142A4700F054F5 /* Inspector.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Inspector.storyboard; sourceTree = ""; }; 84BBB12C20142A4700F054F5 /* InspectorWindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InspectorWindowController.swift; sourceTree = ""; }; 84C12A141FF5B0080009A267 /* FeedList.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = FeedList.storyboard; sourceTree = ""; }; + 84C37F2220DD8CCD00CA8CF5 /* DB5.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = DB5.xcodeproj; path = submodules/DB5/DB5.xcodeproj; sourceTree = ""; }; + 84C37F7A20DD8CF200CA8CF5 /* RSCore.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSCore.xcodeproj; path = submodules/RSCore/RSCore.xcodeproj; sourceTree = ""; }; + 84C37F8620DD8CF800CA8CF5 /* RSParser.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSParser.xcodeproj; path = submodules/RSParser/RSParser.xcodeproj; sourceTree = ""; }; + 84C37F8F20DD8CFD00CA8CF5 /* RSTree.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSTree.xcodeproj; path = submodules/RSTree/RSTree.xcodeproj; sourceTree = ""; }; + 84C37F9820DD8D0400CA8CF5 /* RSWeb.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSWeb.xcodeproj; path = submodules/RSWeb/RSWeb.xcodeproj; sourceTree = ""; }; + 84C37FB920DD8E0C00CA8CF5 /* RSDatabase.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSDatabase.xcodeproj; path = submodules/RSDatabase/RSDatabase.xcodeproj; sourceTree = ""; }; 84CBDDAE1FD3674C005A61AA /* Technotes */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Technotes; sourceTree = ""; }; 84CC08051FF5D2E000C0C0ED /* FeedListSplitViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListSplitViewController.swift; sourceTree = ""; }; 84CC88171FE59CBF00644329 /* SmartFeedsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmartFeedsController.swift; sourceTree = ""; }; @@ -554,10 +700,15 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 84C37FA920DD8D9000CA8CF5 /* RSWeb.framework in Frameworks */, 84BB4B771F11753300858766 /* Data.framework in Frameworks */, + 84C37FC520DD8E1D00CA8CF5 /* RSDatabase.framework in Frameworks */, + 84C37FAD20DD8D9900CA8CF5 /* RSTree.framework in Frameworks */, 846E77411F6EF6A100A165E2 /* Database.framework in Frameworks */, - 84B06FE91ED3803A00F0B54B /* RSFeedFinder.framework in Frameworks */, + 84C37FB120DD8DA100CA8CF5 /* DB5.framework in Frameworks */, + 84C37FB520DD8DBB00CA8CF5 /* RSParser.framework in Frameworks */, 846E773D1F6EF67A00A165E2 /* Account.framework in Frameworks */, + 84C37FA520DD8D8400CA8CF5 /* RSCore.framework in Frameworks */, 84FB9A2F1EDCD6C4003D53B9 /* Sparkle.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -939,9 +1090,14 @@ D5907CDA2002F084005947E5 /* xcconfig */, 849C64611ED37A5D003D8FC0 /* Products */, 846E77301F6EF5D600A165E2 /* Account.xcodeproj */, - 846E77161F6EF5D000A165E2 /* Database.xcodeproj */, 84BB4B611F1174D400858766 /* Data.xcodeproj */, - 84B06FE01ED3803200F0B54B /* RSFeedFinder.xcodeproj */, + 846E77161F6EF5D000A165E2 /* Database.xcodeproj */, + 84C37F2220DD8CCD00CA8CF5 /* DB5.xcodeproj */, + 84C37F7A20DD8CF200CA8CF5 /* RSCore.xcodeproj */, + 84C37FB920DD8E0C00CA8CF5 /* RSDatabase.xcodeproj */, + 84C37F8620DD8CF800CA8CF5 /* RSParser.xcodeproj */, + 84C37F8F20DD8CFD00CA8CF5 /* RSTree.xcodeproj */, + 84C37F9820DD8D0400CA8CF5 /* RSWeb.xcodeproj */, ); sourceTree = ""; }; @@ -986,15 +1142,6 @@ path = Evergreen/Dinosaurs; sourceTree = ""; }; - 84B06FE11ED3803200F0B54B /* Products */ = { - isa = PBXGroup; - children = ( - 84B06FE61ED3803200F0B54B /* RSFeedFinder.framework */, - 84B06FE81ED3803200F0B54B /* RSFeedFinderTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; 84BB4B621F1174D400858766 /* Products */ = { isa = PBXGroup; children = ( @@ -1018,6 +1165,63 @@ path = Evergreen/Inspector; sourceTree = ""; }; + 84C37F2320DD8CCD00CA8CF5 /* Products */ = { + isa = PBXGroup; + children = ( + 84C37F2820DD8CCE00CA8CF5 /* DB5.framework */, + 84C37F2A20DD8CCE00CA8CF5 /* DB5Tests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 84C37F7B20DD8CF200CA8CF5 /* Products */ = { + isa = PBXGroup; + children = ( + 84C37F8120DD8CF200CA8CF5 /* RSCore.framework */, + 84C37F8320DD8CF200CA8CF5 /* RSCoreTests.xctest */, + 84C37F8520DD8CF200CA8CF5 /* RSCore.framework */, + ); + name = Products; + sourceTree = ""; + }; + 84C37F8720DD8CF800CA8CF5 /* Products */ = { + isa = PBXGroup; + children = ( + 84C37F8C20DD8CF800CA8CF5 /* RSParser.framework */, + 84C37F8E20DD8CF800CA8CF5 /* RSParserTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 84C37F9020DD8CFD00CA8CF5 /* Products */ = { + isa = PBXGroup; + children = ( + 84C37F9520DD8CFE00CA8CF5 /* RSTree.framework */, + 84C37F9720DD8CFE00CA8CF5 /* RSTreeTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 84C37F9920DD8D0400CA8CF5 /* Products */ = { + isa = PBXGroup; + children = ( + 84C37F9F20DD8D0500CA8CF5 /* RSWeb.framework */, + 84C37FA120DD8D0500CA8CF5 /* RSWebTests.xctest */, + 84C37FA320DD8D0500CA8CF5 /* RSWeb.framework */, + ); + name = Products; + sourceTree = ""; + }; + 84C37FBA20DD8E0C00CA8CF5 /* Products */ = { + isa = PBXGroup; + children = ( + 84C37FC020DD8E0C00CA8CF5 /* RSDatabase.framework */, + 84C37FC220DD8E0C00CA8CF5 /* RSDatabaseTests.xctest */, + 84C37FC420DD8E0C00CA8CF5 /* RSDatabase.framework */, + ); + name = Products; + sourceTree = ""; + }; 84DAEE201F86CAE00058304B /* Importers */ = { isa = PBXGroup; children = ( @@ -1213,10 +1417,15 @@ buildRules = ( ); dependencies = ( - 84B06FEC1ED3803A00F0B54B /* PBXTargetDependency */, 84BB4B7A1F11753300858766 /* PBXTargetDependency */, 846E77401F6EF67A00A165E2 /* PBXTargetDependency */, 846E77441F6EF6A100A165E2 /* PBXTargetDependency */, + 84C37FA820DD8D8400CA8CF5 /* PBXTargetDependency */, + 84C37FAC20DD8D9000CA8CF5 /* PBXTargetDependency */, + 84C37FB020DD8D9900CA8CF5 /* PBXTargetDependency */, + 84C37FB420DD8DA100CA8CF5 /* PBXTargetDependency */, + 84C37FB820DD8DBB00CA8CF5 /* PBXTargetDependency */, + 84C37FC820DD8E1D00CA8CF5 /* PBXTargetDependency */, ); name = Evergreen; productName = Evergreen; @@ -1307,8 +1516,28 @@ ProjectRef = 846E77161F6EF5D000A165E2 /* Database.xcodeproj */; }, { - ProductGroup = 84B06FE11ED3803200F0B54B /* Products */; - ProjectRef = 84B06FE01ED3803200F0B54B /* RSFeedFinder.xcodeproj */; + ProductGroup = 84C37F2320DD8CCD00CA8CF5 /* Products */; + ProjectRef = 84C37F2220DD8CCD00CA8CF5 /* DB5.xcodeproj */; + }, + { + ProductGroup = 84C37F7B20DD8CF200CA8CF5 /* Products */; + ProjectRef = 84C37F7A20DD8CF200CA8CF5 /* RSCore.xcodeproj */; + }, + { + ProductGroup = 84C37FBA20DD8E0C00CA8CF5 /* Products */; + ProjectRef = 84C37FB920DD8E0C00CA8CF5 /* RSDatabase.xcodeproj */; + }, + { + ProductGroup = 84C37F8720DD8CF800CA8CF5 /* Products */; + ProjectRef = 84C37F8620DD8CF800CA8CF5 /* RSParser.xcodeproj */; + }, + { + ProductGroup = 84C37F9020DD8CFD00CA8CF5 /* Products */; + ProjectRef = 84C37F8F20DD8CFD00CA8CF5 /* RSTree.xcodeproj */; + }, + { + ProductGroup = 84C37F9920DD8D0400CA8CF5 /* Products */; + ProjectRef = 84C37F9820DD8D0400CA8CF5 /* RSWeb.xcodeproj */; }, ); projectRoot = ""; @@ -1351,20 +1580,6 @@ remoteRef = 846E773B1F6EF5D700A165E2 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 84B06FE61ED3803200F0B54B /* RSFeedFinder.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = RSFeedFinder.framework; - remoteRef = 84B06FE51ED3803200F0B54B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 84B06FE81ED3803200F0B54B /* RSFeedFinderTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = RSFeedFinderTests.xctest; - remoteRef = 84B06FE71ED3803200F0B54B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 84BB4B681F1174D400858766 /* Data.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; @@ -1379,6 +1594,111 @@ remoteRef = 84BB4B691F1174D400858766 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 84C37F2820DD8CCE00CA8CF5 /* DB5.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = DB5.framework; + remoteRef = 84C37F2720DD8CCE00CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37F2A20DD8CCE00CA8CF5 /* DB5Tests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = DB5Tests.xctest; + remoteRef = 84C37F2920DD8CCE00CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37F8120DD8CF200CA8CF5 /* RSCore.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = RSCore.framework; + remoteRef = 84C37F8020DD8CF200CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37F8320DD8CF200CA8CF5 /* RSCoreTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = RSCoreTests.xctest; + remoteRef = 84C37F8220DD8CF200CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37F8520DD8CF200CA8CF5 /* RSCore.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = RSCore.framework; + remoteRef = 84C37F8420DD8CF200CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37F8C20DD8CF800CA8CF5 /* RSParser.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = RSParser.framework; + remoteRef = 84C37F8B20DD8CF800CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37F8E20DD8CF800CA8CF5 /* RSParserTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = RSParserTests.xctest; + remoteRef = 84C37F8D20DD8CF800CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37F9520DD8CFE00CA8CF5 /* RSTree.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = RSTree.framework; + remoteRef = 84C37F9420DD8CFE00CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37F9720DD8CFE00CA8CF5 /* RSTreeTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = RSTreeTests.xctest; + remoteRef = 84C37F9620DD8CFE00CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37F9F20DD8D0500CA8CF5 /* RSWeb.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = RSWeb.framework; + remoteRef = 84C37F9E20DD8D0500CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37FA120DD8D0500CA8CF5 /* RSWebTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = RSWebTests.xctest; + remoteRef = 84C37FA020DD8D0500CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37FA320DD8D0500CA8CF5 /* RSWeb.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = RSWeb.framework; + remoteRef = 84C37FA220DD8D0500CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37FC020DD8E0C00CA8CF5 /* RSDatabase.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = RSDatabase.framework; + remoteRef = 84C37FBF20DD8E0C00CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37FC220DD8E0C00CA8CF5 /* RSDatabaseTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = RSDatabaseTests.xctest; + remoteRef = 84C37FC120DD8E0C00CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84C37FC420DD8E0C00CA8CF5 /* RSDatabase.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = RSDatabase.framework; + remoteRef = 84C37FC320DD8E0C00CA8CF5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -1655,16 +1975,41 @@ target = 849C645F1ED37A5D003D8FC0 /* Evergreen */; targetProxy = 849C64721ED37A5D003D8FC0 /* PBXContainerItemProxy */; }; - 84B06FEC1ED3803A00F0B54B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RSFeedFinder; - targetProxy = 84B06FEB1ED3803A00F0B54B /* PBXContainerItemProxy */; - }; 84BB4B7A1F11753300858766 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Data; targetProxy = 84BB4B791F11753300858766 /* PBXContainerItemProxy */; }; + 84C37FA820DD8D8400CA8CF5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RSCore; + targetProxy = 84C37FA720DD8D8400CA8CF5 /* PBXContainerItemProxy */; + }; + 84C37FAC20DD8D9000CA8CF5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RSWeb; + targetProxy = 84C37FAB20DD8D9000CA8CF5 /* PBXContainerItemProxy */; + }; + 84C37FB020DD8D9900CA8CF5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RSTree; + targetProxy = 84C37FAF20DD8D9900CA8CF5 /* PBXContainerItemProxy */; + }; + 84C37FB420DD8DA100CA8CF5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DB5; + targetProxy = 84C37FB320DD8DA100CA8CF5 /* PBXContainerItemProxy */; + }; + 84C37FB820DD8DBB00CA8CF5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RSParser; + targetProxy = 84C37FB720DD8DBB00CA8CF5 /* PBXContainerItemProxy */; + }; + 84C37FC820DD8E1D00CA8CF5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RSDatabase; + targetProxy = 84C37FC720DD8E1D00CA8CF5 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -2163,6 +2508,8 @@ isa = XCBuildConfiguration; baseConfigurationReference = D5907CE02002F0FA005947E5 /* Evergreen_target.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; }; name = Debug; }; @@ -2170,6 +2517,8 @@ isa = XCBuildConfiguration; baseConfigurationReference = D5907CE02002F0FA005947E5 /* Evergreen_target.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; }; name = Release; }; diff --git a/submodules/RSDatabase b/submodules/RSDatabase new file mode 160000 index 000000000..4e7358074 --- /dev/null +++ b/submodules/RSDatabase @@ -0,0 +1 @@ +Subproject commit 4e7358074ed3c358ebfe3741a38f43e020665694