Skip to content
This repository has been archived by the owner on Apr 4, 2024. It is now read-only.

Commit

Permalink
setting :: project setting 엎기
Browse files Browse the repository at this point in the history
  • Loading branch information
HongSJae committed Mar 22, 2023
1 parent 196b3ab commit 0ddd216
Show file tree
Hide file tree
Showing 98 changed files with 1,511 additions and 270 deletions.
Binary file modified .DS_Store
Binary file not shown.
38 changes: 25 additions & 13 deletions JOBIS-DSM-iOS.xcworkspace/contents.xcworkspacedata

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Large diffs are not rendered by default.

Binary file not shown.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<key>isShown</key>
<true/>
<key>orderHint</key>
<integer>3</integer>
<integer>10</integer>
</dict>
</dict>
</dict>
Expand Down
17 changes: 15 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ generate:
tuist fetch
tuist generate

ci_generate:
tuist fetch
TUIST_CI=1 tuist generate

clean:
rm -rf **/*.xcodeproj
rm -rf *.xcworkspace
Expand All @@ -11,5 +15,14 @@ reset:
rm -rf **/*.xcodeproj
rm -rf *.xcworkspace

feature:
python3 Scripts/generate_new_feature.py
module:
swift Scripts/GenerateModule.swift

dependency:
swift Scripts/NewDependency.swift

init:
swift Scripts/InitEnvironment.swift

signing:
swift Scripts/CodeSigning.swift
Binary file modified Plugin/.DS_Store
Binary file not shown.
3 changes: 3 additions & 0 deletions Plugin/ConfigurationPlugin/Plugin.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import ProjectDescription

let configurationPlugin = Plugin(name: "ConfigurationPlugin")
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ import ProjectDescription

