Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 12 additions & 9 deletions .github/workflows/pull_request_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,21 @@ jobs:

- name: Get swift version
run: swift --version

- name: Install Tuist
run: curl -Ls https://install.tuist.io|bash
- name: Mise
uses: jdx/mise-action@v2

- name: Install Tuist
run: mise install tuist@4.33.0

- name: Tuist version
run: mise use -g tuist@4.33.0

- name: Setup Project
run: make init

- name: Install SwiftLint
run: brew install swiftlint

- name: Tuist Clean
run: tuist clean

- name: Tuist Fetch
run: tuist fetch

- name: Tuist Build Test
run: tuist build App
26 changes: 13 additions & 13 deletions .github/workflows/upload_testflight.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,28 +33,28 @@ jobs:
- name: Setup Xcode version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "15.3"
xcode-version: "16.2"

- name: Setup Swift Version
uses: swift-actions/setup-swift@v2
with:
swift-version: "5.10"
swift-version: "6.0"

- name: Mise
uses: jdx/mise-action@v2

- name: Install Tuist
run: curl -Ls https://install.tuist.io|bash

run: mise install tuist@4.33.0

- name: Tuist version
run: mise use -g tuist@4.33.0

- name: Setup Project
run: make init

- name: Install Fastlane
run: brew install fastlane

- name: Tuist clean
run: tuist clean

- name: Tuist fetch
run: tuist fetch

- name: Tuist generate
run: tuist generate

- name: Fastlane Upload Testflight
run: fastlane tf_remote
env:
Expand Down
3 changes: 2 additions & 1 deletion .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
excluded: # 린트 과정에서 무시할 파일 경로. `included`보다 우선순위 높음
- Projects/App/Sources/AppDelegate.swift
- Projects/App/Sources/AppDelegate+Register.swift
- Projects/App/Sources/SceneDelegate.swift
- Projects/App/Tests/**
- Projects/Core/Sources/Extension/String+.swift
Expand Down Expand Up @@ -29,7 +30,7 @@ file_length:
warning: 1000
error: 2000
line_length:
warning: 80
warning: 90
error: 400
disabled_rules: # 제외하고 싶은 룰
- trailing_whitespace
Expand Down
1 change: 0 additions & 1 deletion .tuist-version

This file was deleted.

42 changes: 28 additions & 14 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
open_plist:
open -a Xcode Plugins/EnvironmentPlugin/ProjectDescriptionHelpers/InfoPlist.swift
init: fetch gen

fetch:
tuist clean
tuist install
gen:
tuist generate --no-open

open_config:
open -a Xcode Plugins/EnvironmentPlugin/ProjectDescriptionHelpers/XCConfig.swift
sign:
@GIT_TOKEN=$$(git config user.password || git config --global user.password); \
if [ -z "$$GIT_TOKEN" ]; then \
echo "❌ Git token not found."; \
exit 1; \
fi; \
$(MAKE) download-privates token=$$GIT_TOKEN && \
fastlane sync

clean_xcode:
rm -rf ~/Library/Developer/Xcode/DerivedData/*

clean:
rm -rf **/**/**/*.xcodeproj
rm -rf **/**/*.xcodeproj
Expand All @@ -17,16 +25,24 @@ clean:
rm -rf **/Derived/
rm -rf Derived/

clean_all:
make clean
make clean_xcode
update_tuist:
sh ./Scripts/update_tuist.sh

open_plist:
open -a Xcode Plugins/EnvironmentPlugin/ProjectDescriptionHelpers/InfoPlist.swift

open_config:
open -a Xcode Plugins/EnvironmentPlugin/ProjectDescriptionHelpers/XCConfig.swift

clean_xcode_cache:
rm -rf ~/Library/Developer/Xcode/DerivedData/*

BASE_URL = https://raw.githubusercontent.com/Pepsi-Club/WhereMyBus-ignored/main

define download_file
@echo "Downloading $(3) to $(1) using token: $(2)"
@echo "📥 Downloading $(3) to $(1)"
mkdir -p $(1)
curl -H "Authorization: token $(2)" -o $(1)/$(3) $(BASE_URL)/$(3)
curl -sS -H "Authorization: token $(2)" -o $(1)/$(3) $(BASE_URL)/$(3)
endef

.PHONY: download-privates
Expand All @@ -48,5 +64,3 @@ download-env:
download-googleinfo:
$(call download_file, Projects/App/Resources, $(token),GoogleService-Info.plist)
$(call download_file, Projects/App/Resources, $(token),GoogleService-Info-debugging.plist)


11 changes: 0 additions & 11 deletions Plugins/DependencyPlugin/Plugin.swift

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

2 changes: 1 addition & 1 deletion Plugins/EnvironmentPlugin/Plugin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
// Copyright © 2023 https://github.com/gnksbm/Clone_AppStore. All rights reserved.
//

import ProjectDescription
@preconcurrency import ProjectDescription

let EnvironmentPlugin = Plugin(name: "EnvironmentPlugin")
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
//
// UIKitInfoPlist.swift
// EnvironmentPlugin
//
// Created by gnksbm on 4/11/25.
//

import Foundation

public struct UIKitInfoPlist: InfoPlistBuildable {
public var dictionary: [String : ProjectDescription.Plist.Value] {
[
"UILaunchStoryboardName": "LaunchScreen.storyboard",
"UIApplicationSceneManifest": [
"UIApplicationSupportsMultipleScenes": false,
"UISceneConfigurations": [
"UIWindowSceneSessionRoleApplication": [
[
"UISceneConfigurationName": "Default Configuration",
"UISceneDelegateClassName": "$(PRODUCT_MODULE_NAME).SceneDelegate"
],
]
]
],
"UISupportedInterfaceOrientations": ["UIInterfaceOrientationPortrait"]
]
}

public init() { }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
//
// InfoPlistBuildable.swift
// EnvironmentPlugin
//
// Created by gnksbm on 4/11/25.
//

import ProjectDescription

public protocol InfoPlistBuildable {
var dictionary: [String: Plist.Value] { get }
}

public extension InfoPlistBuildable {
func buildInfoPlist() -> InfoPlist {
.dictionary(dictionary)
}
}

extension Array: InfoPlistBuildable where Element == any InfoPlistBuildable {
public var dictionary: [String : Plist.Value] {
reduce([String : Plist.Value]()) { partialResult, next in
partialResult.merging(next.dictionary) { _, new in new }
}
}
}
Loading