Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
devMinseok committed Jul 15, 2024
1 parent 2a21820 commit 7c21412
Show file tree
Hide file tree
Showing 174 changed files with 3,636 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[tools]
tuist = "4.18.0"
6 changes: 6 additions & 0 deletions DependencyGraph/graphMaker.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
tuist graph PomoNyang -d -t -f dot
sed -i '' '/Example/d; /ThirdParty_/d' graph.dot
dot -Tpng graph.dot -o DependencyGraph/pomonyang_graph.png
rm graph.dot

open DependencyGraph/pomonyang_graph.png
42 changes: 42 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
### Tuist ###

.PHONY: install
install:
carthage update --platform iOS --use-xcframeworks --use-netrc --cache-builds --verbose --project-directory "XCFramework/"
tuist install

.PHONY: generate
generate:
TUIST_ROOT_DIR=${PWD} TUIST_BUILD_CONFIG=${config} tuist generate ${target}

.PHONY: cache
cache:
TUIST_ROOT_DIR=${PWD} tuist cache ${target} --external-only

.PHONY: module
module:
tuist scaffold Framework --layer ${layer} --name ${name}

.PHONY: cleanj
clean:
tuist clean
rm -rf XCFramework/Carthage
rm -rf *.xcworkspace
find Projects -name "*.xcodeproj" -exec rm -rf {} \;


### SUGAR ###

.PHONY: pomonyang
pomonyang:
make generate config=${config} target="PomoNyang"

### Script ###

.PHONY: graph
graph:
sh DependencyGraph/graphMaker.sh

.PHONY: template
template:
sh file_template/install_template.sh
167 changes: 167 additions & 0 deletions Package.resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
{
"pins" : [
{
"identity" : "alamofire",
"kind" : "remoteSourceControl",
"location" : "https://github.com/Alamofire/Alamofire.git",
"state" : {
"revision" : "f455c2975872ccd2d9c81594c658af65716e9b9a",
"version" : "5.9.1"
}
},
{
"identity" : "combine-schedulers",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/combine-schedulers",
"state" : {
"revision" : "9dc9cbe4bc45c65164fa653a563d8d8db61b09bb",
"version" : "1.0.0"
}
},
{
"identity" : "kakao-ios-sdk",
"kind" : "remoteSourceControl",
"location" : "https://github.com/kakao/kakao-ios-sdk.git",
"state" : {
"revision" : "b7a78bac4cb015fc3b1de34255b96421091fcf42",
"version" : "2.22.0"
}
},
{
"identity" : "moya",
"kind" : "remoteSourceControl",
"location" : "https://github.com/Moya/Moya.git",
"state" : {
"revision" : "c263811c1f3dbf002be9bd83107f7cdc38992b26",
"version" : "15.0.3"
}
},
{
"identity" : "reactiveswift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/ReactiveCocoa/ReactiveSwift.git",
"state" : {
"revision" : "c43bae3dac73fdd3cb906bd5a1914686ca71ed3c",
"version" : "6.7.0"
}
},
{
"identity" : "rxswift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/ReactiveX/RxSwift.git",
"state" : {
"revision" : "b06a8c8596e4c3e8e7788e08e720e3248563ce6a",
"version" : "6.7.1"
}
},
{
"identity" : "swift-case-paths",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/swift-case-paths",
"state" : {
"revision" : "b9ad2661b6e8fb411fef6a441c9955c3413afac0",
"version" : "1.5.0"
}
},
{
"identity" : "swift-clocks",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/swift-clocks",
"state" : {
"revision" : "a8421d68068d8f45fbceb418fbf22c5dad4afd33",
"version" : "1.0.2"
}
},
{
"identity" : "swift-collections",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-collections",
"state" : {
"revision" : "3d2dc41a01f9e49d84f0a3925fb858bed64f702d",
"version" : "1.1.2"
}
},
{
"identity" : "swift-composable-architecture",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/swift-composable-architecture.git",
"state" : {
"revision" : "1f952d8c69ace5e53bb69a218e6ed00e03a4695c",
"version" : "1.11.2"
}
},
{
"identity" : "swift-concurrency-extras",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/swift-concurrency-extras",
"state" : {
"revision" : "bb5059bde9022d69ac516803f4f227d8ac967f71",
"version" : "1.1.0"
}
},
{
"identity" : "swift-custom-dump",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/swift-custom-dump",
"state" : {
"revision" : "f01efb26f3a192a0e88dcdb7c3c391ec2fc25d9c",
"version" : "1.3.0"
}
},
{
"identity" : "swift-dependencies",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/swift-dependencies",
"state" : {
"revision" : "9085501f168b08f5205b68f1b8a0d56bb52b8c1a",
"version" : "1.3.2"
}
},
{
"identity" : "swift-identified-collections",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/swift-identified-collections",
"state" : {
"revision" : "2f5ab6e091dd032b63dacbda052405756010dc3b",
"version" : "1.1.0"
}
},
{
"identity" : "swift-perception",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/swift-perception",
"state" : {
"revision" : "68901eac31c13c7d1ffef8e1bd8c3870ca2eaa95",
"version" : "1.3.2"
}
},
{
"identity" : "swift-syntax",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-syntax",
"state" : {
"revision" : "4c6cc0a3b9e8f14b3ae2307c5ccae4de6167ac2c",
"version" : "600.0.0-prerelease-2024-06-12"
}
},
{
"identity" : "swiftui-navigation",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/swiftui-navigation",
"state" : {
"revision" : "b7c9a79f6f6b1fefb87d3e5a83a9c2fe7cdc9720",
"version" : "1.5.0"
}
},
{
"identity" : "xctest-dynamic-overlay",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/xctest-dynamic-overlay",
"state" : {
"revision" : "6f30bdba373bbd7fbfe241dddd732651f2fbd1e2",
"version" : "1.1.2"
}
}
],
"version" : 2
}
31 changes: 31 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// swift-tools-version: 5.9
import PackageDescription