public extension ConfigurationName {
static var dev: ConfigurationName { configuration(ProjectDeployTarget.dev.rawValue) }
static var stage: ConfigurationName { configuration(ProjectDeployTarget.stage.rawValue) }
static var prod: ConfigurationName { configuration(ProjectDeployTarget.prod.rawValue) }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import ProjectDescription

public extension ProjectDescription.Path {
static func relativeToXCConfig(type: ProjectDeployTarget, name: String) -> Self {
return .relativeToRoot("XCConfig/\(name)/\(type.rawValue).xcconfig")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import ProjectDescription

public enum ProjectDeployTarget: String {
case dev = "DEV"
case stage = "STAGE"
case prod = "PROD"

public var configurationName: ConfigurationName {
Expand Down
3 changes: 3 additions & 0 deletions Plugin/DependencyPlugin/Plugin.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import ProjectDescription

let dependencyPlugin = Plugin(name: "DependencyPlugin")
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import ProjectDescription

public extension TargetDependency {
struct SPM {}
}

public extension TargetDependency.SPM {
static let Quick = TargetDependency.external(name: "Quick")
static let Nimble = TargetDependency.external(name: "Nimble")
static let Needle = TargetDependency.external(name: "NeedleFoundation")
static let Moya = TargetDependency.external(name: "Moya")
static let CombineMoya = TargetDependency.external(name: "CombineMoya")
static let Kingfisher = TargetDependency.external(name: "Kingfisher")
static let Swinject = TargetDependency.external(name: "Swinject")
}

public extension Package {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import ProjectDescription

// swiftlint: disable all
public extension TargetDependency {
struct Feature {}
struct Domain {}
struct Core {}
struct Shared {}
}

public extension TargetDependency.Feature {
static let BaseFeature = TargetDependency.project(
target: ModulePaths.Feature.BaseFeature.targetName(type: .sources),
path: .relativeToFeature(ModulePaths.Feature.BaseFeature.rawValue)
)
static let MainTabFeature = TargetDependency.project(
target: ModulePaths.Feature.MainTabFeature.targetName(type: .sources),
path: .relativeToFeature(ModulePaths.Feature.MainTabFeature.rawValue)
)
static let SplashFeature = TargetDependency.project(
target: ModulePaths.Feature.SplashFeature.targetName(type: .sources),
path: .relativeToFeature(ModulePaths.Feature.SplashFeature.rawValue)
)
static let RootFeature = TargetDependency.project(
target: ModulePaths.Feature.RootFeature.targetName(type: .sources),
path: .relativeToFeature(ModulePaths.Feature.RootFeature.rawValue)
)
}

public extension TargetDependency.Domain {
static let BaseDomain = TargetDependency.project(
target: ModulePaths.Domain.BaseDomain.targetName(type: .sources),
path: .relativeToDomain(ModulePaths.Domain.BaseDomain.rawValue)
)
}

public extension TargetDependency.Core {
static let DesignSystem = TargetDependency.project(
target: ModulePaths.Core.DesignSystem.targetName(type: .sources),
path: .relativeToCore(ModulePaths.Core.DesignSystem.rawValue)
)
}

public extension TargetDependency.Shared {
static let UtilityModule = TargetDependency.project(
target: ModulePaths.Shared.UtilityModule.targetName(type: .sources),
path: .relativeToShared(ModulePaths.Shared.UtilityModule.rawValue)
)
static let GlobalThirdPartyLibrary = TargetDependency.project(
target: ModulePaths.Shared.GlobalThirdPartyLibrary.targetName(type: .sources),
path: .relativeToShared(ModulePaths.Shared.GlobalThirdPartyLibrary.rawValue)
)
static let ErrorModule = TargetDependency.project(
target: ModulePaths.Shared.ErrorModule.targetName(type: .sources),
path: .relativeToShared(ModulePaths.Shared.ErrorModule.rawValue)
)
static let KeychainModule = TargetDependency.project(
target: ModulePaths.Shared.KeychainModule.targetName(type: .sources),
path: .relativeToShared(ModulePaths.Shared.KeychainModule.rawValue)
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import Foundation

// swiftlint: disable all
public enum ModulePaths {
case feature(Feature)
case domain(Domain)
case core(Core)
case shared(Shared)
}

public extension ModulePaths {
enum Feature: String {
case BaseFeature
case MainTabFeature
case RootFeature
case SplashFeature

func targetName(type: MicroTargetType) -> String {
"\(self.rawValue)\(type.rawValue)"
}
}
}

public extension ModulePaths {
enum Domain: String {
case BaseDomain
case UserDomain

func targetName(type: MicroTargetType) -> String {
"\(self.rawValue)\(type.rawValue)"
}
}
}

public extension ModulePaths {
enum Core: String {
case DesignSystem

func targetName(type: MicroTargetType) -> String {
"\(self.rawValue)\(type.rawValue)"
}
}
}

public extension ModulePaths {
enum Shared: String {
case UtilityModule
case GlobalThirdPartyLibrary
case ErrorModule
case KeychainModule

func targetName(type: MicroTargetType) -> String {
"\(self.rawValue)\(type.rawValue)"
}
}
}

public enum MicroTargetType: String {
case interface = "Interface"
case sources = ""
case testing = "Testing"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import ProjectDescription

public extension ProjectDescription.Path {
static func relativeToSections(_ path: String) -> Self {
return .relativeToRoot("Projects/\(path)")
}
static func relativeToFeature(_ path: String) -> Self {
return .relativeToRoot("Projects/Feature/\(path)")
}
static func relativeToDomain(_ path: String) -> Self {
return .relativeToRoot("Projects/Domain/\(path)")
}
static func relativeToCore(_ path: String) -> Self {
return .relativeToRoot("Projects/Core/\(path)")
}
static func relativeToShared(_ path: String) -> Self {
return .relativeToRoot("Projects/Shared/\(path)")
}
static var app: Self {
return .relativeToRoot("Projects/App")
}
}

public extension TargetDependency {
static func feature(name: String) -> Self {
return .project(target: name, path: .relativeToFeature(name))
}
static func domain(name: String) -> Self {
return .project(target: name, path: .relativeToDomain(name))
}
static func core(name: String) -> Self {
return .project(target: name, path: .relativeToCore(name))
}
static func shared(name: String) -> Self {
return .project(target: name, path: .relativeToShared(name))
}
}
3 changes: 3 additions & 0 deletions Plugin/EnvironmentPlugin/Plugin.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import ProjectDescription

let environmentPlugin = Plugin(name: "EnvironmentPlugin")
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import ProjectDescription

public struct ProjectEnvironment {
public let name: String
public let organizationName: String
public let deploymentTarget: DeploymentTarget
public let platform: Platform
public let baseSetting: SettingsDictionary
}

public let env = ProjectEnvironment(
name: "JOBIS-DSM-iOS",
organizationName: "Team-Return",
deploymentTarget: .iOS(targetVersion: "16.0", devices: [.iphone, .ipad]),
platform: .iOS,
baseSetting: [:]
)
3 changes: 0 additions & 3 deletions Plugin/UtilityPlugin/Plugin.swift

This file was deleted.

This file was deleted.

Loading

0 comments on commit 0ddd216

Please sign in to comment.