Skip to content

Commit

Permalink
Add Swiftlint and swiftformat build phases to CouchTracker target.
Browse files Browse the repository at this point in the history
  • Loading branch information
pietrocaselani committed May 19, 2019
1 parent a8c58a4 commit 1a1d8df
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 22 deletions.
2 changes: 2 additions & 0 deletions .swiftformat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
--indent 2
--commas inline
2 changes: 2 additions & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ excluded:
- TraktSwiftTests
- TraktSwiftTestable
- TMDBSwiftTests
- TMDBSwiftTestable
- TVDBSwiftTests
- CouchTrackerPlayground.playground
- Project.swift

opt_in_rules:
- force_unwrapping
Expand Down
51 changes: 30 additions & 21 deletions Project.swift
Original file line number Diff line number Diff line change
Expand Up @@ -30,31 +30,39 @@ enum CouchTracker {
infoPlist: "CouchTracker/Info.plist",
sources: ["CouchTracker/**"],
resources: ["CouchTracker/Resources/**/*.{xcassets,png,strings,json,storyboard}"],
actions: buildPhases(),
dependencies: [
.target(name: "CouchTrackerApp"),
.target(name: "CouchTrackerPersistence"),
.target(name: "CouchTrackerDebug"),
.target(name: "CouchTrackerCore-iOS"),
.target(name: "TMDBSwift-iOS"),
.target(name: "TVDBSwift-iOS"),
.target(name: "TraktSwift-iOS"),
.target(name: "TraktSwift-iOS")
],
settings: settings())
}

private static func settings() -> Settings {
let debug = [
"PROVISIONING_PROFILE_SPECIFIER": "match Development io.github.pietrocaselani.couchtracker",
"OTHER_SWIFT_FLAGS": "$(inherited) -D COCOAPODS -D DEBUG -Xfrontend -warn-long-expression-type-checking=100 -Xfrontend -warn-long-function-bodies=100",
"OTHER_SWIFT_FLAGS": "$(inherited) -D COCOAPODS -D DEBUG -Xfrontend -warn-long-expression-type-checking=100 -Xfrontend -warn-long-function-bodies=100"
] + iOSBaseSettings() + debugCodeSigning()

let release = [
"PROVISIONING_PROFILE_SPECIFIER": "match AppStore io.github.pietrocaselani.couchtracker",
"OTHER_SWIFT_FLAGS": "$(inherited) -D COCOAPODS",
"OTHER_SWIFT_FLAGS": "$(inherited) -D COCOAPODS"
] + iOSBaseSettings() + releaseCodeSigning()

return Settings(debug: debug.asConfig(), release: release.asConfig())
}

private static func buildPhases() -> [TargetAction] {
return [
TargetAction.post(path: "build_phases/swiftlint", arguments: [], name: "Swiftlint"),
TargetAction.post(path: "build_phases/swiftformat", arguments: [], name: "Swiftformat")
]
}
}

