Beam/Tools/Sources/SetupProject.swift
Mauro 8403b07874
Fixing locheck tool (#788)
* 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
2023-04-12 10:03:11 +00:00

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")
}
}