diff --git a/Cartfile b/Cartfile deleted file mode 100644 index 806d7b4..0000000 --- a/Cartfile +++ /dev/null @@ -1 +0,0 @@ -github "TextureGroup/Texture" \ No newline at end of file diff --git a/TextureBridging.xcodeproj/project.pbxproj b/Development/TextureBridging.xcodeproj/project.pbxproj similarity index 50% rename from TextureBridging.xcodeproj/project.pbxproj rename to Development/TextureBridging.xcodeproj/project.pbxproj index 256fc33..64961b4 100644 --- a/TextureBridging.xcodeproj/project.pbxproj +++ b/Development/TextureBridging.xcodeproj/project.pbxproj @@ -3,37 +3,26 @@ archiveVersion = 1; classes = { }; - objectVersion = 51; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ - 305C0A5D7FCBEFF2BE883ADA /* Pods_TextureBridging_TextureBridgingDemo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FE8AB8291F154B337451893 /* Pods_TextureBridging_TextureBridgingDemo.framework */; }; - 4B5E3513228BEF4700E6B966 /* NodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B5E3512228BEF4700E6B966 /* NodeView.swift */; }; + 4B305D6D2AAB8B120067A836 /* TextureBridging in Frameworks */ = {isa = PBXBuildFile; productRef = 4B305D6C2AAB8B120067A836 /* TextureBridging */; }; + 4B305D712AAB8BC40067A836 /* TextureSwiftSupport in Frameworks */ = {isa = PBXBuildFile; productRef = 4B305D702AAB8BC40067A836 /* TextureSwiftSupport */; }; + 4B305D742AAB8BD70067A836 /* MondrianLayout in Frameworks */ = {isa = PBXBuildFile; productRef = 4B305D732AAB8BD70067A836 /* MondrianLayout */; }; + 4B305D762AAB8BD70067A836 /* MondrianLayoutDynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 4B305D752AAB8BD70067A836 /* MondrianLayoutDynamic */; }; + 4B305D792AAB8BE90067A836 /* TypedTextAttributes in Frameworks */ = {isa = PBXBuildFile; productRef = 4B305D782AAB8BE90067A836 /* TypedTextAttributes */; }; + 4B305D7C2AAB8BFB0067A836 /* StackScrollView in Frameworks */ = {isa = PBXBuildFile; productRef = 4B305D7B2AAB8BFB0067A836 /* StackScrollView */; }; 4B5E351B228BF3A000E6B966 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B5E351A228BF3A000E6B966 /* AppDelegate.swift */; }; 4B5E351D228BF3A000E6B966 /* BridgeToAutoLayoutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B5E351C228BF3A000E6B966 /* BridgeToAutoLayoutViewController.swift */; }; 4B5E3520228BF3A000E6B966 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4B5E351E228BF3A000E6B966 /* Main.storyboard */; }; 4B5E3522228BF3A100E6B966 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4B5E3521228BF3A000E6B966 /* Assets.xcassets */; }; 4B5E3525228BF3A100E6B966 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4B5E3523228BF3A100E6B966 /* LaunchScreen.storyboard */; }; - 4B5E352C228BF51000E6B966 /* TextureBridging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BF2A956228A812100CB3870 /* TextureBridging.framework */; }; - 4B5E352D228BF51000E6B966 /* TextureBridging.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4BF2A956228A812100CB3870 /* TextureBridging.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 4B5E3530228BF56A00E6B966 /* Lorem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B5E352F228BF56A00E6B966 /* Lorem.swift */; }; - 4B5E3532228BF64500E6B966 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B5E3531228BF64500E6B966 /* Logger.swift */; }; 4B8AC2E4231CDFF1009AD236 /* DemoImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B8AC2E3231CDFF1009AD236 /* DemoImageViewController.swift */; }; 4B9861A9248F79DF000E44A5 /* DemoStackScrollViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B9861A8248F79DF000E44A5 /* DemoStackScrollViewController.swift */; }; - 4BF2A95B228A812100CB3870 /* TextureBridging.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF2A959228A812100CB3870 /* TextureBridging.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 540E3A1FD657EA36432DB0F9 /* Pods_TextureBridging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5114A756114C2BACD7844ED0 /* Pods_TextureBridging.framework */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 4B5E352A228BF50C00E6B966 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4BF2A94D228A812100CB3870 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4BF2A955228A812100CB3870; - remoteInfo = TextureBridging; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXCopyFilesBuildPhase section */ 4B5E352E228BF51000E6B966 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; @@ -41,7 +30,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 4B5E352D228BF51000E6B966 /* TextureBridging.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -49,9 +37,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 148186B9622B02C43EAE77F2 /* Pods-TextureBridgingDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TextureBridgingDemo.debug.xcconfig"; path = "Target Support Files/Pods-TextureBridgingDemo/Pods-TextureBridgingDemo.debug.xcconfig"; sourceTree = ""; }; - 220084C0BE766279A9EFB143 /* Pods-TextureBridging.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TextureBridging.release.xcconfig"; path = "Target Support Files/Pods-TextureBridging/Pods-TextureBridging.release.xcconfig"; sourceTree = ""; }; - 4B5E3512228BEF4700E6B966 /* NodeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NodeView.swift; sourceTree = ""; }; + 4B305D6A2AAB8AF50067A836 /* TextureBridging */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = TextureBridging; path = ..; sourceTree = ""; }; 4B5E3518228BF3A000E6B966 /* TextureBridgingDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TextureBridgingDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 4B5E351A228BF3A000E6B966 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 4B5E351C228BF3A000E6B966 /* BridgeToAutoLayoutViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BridgeToAutoLayoutViewController.swift; sourceTree = ""; }; @@ -60,18 +46,8 @@ 4B5E3524228BF3A100E6B966 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 4B5E3526228BF3A100E6B966 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 4B5E352F228BF56A00E6B966 /* Lorem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Lorem.swift; sourceTree = ""; }; - 4B5E3531228BF64500E6B966 /* Logger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = ""; }; 4B8AC2E3231CDFF1009AD236 /* DemoImageViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DemoImageViewController.swift; sourceTree = ""; }; 4B9861A8248F79DF000E44A5 /* DemoStackScrollViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DemoStackScrollViewController.swift; sourceTree = ""; }; - 4BF239549C52EA9825FC5E8D /* Pods-TextureBridging.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TextureBridging.debug.xcconfig"; path = "Target Support Files/Pods-TextureBridging/Pods-TextureBridging.debug.xcconfig"; sourceTree = ""; }; - 4BF2A956228A812100CB3870 /* TextureBridging.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TextureBridging.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4BF2A959228A812100CB3870 /* TextureBridging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureBridging.h; sourceTree = ""; }; - 4BF2A95A228A812100CB3870 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 5058C3E052FCC5C8E31D0EF5 /* Pods-TextureBridgingDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TextureBridgingDemo.release.xcconfig"; path = "Target Support Files/Pods-TextureBridgingDemo/Pods-TextureBridgingDemo.release.xcconfig"; sourceTree = ""; }; - 5114A756114C2BACD7844ED0 /* Pods_TextureBridging.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TextureBridging.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 78FEEF77EEF5235C1F0D5495 /* Pods-TextureBridging-TextureBridgingDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TextureBridging-TextureBridgingDemo.debug.xcconfig"; path = "Target Support Files/Pods-TextureBridging-TextureBridgingDemo/Pods-TextureBridging-TextureBridgingDemo.debug.xcconfig"; sourceTree = ""; }; - 7FE8AB8291F154B337451893 /* Pods_TextureBridging_TextureBridgingDemo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TextureBridging_TextureBridgingDemo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D14E0EA5AE7325CB340C85E2 /* Pods-TextureBridging-TextureBridgingDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TextureBridging-TextureBridgingDemo.release.xcconfig"; path = "Target Support Files/Pods-TextureBridging-TextureBridgingDemo/Pods-TextureBridging-TextureBridgingDemo.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -79,22 +55,25 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4B5E352C228BF51000E6B966 /* TextureBridging.framework in Frameworks */, - 305C0A5D7FCBEFF2BE883ADA /* Pods_TextureBridging_TextureBridgingDemo.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4BF2A953228A812100CB3870 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 540E3A1FD657EA36432DB0F9 /* Pods_TextureBridging.framework in Frameworks */, + 4B305D762AAB8BD70067A836 /* MondrianLayoutDynamic in Frameworks */, + 4B305D742AAB8BD70067A836 /* MondrianLayout in Frameworks */, + 4B305D792AAB8BE90067A836 /* TypedTextAttributes in Frameworks */, + 4B305D712AAB8BC40067A836 /* TextureSwiftSupport in Frameworks */, + 4B305D6D2AAB8B120067A836 /* TextureBridging in Frameworks */, + 4B305D7C2AAB8BFB0067A836 /* StackScrollView in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 4B305D6B2AAB8B120067A836 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; 4B5E3519228BF3A000E6B966 /* TextureBridgingDemo */ = { isa = PBXGroup; children = ( @@ -114,110 +93,50 @@ 4BF2A94C228A812100CB3870 = { isa = PBXGroup; children = ( - 4BF2A958228A812100CB3870 /* TextureBridging */, + 4B305D6A2AAB8AF50067A836 /* TextureBridging */, 4B5E3519228BF3A000E6B966 /* TextureBridgingDemo */, 4BF2A957228A812100CB3870 /* Products */, - AADBBC95B60DE0EBFCB9ACC3 /* Pods */, - 84CE255473394FD72E0E6274 /* Frameworks */, + 4B305D6B2AAB8B120067A836 /* Frameworks */, ); sourceTree = ""; }; 4BF2A957228A812100CB3870 /* Products */ = { isa = PBXGroup; children = ( - 4BF2A956228A812100CB3870 /* TextureBridging.framework */, 4B5E3518228BF3A000E6B966 /* TextureBridgingDemo.app */, ); name = Products; sourceTree = ""; }; - 4BF2A958228A812100CB3870 /* TextureBridging */ = { - isa = PBXGroup; - children = ( - 4BF2A959228A812100CB3870 /* TextureBridging.h */, - 4B5E3512228BEF4700E6B966 /* NodeView.swift */, - 4B5E3531228BF64500E6B966 /* Logger.swift */, - 4BF2A95A228A812100CB3870 /* Info.plist */, - ); - path = TextureBridging; - sourceTree = ""; - }; - 84CE255473394FD72E0E6274 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 5114A756114C2BACD7844ED0 /* Pods_TextureBridging.framework */, - 7FE8AB8291F154B337451893 /* Pods_TextureBridging_TextureBridgingDemo.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - AADBBC95B60DE0EBFCB9ACC3 /* Pods */ = { - isa = PBXGroup; - children = ( - 4BF239549C52EA9825FC5E8D /* Pods-TextureBridging.debug.xcconfig */, - 220084C0BE766279A9EFB143 /* Pods-TextureBridging.release.xcconfig */, - 148186B9622B02C43EAE77F2 /* Pods-TextureBridgingDemo.debug.xcconfig */, - 5058C3E052FCC5C8E31D0EF5 /* Pods-TextureBridgingDemo.release.xcconfig */, - 78FEEF77EEF5235C1F0D5495 /* Pods-TextureBridging-TextureBridgingDemo.debug.xcconfig */, - D14E0EA5AE7325CB340C85E2 /* Pods-TextureBridging-TextureBridgingDemo.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; /* End PBXGroup section */ -/* Begin PBXHeadersBuildPhase section */ - 4BF2A951228A812100CB3870 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 4BF2A95B228A812100CB3870 /* TextureBridging.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - /* Begin PBXNativeTarget section */ 4B5E3517228BF3A000E6B966 /* TextureBridgingDemo */ = { isa = PBXNativeTarget; buildConfigurationList = 4B5E3529228BF3A100E6B966 /* Build configuration list for PBXNativeTarget "TextureBridgingDemo" */; buildPhases = ( - 15C1C7893A0F33757BC8517A /* [CP] Check Pods Manifest.lock */, 4B5E3514228BF3A000E6B966 /* Sources */, 4B5E3515228BF3A000E6B966 /* Frameworks */, 4B5E3516228BF3A000E6B966 /* Resources */, - DBFCD8C27A3475422D76E183 /* [CP] Embed Pods Frameworks */, 4B5E352E228BF51000E6B966 /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( - 4B5E352B228BF50C00E6B966 /* PBXTargetDependency */, ); name = TextureBridgingDemo; + packageProductDependencies = ( + 4B305D6C2AAB8B120067A836 /* TextureBridging */, + 4B305D702AAB8BC40067A836 /* TextureSwiftSupport */, + 4B305D732AAB8BD70067A836 /* MondrianLayout */, + 4B305D752AAB8BD70067A836 /* MondrianLayoutDynamic */, + 4B305D782AAB8BE90067A836 /* TypedTextAttributes */, + 4B305D7B2AAB8BFB0067A836 /* StackScrollView */, + ); productName = TextureBridgingDemo; productReference = 4B5E3518228BF3A000E6B966 /* TextureBridgingDemo.app */; productType = "com.apple.product-type.application"; }; - 4BF2A955228A812100CB3870 /* TextureBridging */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4BF2A95E228A812100CB3870 /* Build configuration list for PBXNativeTarget "TextureBridging" */; - buildPhases = ( - 23DDD9708E100F41044391C2 /* [CP] Check Pods Manifest.lock */, - 4BF2A951228A812100CB3870 /* Headers */, - 4BF2A952228A812100CB3870 /* Sources */, - 4BF2A953228A812100CB3870 /* Frameworks */, - 4BF2A954228A812100CB3870 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = TextureBridging; - productName = TextureBridging; - productReference = 4BF2A956228A812100CB3870 /* TextureBridging.framework */; - productType = "com.apple.product-type.framework"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -231,10 +150,6 @@ 4B5E3517228BF3A000E6B966 = { CreatedOnToolsVersion = 10.2; }; - 4BF2A955228A812100CB3870 = { - CreatedOnToolsVersion = 10.2; - LastSwiftMigration = 1020; - }; }; }; buildConfigurationList = 4BF2A950228A812100CB3870 /* Build configuration list for PBXProject "TextureBridging" */; @@ -246,11 +161,16 @@ Base, ); mainGroup = 4BF2A94C228A812100CB3870; + packageReferences = ( + 4B305D6F2AAB8BC40067A836 /* XCRemoteSwiftPackageReference "TextureSwiftSupport" */, + 4B305D722AAB8BD70067A836 /* XCRemoteSwiftPackageReference "MondrianLayout" */, + 4B305D772AAB8BE90067A836 /* XCRemoteSwiftPackageReference "TypedTextAttributes" */, + 4B305D7A2AAB8BFB0067A836 /* XCRemoteSwiftPackageReference "StackScrollView" */, + ); productRefGroup = 4BF2A957228A812100CB3870 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 4BF2A955228A812100CB3870 /* TextureBridging */, 4B5E3517228BF3A000E6B966 /* TextureBridgingDemo */, ); }; @@ -267,79 +187,8 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 4BF2A954228A812100CB3870 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 15C1C7893A0F33757BC8517A /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-TextureBridging-TextureBridgingDemo-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 23DDD9708E100F41044391C2 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-TextureBridging-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - DBFCD8C27A3475422D76E183 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-TextureBridging-TextureBridgingDemo/Pods-TextureBridging-TextureBridgingDemo-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-TextureBridging-TextureBridgingDemo/Pods-TextureBridging-TextureBridgingDemo-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-TextureBridging-TextureBridgingDemo/Pods-TextureBridging-TextureBridgingDemo-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 4B5E3514228BF3A000E6B966 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -353,25 +202,8 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 4BF2A952228A812100CB3870 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4B5E3513228BEF4700E6B966 /* NodeView.swift in Sources */, - 4B5E3532228BF64500E6B966 /* Logger.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - 4B5E352B228BF50C00E6B966 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4BF2A955228A812100CB3870 /* TextureBridging */; - targetProxy = 4B5E352A228BF50C00E6B966 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin PBXVariantGroup section */ 4B5E351E228BF3A000E6B966 /* Main.storyboard */ = { isa = PBXVariantGroup; @@ -394,13 +226,11 @@ /* Begin XCBuildConfiguration section */ 4B5E3527228BF3A100E6B966 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 78FEEF77EEF5235C1F0D5495 /* Pods-TextureBridging-TextureBridgingDemo.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; INFOPLIST_FILE = TextureBridgingDemo/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -414,13 +244,11 @@ }; 4B5E3528228BF3A100E6B966 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D14E0EA5AE7325CB340C85E2 /* Pods-TextureBridging-TextureBridgingDemo.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; INFOPLIST_FILE = TextureBridgingDemo/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -554,64 +382,6 @@ }; name = Release; }; - 4BF2A95F228A812100CB3870 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4BF239549C52EA9825FC5E8D /* Pods-TextureBridging.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "COCOAPODS=1", - "TextureBridging_DEBUG=1", - ); - INFOPLIST_FILE = TextureBridging/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = me.muukii.TextureBridging; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 4BF2A960228A812100CB3870 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 220084C0BE766279A9EFB143 /* Pods-TextureBridging.release.xcconfig */; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = TextureBridging/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = me.muukii.TextureBridging; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -633,16 +403,74 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4BF2A95E228A812100CB3870 /* Build configuration list for PBXNativeTarget "TextureBridging" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4BF2A95F228A812100CB3870 /* Debug */, - 4BF2A960228A812100CB3870 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 4B305D6F2AAB8BC40067A836 /* XCRemoteSwiftPackageReference "TextureSwiftSupport" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/FluidGroup/TextureSwiftSupport"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 3.20.1; + }; + }; + 4B305D722AAB8BD70067A836 /* XCRemoteSwiftPackageReference "MondrianLayout" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/FluidGroup/MondrianLayout.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 0.10.0; + }; + }; + 4B305D772AAB8BE90067A836 /* XCRemoteSwiftPackageReference "TypedTextAttributes" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/muukii/TypedTextAttributes.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 1.5.0; + }; + }; + 4B305D7A2AAB8BFB0067A836 /* XCRemoteSwiftPackageReference "StackScrollView" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/FluidGroup/StackScrollView"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 1.6.3; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 4B305D6C2AAB8B120067A836 /* TextureBridging */ = { + isa = XCSwiftPackageProductDependency; + productName = TextureBridging; + }; + 4B305D702AAB8BC40067A836 /* TextureSwiftSupport */ = { + isa = XCSwiftPackageProductDependency; + package = 4B305D6F2AAB8BC40067A836 /* XCRemoteSwiftPackageReference "TextureSwiftSupport" */; + productName = TextureSwiftSupport; + }; + 4B305D732AAB8BD70067A836 /* MondrianLayout */ = { + isa = XCSwiftPackageProductDependency; + package = 4B305D722AAB8BD70067A836 /* XCRemoteSwiftPackageReference "MondrianLayout" */; + productName = MondrianLayout; + }; + 4B305D752AAB8BD70067A836 /* MondrianLayoutDynamic */ = { + isa = XCSwiftPackageProductDependency; + package = 4B305D722AAB8BD70067A836 /* XCRemoteSwiftPackageReference "MondrianLayout" */; + productName = MondrianLayoutDynamic; + }; + 4B305D782AAB8BE90067A836 /* TypedTextAttributes */ = { + isa = XCSwiftPackageProductDependency; + package = 4B305D772AAB8BE90067A836 /* XCRemoteSwiftPackageReference "TypedTextAttributes" */; + productName = TypedTextAttributes; + }; + 4B305D7B2AAB8BFB0067A836 /* StackScrollView */ = { + isa = XCSwiftPackageProductDependency; + package = 4B305D7A2AAB8BFB0067A836 /* XCRemoteSwiftPackageReference "StackScrollView" */; + productName = StackScrollView; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 4BF2A94D228A812100CB3870 /* Project object */; } diff --git a/TextureBridging.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Development/TextureBridging.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 68% rename from TextureBridging.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Development/TextureBridging.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 6e350ec..919434a 100644 --- a/TextureBridging.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/Development/TextureBridging.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/TextureBridging.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Development/TextureBridging.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from TextureBridging.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to Development/TextureBridging.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Development/TextureBridging.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Development/TextureBridging.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..79600e7 --- /dev/null +++ b/Development/TextureBridging.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,59 @@ +{ + "pins" : [ + { + "identity" : "descriptors", + "kind" : "remoteSourceControl", + "location" : "https://github.com/FluidGroup/Descriptors", + "state" : { + "revision" : "f41ce2605a76c5d378fe8c5e8c5c98b544dfd108", + "version" : "0.2.3" + } + }, + { + "identity" : "mondrianlayout", + "kind" : "remoteSourceControl", + "location" : "https://github.com/FluidGroup/MondrianLayout.git", + "state" : { + "revision" : "5f00b13984fe08316fc5b5be06e2f41c14a3befa", + "version" : "0.10.0" + } + }, + { + "identity" : "stackscrollview", + "kind" : "remoteSourceControl", + "location" : "https://github.com/FluidGroup/StackScrollView", + "state" : { + "revision" : "c7d2950cdaee7f4aa0dfd1a1364d352f841c9954", + "version" : "1.6.3" + } + }, + { + "identity" : "texture", + "kind" : "remoteSourceControl", + "location" : "https://github.com/FluidGroup/Texture.git", + "state" : { + "revision" : "68df47f0d26522da76b06f22e9a97e4d4ab58dad", + "version" : "3.0.2" + } + }, + { + "identity" : "textureswiftsupport", + "kind" : "remoteSourceControl", + "location" : "https://github.com/FluidGroup/TextureSwiftSupport", + "state" : { + "revision" : "fb748d6a9d0a2dca0635227e1db0360fd26e0e24", + "version" : "3.20.1" + } + }, + { + "identity" : "typedtextattributes", + "kind" : "remoteSourceControl", + "location" : "https://github.com/muukii/TypedTextAttributes.git", + "state" : { + "revision" : "22aadd76b1cfe7a0702200990c9c5b8f4d33a912", + "version" : "1.5.0" + } + } + ], + "version" : 2 +} diff --git a/TextureBridging.xcodeproj/xcshareddata/xcschemes/TextureBridging.xcscheme b/Development/TextureBridging.xcodeproj/xcshareddata/xcschemes/TextureBridging.xcscheme similarity index 100% rename from TextureBridging.xcodeproj/xcshareddata/xcschemes/TextureBridging.xcscheme rename to Development/TextureBridging.xcodeproj/xcshareddata/xcschemes/TextureBridging.xcscheme diff --git a/TextureBridging.xcodeproj/xcshareddata/xcschemes/TextureBridgingDemo.xcscheme b/Development/TextureBridging.xcodeproj/xcshareddata/xcschemes/TextureBridgingDemo.xcscheme similarity index 100% rename from TextureBridging.xcodeproj/xcshareddata/xcschemes/TextureBridgingDemo.xcscheme rename to Development/TextureBridging.xcodeproj/xcshareddata/xcschemes/TextureBridgingDemo.xcscheme diff --git a/TextureBridgingDemo/AppDelegate.swift b/Development/TextureBridgingDemo/AppDelegate.swift similarity index 100% rename from TextureBridgingDemo/AppDelegate.swift rename to Development/TextureBridgingDemo/AppDelegate.swift diff --git a/TextureBridgingDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/Development/TextureBridgingDemo/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from TextureBridgingDemo/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Development/TextureBridgingDemo/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/TextureBridgingDemo/Assets.xcassets/Contents.json b/Development/TextureBridgingDemo/Assets.xcassets/Contents.json similarity index 100% rename from TextureBridgingDemo/Assets.xcassets/Contents.json rename to Development/TextureBridgingDemo/Assets.xcassets/Contents.json diff --git a/TextureBridgingDemo/Assets.xcassets/h.imageset/Contents.json b/Development/TextureBridgingDemo/Assets.xcassets/h.imageset/Contents.json similarity index 100% rename from TextureBridgingDemo/Assets.xcassets/h.imageset/Contents.json rename to Development/TextureBridgingDemo/Assets.xcassets/h.imageset/Contents.json diff --git a/TextureBridgingDemo/Assets.xcassets/h.imageset/Rectangle.pdf b/Development/TextureBridgingDemo/Assets.xcassets/h.imageset/Rectangle.pdf similarity index 100% rename from TextureBridgingDemo/Assets.xcassets/h.imageset/Rectangle.pdf rename to Development/TextureBridgingDemo/Assets.xcassets/h.imageset/Rectangle.pdf diff --git a/TextureBridgingDemo/Assets.xcassets/v.imageset/Contents.json b/Development/TextureBridgingDemo/Assets.xcassets/v.imageset/Contents.json similarity index 100% rename from TextureBridgingDemo/Assets.xcassets/v.imageset/Contents.json rename to Development/TextureBridgingDemo/Assets.xcassets/v.imageset/Contents.json diff --git a/TextureBridgingDemo/Assets.xcassets/v.imageset/Rectangle-1.pdf b/Development/TextureBridgingDemo/Assets.xcassets/v.imageset/Rectangle-1.pdf similarity index 100% rename from TextureBridgingDemo/Assets.xcassets/v.imageset/Rectangle-1.pdf rename to Development/TextureBridgingDemo/Assets.xcassets/v.imageset/Rectangle-1.pdf diff --git a/TextureBridgingDemo/Base.lproj/LaunchScreen.storyboard b/Development/TextureBridgingDemo/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from TextureBridgingDemo/Base.lproj/LaunchScreen.storyboard rename to Development/TextureBridgingDemo/Base.lproj/LaunchScreen.storyboard diff --git a/TextureBridgingDemo/Base.lproj/Main.storyboard b/Development/TextureBridgingDemo/Base.lproj/Main.storyboard similarity index 100% rename from TextureBridgingDemo/Base.lproj/Main.storyboard rename to Development/TextureBridgingDemo/Base.lproj/Main.storyboard diff --git a/TextureBridgingDemo/BridgeToAutoLayoutViewController.swift b/Development/TextureBridgingDemo/BridgeToAutoLayoutViewController.swift similarity index 83% rename from TextureBridgingDemo/BridgeToAutoLayoutViewController.swift rename to Development/TextureBridgingDemo/BridgeToAutoLayoutViewController.swift index 7035c35..0751163 100644 --- a/TextureBridgingDemo/BridgeToAutoLayoutViewController.swift +++ b/Development/TextureBridgingDemo/BridgeToAutoLayoutViewController.swift @@ -8,7 +8,7 @@ import UIKit -import EasyPeasy +import MondrianLayout import TextureBridging import AsyncDisplayKit import TypedTextAttributes @@ -26,19 +26,14 @@ final class BridgeToAutoLayoutViewController : UIViewController { view.backgroundColor = .white view.addSubview(changeTextButton) view.addSubview(nodeView) - - changeTextButton.easy.layout([ - CenterX(), - Bottom(32).to(view.safeAreaLayoutGuide, .bottom) - ]) - - nodeView.easy.layout([ - Top(32).to(view.safeAreaLayoutGuide, .top), - CenterX(), - Left(>=32), - Right(<=32), - Bottom(<=0).to(changeTextButton, .top), - ]) + + Mondrian.buildSubviews(on: view) { + VStackBlock { + nodeView + changeTextButton + } + .container(respectingSafeAreaEdges: .all) + } changeTextButton.addTarget(self, action: #selector(didTap), for: .touchUpInside) } diff --git a/TextureBridgingDemo/DemoImageViewController.swift b/Development/TextureBridgingDemo/DemoImageViewController.swift similarity index 84% rename from TextureBridgingDemo/DemoImageViewController.swift rename to Development/TextureBridgingDemo/DemoImageViewController.swift index 33478ac..7538e9b 100644 --- a/TextureBridgingDemo/DemoImageViewController.swift +++ b/Development/TextureBridgingDemo/DemoImageViewController.swift @@ -8,9 +8,9 @@ import UIKit +import MondrianLayout import AsyncDisplayKit import TextureBridging -import EasyPeasy final class DemoImageViewController: UIViewController { @@ -25,10 +25,14 @@ final class DemoImageViewController: UIViewController { view.addSubview(imageView) view.addSubview(button) - - imageView.easy.layout(Center()) - - button.easy.layout([CenterX(), Bottom(40)]) + + Mondrian.buildSubviews(on: view) { + VStackBlock { + imageView + button + } + .container(respectingSafeAreaEdges: .all) + } button.addTarget(self, action: #selector(tap), for: .touchUpInside) } diff --git a/Development/TextureBridgingDemo/DemoStackScrollViewController.swift b/Development/TextureBridgingDemo/DemoStackScrollViewController.swift new file mode 100644 index 0000000..c35e2dd --- /dev/null +++ b/Development/TextureBridgingDemo/DemoStackScrollViewController.swift @@ -0,0 +1,125 @@ +// +// DemoStackScrollViewController.swift +// TextureBridgingDemo +// +// Created by muukii on 2020/06/09. +// Copyright © 2020 muukii. All rights reserved. +// + +import Foundation +import MondrianLayout +import StackScrollView +import TextureSwiftSupport +import TextureBridging + +final class DemoStackScrollViewController: UIViewController { + + private let stackScrollView = StackScrollView() + + override func viewDidLoad() { + super.viewDidLoad() + + view.addSubview(stackScrollView) + + Mondrian.buildSubviews(on: view) { + ZStackBlock(alignment: .attach(.all)) { + stackScrollView + } + } + + stackScrollView.append(view: NodeView(node: Component())) + stackScrollView.append(view: NodeView(node: FlexWrapComponent())) + } +} + +extension DemoStackScrollViewController { + + final class Component: ASDisplayNode { + + private let textNode = ASTextNode() + + override init() { + super.init() + + automaticallyManagesSubnodes = true + + backgroundColor = .orange + + textNode.attributedText = NSAttributedString(string: """ +Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. +""") + } + + override func layoutSpecThatFits(_ constrainedSize: ASSizeRange) -> ASLayoutSpec { + LayoutSpec { + textNode + } + } + + } + + final class FlexWrapComponent: ASDisplayNode { + + private let nodes: [ASTextNode] + + override init() { + + let nodes = (0..<30).map { i -> ASTextNode in + let text = ASTextNode() + text.attributedText = NSAttributedString(string: "Hello") + return text + } + + self.nodes = nodes + + super.init() + + backgroundColor = .red + + automaticallyManagesSubnodes = true + + } + + override func layoutSpecThatFits(_ constrainedSize: ASSizeRange) -> ASLayoutSpec { + LayoutSpec { + HStackLayout(spacing: 0, justifyContent: .start, alignItems: .center, flexWrap: .wrap(lineSpacing: 10, alignContent: .start), isConcurrent: false) { + nodes + } + } + } + + } + + final class HorizontalNoWrapComponent: ASDisplayNode { + + private let nodes: [ASTextNode] + + override init() { + + let nodes = (0..<30).map { i -> ASTextNode in + let text = ASTextNode() + text.attributedText = NSAttributedString(string: "Hello") + return text + } + + self.nodes = nodes + + super.init() + + backgroundColor = .orange + + automaticallyManagesSubnodes = true + + } + + override func layoutSpecThatFits(_ constrainedSize: ASSizeRange) -> ASLayoutSpec { + LayoutSpec { + HStackLayout(spacing: 0, justifyContent: .start, alignItems: .center, flexWrap: .wrap(lineSpacing: 10, alignContent: .start), isConcurrent: false) { + nodes + } + } + } + + } + +} diff --git a/TextureBridgingDemo/Info.plist b/Development/TextureBridgingDemo/Info.plist similarity index 100% rename from TextureBridgingDemo/Info.plist rename to Development/TextureBridgingDemo/Info.plist diff --git a/TextureBridgingDemo/Lorem.swift b/Development/TextureBridgingDemo/Lorem.swift similarity index 100% rename from TextureBridgingDemo/Lorem.swift rename to Development/TextureBridgingDemo/Lorem.swift diff --git a/Package.resolved b/Package.resolved index a6b4c6b..0e7b705 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,57 +1,12 @@ { "pins" : [ - { - "identity" : "iglistkit", - "kind" : "remoteSourceControl", - "location" : "https://github.com/3a4oT/IGListKit", - "state" : { - "branch" : "spmNumber10", - "revision" : "979eca9b2da15e35af36f4613452dd6e07641969" - } - }, - { - "identity" : "libwebp-xcode", - "kind" : "remoteSourceControl", - "location" : "https://github.com/SDWebImage/libwebp-Xcode", - "state" : { - "revision" : "2b3b43faaef54d1b897482428428357b7f7cd08b", - "version" : "1.2.1" - } - }, - { - "identity" : "pincache", - "kind" : "remoteSourceControl", - "location" : "https://github.com/pinterest/PINCache.git", - "state" : { - "revision" : "875c654984fb52b47ca65ae70d24852b0003ccd9", - "version" : "3.0.3" - } - }, - { - "identity" : "pinoperation", - "kind" : "remoteSourceControl", - "location" : "https://github.com/pinterest/PINOperation.git", - "state" : { - "revision" : "44d8ca154a4e75a028a5548c31ff3a53b90cef15", - "version" : "1.2.1" - } - }, - { - "identity" : "pinremoteimage", - "kind" : "remoteSourceControl", - "location" : "https://github.com/pinterest/PINRemoteImage.git", - "state" : { - "branch" : "master", - "revision" : "18637e4414d77fbc95cd7d499179a9880e9a78d8" - } - }, { "identity" : "texture", "kind" : "remoteSourceControl", "location" : "https://github.com/FluidGroup/Texture.git", "state" : { - "branch" : "spm", - "revision" : "5d03875bcfb0d87f8057ebeb5f2f6e4527e18128" + "revision" : "68df47f0d26522da76b06f22e9a97e4d4ab58dad", + "version" : "3.0.2" } } ], diff --git a/Package.swift b/Package.swift index 9cebb86..1d40dd4 100644 --- a/Package.swift +++ b/Package.swift @@ -4,21 +4,20 @@ import PackageDescription let package = Package( name: "TextureBridging", platforms: [ - .iOS(.v11), + .iOS(.v13), ], products: [ .library(name: "TextureBridging", targets: ["TextureBridging"]), ], dependencies: [ - .package(url: "https://github.com/FluidGroup/Texture.git", branch: "spm"), + .package(url: "https://github.com/FluidGroup/Texture.git", from: "3.0.2"), ], targets: [ .target( - name: "TextureBridging", + name: "TextureBridging", dependencies: [ .product(name: "AsyncDisplayKit", package: "Texture"), - ], - path: "TextureBridging" + ] ), ], swiftLanguageVersions: [.v5] diff --git a/Podfile b/Podfile deleted file mode 100644 index ba26464..0000000 --- a/Podfile +++ /dev/null @@ -1,18 +0,0 @@ -# Uncomment the next line to define a global platform for your project -platform :ios, '10.0' - -target 'TextureBridging' do - use_frameworks! - - pod 'Texture/Core' - - target 'TextureBridgingDemo' do - use_frameworks! - pod 'EasyPeasy' - pod 'TypedTextAttributes' - pod 'StackScrollView' - pod 'TextureSwiftSupport' - pod 'Reveal-SDK' - end -end - diff --git a/Podfile.lock b/Podfile.lock deleted file mode 100644 index 8dfb6db..0000000 --- a/Podfile.lock +++ /dev/null @@ -1,50 +0,0 @@ -PODS: - - EasyPeasy (1.10.0) - - Reveal-SDK (28) - - StackScrollView (1.6.1) - - Texture/Core (3.0.0) - - TextureSwiftSupport (3.8.0): - - Texture/Core (>= 3) - - TextureSwiftSupport/Components (= 3.8.0) - - TextureSwiftSupport/Experiments (= 3.8.0) - - TextureSwiftSupport/Extensions (= 3.8.0) - - TextureSwiftSupport/LayoutSpecBuilders (= 3.8.0) - - TextureSwiftSupport/Components (3.8.0): - - Texture/Core (>= 3) - - TextureSwiftSupport/LayoutSpecBuilders - - TextureSwiftSupport/Experiments (3.8.0): - - Texture/Core (>= 3) - - TextureSwiftSupport/Extensions (3.8.0): - - Texture/Core (>= 3) - - TextureSwiftSupport/LayoutSpecBuilders (3.8.0): - - Texture/Core (>= 3) - - TypedTextAttributes (1.1.0) - -DEPENDENCIES: - - EasyPeasy - - Reveal-SDK - - StackScrollView - - Texture/Core - - TextureSwiftSupport - - TypedTextAttributes - -SPEC REPOS: - trunk: - - EasyPeasy - - Reveal-SDK - - StackScrollView - - Texture - - TextureSwiftSupport - - TypedTextAttributes - -SPEC CHECKSUMS: - EasyPeasy: b9b1bae024d21a7dfa9bad26d6826d88348cc6f1 - Reveal-SDK: 1a2a678648fc4d277bad71c86d15530424324288 - StackScrollView: 147b641af68be5e230d291b898218b9386cf5329 - Texture: 2f109e937850d94d1d07232041c9c7313ccddb81 - TextureSwiftSupport: 60449bfcf95cd5fc0c331f3f753810365172aa87 - TypedTextAttributes: fc3a5a8c4a7a28304446f8c5e8af146d11c2163a - -PODFILE CHECKSUM: dec60cd2be7cdaf4cee05f89f703dd009f3be229 - -COCOAPODS: 1.12.1 diff --git a/TextureBridging/Logger.swift b/Sources/TextureBridging/Logger.swift similarity index 100% rename from TextureBridging/Logger.swift rename to Sources/TextureBridging/Logger.swift diff --git a/TextureBridging/NodeView.swift b/Sources/TextureBridging/NodeView.swift similarity index 100% rename from TextureBridging/NodeView.swift rename to Sources/TextureBridging/NodeView.swift diff --git a/TextureBridging.podspec b/TextureBridging.podspec deleted file mode 100644 index 1a43fd0..0000000 --- a/TextureBridging.podspec +++ /dev/null @@ -1,25 +0,0 @@ -Pod::Spec.new do |s| - - s.name = "TextureBridging" - s.version = "3.1.0" - s.summary = "Allows bringing ASDisplayNode into the world of AutoLayout." - - s.description = <<-DESC - This library is a micro framework. Actuary, has just one source file. - NodeView allows to bring ASDisplayNode into the world of AutoLayout. - DESC - - s.homepage = "https://github.com/TextureCommunity/TextureBridging" - s.license = "MIT" - s.author = { "Muukii" => "muukii.app@gmail.com" } - s.social_media_url = "http://twitter.com/muukii_app" - s.ios.deployment_target = "10.0" - s.source = { :git => "https://github.com/TextureCommunity/TextureBridging.git", :tag => "#{s.version}" } - s.source_files = "TextureBridging/**/*.swift" - - s.frameworks = "UIKit", "AsyncDisplayKit" - s.requires_arc = true - s.dependency "Texture/Core", "~> 3" - - end - diff --git a/TextureBridging.xcworkspace/contents.xcworkspacedata b/TextureBridging.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 7ab20a4..0000000 --- a/TextureBridging.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/TextureBridging.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/TextureBridging.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/TextureBridging.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/TextureBridging/Info.plist b/TextureBridging/Info.plist deleted file mode 100644 index e1fe4cf..0000000 --- a/TextureBridging/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/TextureBridging/TextureBridging.h b/TextureBridging/TextureBridging.h deleted file mode 100644 index 1e58d67..0000000 --- a/TextureBridging/TextureBridging.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// TextureBridging.h -// TextureBridging -// -// Created by muukii on 2019/05/14. -// Copyright © 2019 muukii. All rights reserved. -// - -#import - -//! Project version number for TextureBridging. -FOUNDATION_EXPORT double TextureBridgingVersionNumber; - -//! Project version string for TextureBridging. -FOUNDATION_EXPORT const unsigned char TextureBridgingVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/TextureBridgingDemo/DemoStackScrollViewController.swift b/TextureBridgingDemo/DemoStackScrollViewController.swift deleted file mode 100644 index 86b271a..0000000 --- a/TextureBridgingDemo/DemoStackScrollViewController.swift +++ /dev/null @@ -1,212 +0,0 @@ -// -// DemoStackScrollViewController.swift -// TextureBridgingDemo -// -// Created by muukii on 2020/06/09. -// Copyright © 2020 muukii. All rights reserved. -// - -import Foundation -import EasyPeasy -import StackScrollView -import TextureSwiftSupport -import TextureBridging - -final class DemoStackScrollViewController: UIViewController { - - private let stackScrollView = StackScrollView() - - override func viewDidLoad() { - super.viewDidLoad() - - view.addSubview(stackScrollView) - stackScrollView.easy.layout(Edges()) - - stackScrollView.append(view: PaddingView.init(padding: .zero, bodyView: NodeView(node: Component()))) - stackScrollView.append(view: PaddingView.init(padding: .zero, bodyView: NodeView(node: FlexWrapComponent()))) - } -} - -public final class PaddingView: UIView { - // MARK: Public - public let body: Body - public convenience init(padding: UIEdgeInsets, bodyView: Body) { - self.init( - padding: ( - top: Constant(value: padding.top, relation: .equal, multiplier: 1), - left: Constant(value: padding.left, relation: .equal, multiplier: 1), - bottom: Constant(value: padding.bottom, relation: .equal, multiplier: 1), - right: Constant(value: padding.right, relation: .equal, multiplier: 1) - ), bodyView: bodyView - ) - } - public init(padding: (top: Constant, left: Constant, bottom: Constant, right: Constant), bodyView: Body) { - self.body = bodyView - super.init(frame: .zero) - self.addSubview(bodyView) - bodyView.easy.layout( - Center().with(.low) - ) - let paddingTop = padding.top - bodyView.easy.layout( - Top(paddingTop).with(paddingTop.relation == .equal ? .required : .high) - ) - let paddingLeft = padding.left - bodyView.easy.layout( - Left(paddingLeft).with(paddingLeft.relation == .equal ? .required : .high) - ) - let paddingBottom = padding.bottom - bodyView.easy.layout( - Bottom(paddingBottom).with(paddingBottom.relation == .equal ? .required : .high) - ) - let paddingRight = padding.right - bodyView.easy.layout( - Right(paddingRight).with(paddingRight.relation == .equal ? .required : .high) - ) - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} - -public class PaddingView2: UIView { - - public let body: Body - - /// - /// - /// - Parameters: - /// - padding: if you no needs padding, use .infinity. - /// - bodyView: Embedded view - public init(padding: UIEdgeInsets, bodyView: Body) { - - self.body = bodyView - - super.init(frame: .zero) - - bodyView.translatesAutoresizingMaskIntoConstraints = false - addSubview(bodyView) - - if padding.top.isFinite { - bodyView.topAnchor.constraint(equalTo: topAnchor, constant: padding.top).isActive = true - } else { - bodyView.topAnchor.constraint(greaterThanOrEqualTo: topAnchor).isActive = true - } - - if padding.right.isFinite { - bodyView.rightAnchor.constraint(equalTo: rightAnchor, constant: -padding.right).isActive = true - } else { - bodyView.rightAnchor.constraint(lessThanOrEqualTo: rightAnchor).isActive = true - } - - if padding.left.isFinite { - bodyView.leftAnchor.constraint(equalTo: leftAnchor, constant: padding.left).isActive = true - } else { - bodyView.leftAnchor.constraint(greaterThanOrEqualTo: leftAnchor).isActive = true - } - - if padding.bottom.isFinite { - bodyView.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -padding.bottom).isActive = true - } else { - bodyView.bottomAnchor.constraint(lessThanOrEqualTo: bottomAnchor).isActive = true - } - - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} - -extension DemoStackScrollViewController { - - final class Component: ASDisplayNode { - - private let textNode = ASTextNode() - - override init() { - super.init() - - automaticallyManagesSubnodes = true - - backgroundColor = .orange - - textNode.attributedText = NSAttributedString(string: """ -Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. -""") - } - - override func layoutSpecThatFits(_ constrainedSize: ASSizeRange) -> ASLayoutSpec { - LayoutSpec { - textNode - } - } - - } - - final class FlexWrapComponent: ASDisplayNode { - - private let nodes: [ASTextNode] - - override init() { - - let nodes = (0..<30).map { i -> ASTextNode in - let text = ASTextNode() - text.attributedText = NSAttributedString(string: "Hello") - return text - } - - self.nodes = nodes - - super.init() - - backgroundColor = .red - - automaticallyManagesSubnodes = true - - } - - override func layoutSpecThatFits(_ constrainedSize: ASSizeRange) -> ASLayoutSpec { - LayoutSpec { - HStackLayout(spacing: 0, justifyContent: .start, alignItems: .center, flexWrap: .wrap(lineSpacing: 10, alignContent: .start), isConcurrent: false) { - nodes - } - } - } - - } - - final class HorizontalNoWrapComponent: ASDisplayNode { - - private let nodes: [ASTextNode] - - override init() { - - let nodes = (0..<30).map { i -> ASTextNode in - let text = ASTextNode() - text.attributedText = NSAttributedString(string: "Hello") - return text - } - - self.nodes = nodes - - super.init() - - backgroundColor = .orange - - automaticallyManagesSubnodes = true - - } - - override func layoutSpecThatFits(_ constrainedSize: ASSizeRange) -> ASLayoutSpec { - LayoutSpec { - HStackLayout(spacing: 0, justifyContent: .start, alignItems: .center, flexWrap: .wrap(lineSpacing: 10, alignContent: .start), isConcurrent: false) { - nodes - } - } - } - - } - -}