enum CouchTrackerApp {
Expand All @@ -75,7 +83,7 @@ enum CouchTrackerApp {
.target(name: "CouchTrackerCore-iOS"),
.target(name: "TMDBSwift-iOS"),
.target(name: "TVDBSwift-iOS"),
.target(name: "TraktSwift-iOS"),
.target(name: "TraktSwift-iOS")
],
settings: settings())
}
Expand All @@ -100,7 +108,7 @@ enum CouchTrackerAppTestable {
headers: Headers(public: "CouchTrackerAppTestable/Headers/Public/CouchTrackerAppTestable.h"),
dependencies: [
.target(name: CouchTrackerCoreiOS.name),
.target(name: CouchTrackerApp.name),
.target(name: CouchTrackerApp.name)
],
settings: settings())
}
Expand Down Expand Up @@ -145,7 +153,7 @@ enum CouchTrackerDebug {
sources: ["CouchTrackerDebug/**"],
headers: Headers(public: "CouchTrackerDebug/Headers/Public/CouchTrackerDebug.h"),
dependencies: [
.target(name: CouchTrackerCoreiOS.name),
.target(name: CouchTrackerCoreiOS.name)
],
settings: settings())
}
Expand All @@ -172,7 +180,7 @@ enum CouchTrackerCoreiOS {
dependencies: [
.target(name: TMDBSwiftiOS.name),
.target(name: TVDBSwiftiOS.name),
.target(name: TraktSwiftiOS.name),
.target(name: TraktSwiftiOS.name)
],
settings: settings())
}
Expand Down Expand Up @@ -264,7 +272,7 @@ enum CouchTrackerCore {
dependencies: [
.target(name: TMDBSwift.name),
.target(name: TVDBSwift.name),
.target(name: TraktSwift.name),
.target(name: TraktSwift.name)
],
settings: settings())
}
Expand Down Expand Up @@ -306,7 +314,7 @@ enum TraktSwiftTestable {
resources: ["TraktSwiftTestable/Resources/**/*.{xcassets,png,strings,json}"],
headers: Headers(public: "TraktSwiftTestable/Headers/Public/TraktSwiftTestable.h"),
dependencies: [
.target(name: TraktSwift.name),
.target(name: TraktSwift.name)
],
settings: settings())
}
Expand Down Expand Up @@ -348,7 +356,7 @@ enum TMDBSwiftTestable {
resources: ["TMDBSwiftTestable/Resources/**/*.{xcassets,png,strings,json}"],
headers: Headers(public: "TMDBSwiftTestable/Headers/Public/TMDBSwiftTestable.h"),
dependencies: [
.target(name: TMDBSwift.name),
.target(name: TMDBSwift.name)
],
settings: settings())
}
Expand Down Expand Up @@ -411,7 +419,7 @@ enum TraktSwiftTests {
sources: ["TraktSwiftTests/**"],
dependencies: [
.target(name: TraktSwiftTestable.name),
.target(name: TraktSwift.name),
.target(name: TraktSwift.name)
],
settings: settings())
}
Expand All @@ -433,7 +441,7 @@ enum TMDBSwiftTests {
sources: ["TMDBSwiftTests/**"],
dependencies: [
.target(name: TMDBSwiftTestable.name),
.target(name: TMDBSwift.name),
.target(name: TMDBSwift.name)
],
settings: settings())
}
Expand All @@ -455,7 +463,7 @@ enum TVDBSwiftTests {
sources: ["TVDBSwiftTests/**"],
dependencies: [
.target(name: TVDBSwiftTestable.name),
.target(name: TVDBSwift.name),
.target(name: TVDBSwift.name)
],
settings: settings())
}
Expand All @@ -479,7 +487,7 @@ enum CouchTrackerCoreTests {
.target(name: CouchTrackerCore.name),
.target(name: TraktSwiftTestable.name),
.target(name: TMDBSwiftTestable.name),
.target(name: TVDBSwiftTestable.name),
.target(name: TVDBSwiftTestable.name)
],
settings: settings())
}
Expand All @@ -501,7 +509,7 @@ enum CouchTrackerUITests {
sources: ["CouchTrackerUITests/**"],
dependencies: [
.target(name: CouchTracker.name),
.target(name: CouchTrackerAppTestable.name),
.target(name: CouchTrackerAppTestable.name)
],
settings: settings())
}
Expand All @@ -510,7 +518,7 @@ enum CouchTrackerUITests {
return Settings(base: [
"DEVELOPMENT_TEAM": "",
"TEST_HOST": "$(BUILT_PRODUCTS_DIR)/CouchTracker.app/CouchTracker",
"BUNDLE_LOADER": "$(TEST_HOST)",
"BUNDLE_LOADER": "$(TEST_HOST)"
] + iOSBaseSettings() + disableCodeSigning())
}
}
Expand All @@ -521,14 +529,14 @@ func macOSBaseSettings() -> [String: String] {
return [
"MACOSX_DEPLOYMENT_TARGET": minmacOSVersion,
"CODE_SIGN_STYLE": "Manual",
"DEVELOPMENT_TEAM": "",
"DEVELOPMENT_TEAM": ""
] + disableCodeSigning()
}

func macOSTestBaseSettings() -> [String: String] {
return [
"EXPANDED_CODE_SIGN_IDENTITY": "-",
"EXPANDED_CODE_SIGN_IDENTITY_NAME": "-",
"EXPANDED_CODE_SIGN_IDENTITY_NAME": "-"
]
}

Expand All @@ -537,7 +545,7 @@ func iOSBaseSettings() -> [String: String] {
"IPHONEOS_DEPLOYMENT_TARGET": miniOSVersion,
"TARGETED_DEVICE_FAMILY": "1",
"CODE_SIGN_STYLE": "Manual",
"DEVELOPMENT_TEAM": "B5RPM7SE3L",
"DEVELOPMENT_TEAM": "B5RPM7SE3L"
]
}

Expand Down Expand Up @@ -575,7 +583,7 @@ func allTargets() -> [Target] {
TMDBSwiftTests.target(),
TVDBSwiftTests.target(),
CouchTrackerCoreTests.target(),
CouchTrackerUITests.target(),
CouchTrackerUITests.target()
]
}

Expand Down Expand Up @@ -606,7 +614,7 @@ enum TMDBSwiftScheme {
func allSchemes() -> [Scheme] {
return [
TVDBSwiftScheme.scheme(),
TMDBSwiftScheme.scheme(),
TMDBSwiftScheme.scheme()
]
}

Expand All @@ -615,6 +623,7 @@ func additionalFiles() -> [FileElement] {
"changelog.md",
"CouchTrackerPlayground.playground",
"Readme.md",
".swiftlint.yml"
]
}

Expand Down
2 changes: 1 addition & 1 deletion build_phases/swiftformat
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ FOLDERS=(
)

for folder in ${FOLDERS[*]}; do
swiftformat --indent 2 "${folder}"
swiftformat "${folder}"
done

0 comments on commit 1a1d8df

Please sign in to comment.