mirror of
https://github.com/element-hq/element-x-ios.git
synced 2025-03-10 21:39:12 +00:00

* fixing locheck * fixing locheck tool * Revert "fixing locheck tool" This reverts commit 9bb3dbcd70d1ecbc62b4289623b5f9e584929997. * locheck install * using the original code to get the directory * adding swiftgen to download strings * setup project on ci * added Strings.swift to the path * adding String.swift
36 lines
1.0 KiB
Swift
36 lines
1.0 KiB
Swift
import ArgumentParser
|
|
import Foundation
|
|
|
|
struct SetupProject: ParsableCommand {
|
|
static var configuration = CommandConfiguration(abstract: "A tool to setup the required components to efficiently run and contribute to Element X iOS")
|
|
|
|
@Flag(help: "Use this only on ci to avoid installing failing packages")
|
|
var ci = false
|
|
|
|
func run() throws {
|
|
try setupGitHooks()
|
|
try brewBundleInstall()
|
|
try mintPackagesInstall()
|
|
try xcodegen()
|
|
}
|
|
|
|
func setupGitHooks() throws {
|
|
try Utilities.zsh("git config core.hooksPath .githooks")
|
|
}
|
|
|
|
func brewBundleInstall() throws {
|
|
try Utilities.zsh("brew install xcodegen swiftgen swiftformat git-lfs sourcery mint kiliankoe/formulae/swift-outdated localazy/tools/localazy")
|
|
if !ci {
|
|
try Utilities.zsh("brew install swiftlint")
|
|
}
|
|
}
|
|
|
|
func mintPackagesInstall() throws {
|
|
try Utilities.zsh("mint install Asana/locheck")
|
|
}
|
|
|
|
func xcodegen() throws {
|
|
try Utilities.zsh("xcodegen")
|
|
}
|
|
}
|