#if TUIST
import struct ProjectDescription.PackageSettings
import ProjectDescriptionHelpers

let packageSettings: PackageSettings = .init(
productTypes: [
"Moya": .framework,
"KakaoSDKCommon": .framework,
"KakaoSDKAuth": .framework,
// "KakaoSDKUser": .framework,
// "KakaoSDKTalk": .framework,
// "KakaoSDKShare": .framework,
// "KakaoSDKNavi": .framework,
// "KakaoSDKTemplate": .framework,
],
baseSettings: .packageSettings
)
#endif

let package: Package = .init(
name: "PomoNyang",
platforms: [.iOS(.v17)],
dependencies: [
.package(url: "https://github.com/pointfreeco/swift-composable-architecture.git", exact: "1.11.2"),
.package(url: "https://github.com/kakao/kakao-ios-sdk.git", exact: "2.22.0"),
.package(url: "https://github.com/Moya/Moya.git", exact: "15.0.3")
]
)
10 changes: 10 additions & 0 deletions Plugins/DependencyPlugin/Plugin.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//
// Plugin.swift
// DependencyPlugin
//
// Created by MinseokKang on 2024/07/15.
//

import ProjectDescription

let dependencyPlugin = Plugin(name: "DependencyPlugin")
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
//
// DEP+SPMTarget.swift
// DependencyPlugin
//
// Created by MinseokKang on 2024/07/15.
//

import ProjectDescription

extension DEP {
/// SwiftPackageManager for Target
public enum SPMTarget {}
}

public extension DEP.SPMTarget {
// MARK: - Architecture
static let ComposableArchitecture: TargetDependency = .external(name: "ComposableArchitecture")

// MARK: - KakaoSDK
static let KakaoSDKCommon: TargetDependency = .external(name: "KakaoSDKCommon")
static let KakaoSDKAuth: TargetDependency = .external(name: "KakaoSDKAuth")
static let KakaoSDKUser: TargetDependency = .external(name: "KakaoSDKUser")
static let KakaoSDKTalk: TargetDependency = .external(name: "KakaoSDKTalk")
static let KakaoSDKShare: TargetDependency = .external(name: "KakaoSDKShare")
static let KakaoSDKNavi: TargetDependency = .external(name: "KakaoSDKNavi")
static let KakaoSDKTemplate: TargetDependency = .external(name: "KakaoSDKTemplate")
static let KakaoAdSDK: TargetDependency = .external(name: "KakaoAdSDK")

// MARK: - Moya
static let Moya: TargetDependency = .external(name: "Moya")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
//
// DEP+XCFramework.swift
// DependencyPlugin
//
// Created by MinseokKang on 2024/07/15.
//

import ProjectDescription

extension DEP {
/// XCFramework for target
public enum XCFramework {}
}

public extension DEP.XCFramework {
static let RealmSwift: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/RealmSwift.xcframework"))
static let Realm: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/Realm.xcframework"))

static let FirebaseAnalytics: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseAnalytics.xcframework"))
static let FirebaseCrashlytics: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseCrashlytics.xcframework"))
static let FirebaseInAppMessaging: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseInAppMessaging.xcframework"))
static let FirebaseMessaging: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseMessaging.xcframework"))
static let FirebaseCore: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseCore.xcframework"))
static let FirebaseInstallations: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseInstallations.xcframework"))
static let FirebaseCoreInternal: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseCoreInternal.xcframework"))
static let GoogleAppMeasurement: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/GoogleAppMeasurement.xcframework"))
static let GoogleDataTransport: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/GoogleDataTransport.xcframework"))
static let GoogleUtilities: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/GoogleUtilities.xcframework"))
static let nanopb: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/nanopb.xcframework"))
static let FBLPromises: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FBLPromises.xcframework"))
static let FirebaseABTesting: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseABTesting.xcframework"))
static let FirebasePerformance: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebasePerformance.xcframework"))
static let FirebaseSessions: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseSessions.xcframework"))
static let FirebaseRemoteConfig: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseRemoteConfig.xcframework"))
static let FirebaseRemoteConfigInterop: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseRemoteConfigInterop.xcframework"))
static let Promises: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/Promises.xcframework"))
static let FirebaseCoreExtension: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseCoreExtension.xcframework"))
static let FirebaseSharedSwift: TargetDependency = .xcframework(path: .relativeToRoot("XCFramework/Carthage/Build/FirebaseSharedSwift.xcframework"))
}
10 changes: 10 additions & 0 deletions Plugins/DependencyPlugin/ProjectDescriptionHelpers/DEP.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//
// DEP.swift
// DependencyPlugin
//
// Created by MinseokKang on 2024/07/15.
//

import ProjectDescription

public typealias DEP = TargetDependency
Loading

0 comments on commit 7c21412

Please sign in to comment.