Add SwiftLint phase (#262)
This commit is contained in:
parent
cecf64d871
commit
f06f097f27
|
@ -1047,6 +1047,7 @@
|
|||
0E41BDA828671339006346B4 /* Embed Launcher */,
|
||||
0E3152B7223F9EF500F61841 /* Embed Plugins */,
|
||||
0EB2B14B2733FB6F007705AB /* Embed Foundation Extensions */,
|
||||
0E1B5F5D29C5082700FE7D18 /* SwiftLint */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
@ -1297,6 +1298,24 @@
|
|||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
0E1B5F5D29C5082700FE7D18 /* SwiftLint */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = SwiftLint;
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n";
|
||||
};
|
||||
0EADDC7227F0677F0093E303 /* Copy Core Data codegen */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
|
|
|
@ -29,7 +29,7 @@ import UIKit
|
|||
class AppDelegate: NSObject, UIApplicationDelegate, ObservableObject {
|
||||
private let mac = MacBundle.shared
|
||||
|
||||
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
|
||||
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
|
||||
#if targetEnvironment(macCatalyst)
|
||||
mac.configure()
|
||||
mac.menu.install()
|
||||
|
|
|
@ -39,7 +39,7 @@ extension IntentDispatcher {
|
|||
|
||||
typealias VPNIntentActivity = IntentActivity<VPNManager>
|
||||
|
||||
static let enableVPN = VPNIntentActivity(name: Constants.Activities.enableVPN) { activity, vpnManager in
|
||||
static let enableVPN = VPNIntentActivity(name: Constants.Activities.enableVPN) { _, vpnManager in
|
||||
pp_log.info("Enabling VPN...")
|
||||
|
||||
Task {
|
||||
|
@ -51,7 +51,7 @@ extension IntentDispatcher {
|
|||
}
|
||||
}
|
||||
|
||||
static let disableVPN = VPNIntentActivity(name: Constants.Activities.disableVPN) { activity, vpnManager in
|
||||
static let disableVPN = VPNIntentActivity(name: Constants.Activities.disableVPN) { _, vpnManager in
|
||||
pp_log.info("Disabling VPN...")
|
||||
|
||||
Task {
|
||||
|
@ -111,22 +111,22 @@ extension IntentDispatcher {
|
|||
}
|
||||
}
|
||||
|
||||
static let trustCellularNetwork = VPNIntentActivity(name: Constants.Activities.trustCellularNetwork) { activity, vpnManager in
|
||||
static let trustCellularNetwork = VPNIntentActivity(name: Constants.Activities.trustCellularNetwork) { _, vpnManager in
|
||||
pp_log.info("Trusting mobile network...")
|
||||
handleCellularNetwork(true, vpnManager)
|
||||
}
|
||||
|
||||
static let trustCurrentNetwork = VPNIntentActivity(name: Constants.Activities.trustCurrentNetwork) { activity, vpnManager in
|
||||
static let trustCurrentNetwork = VPNIntentActivity(name: Constants.Activities.trustCurrentNetwork) { _, vpnManager in
|
||||
pp_log.info("Trusting current Wi-Fi...")
|
||||
handleCurrentNetwork(true, vpnManager)
|
||||
}
|
||||
|
||||
static let untrustCellularNetwork = VPNIntentActivity(name: Constants.Activities.untrustCellularNetwork) { activity, vpnManager in
|
||||
static let untrustCellularNetwork = VPNIntentActivity(name: Constants.Activities.untrustCellularNetwork) { _, vpnManager in
|
||||
pp_log.info("Untrusting mobile network...")
|
||||
handleCellularNetwork(false, vpnManager)
|
||||
}
|
||||
|
||||
static let untrustCurrentNetwork = VPNIntentActivity(name: Constants.Activities.untrustCurrentNetwork) { activity, vpnManager in
|
||||
static let untrustCurrentNetwork = VPNIntentActivity(name: Constants.Activities.untrustCurrentNetwork) { _, vpnManager in
|
||||
pp_log.info("Untrusting current Wi-Fi...")
|
||||
handleCurrentNetwork(false, vpnManager)
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ class DefaultLightUtils: LightUtils {
|
|||
guard app.connectedScenes.isEmpty else {
|
||||
return
|
||||
}
|
||||
app.requestSceneSessionActivation(nil, userActivity: nil, options: nil) { error in
|
||||
app.requestSceneSessionActivation(nil, userActivity: nil, options: nil) { _ in
|
||||
//
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
import SwiftUI
|
||||
|
||||
func ??<T>(lhs: Binding<Optional<T>>, rhs: T) -> Binding<T> {
|
||||
func ??<T>(lhs: Binding<T?>, rhs: T) -> Binding<T> {
|
||||
Binding {
|
||||
lhs.wrappedValue ?? rhs
|
||||
} set: {
|
||||
|
@ -34,7 +34,7 @@ func ??<T>(lhs: Binding<Optional<T>>, rhs: T) -> Binding<T> {
|
|||
}
|
||||
|
||||
extension Binding {
|
||||
func toString() -> Binding<String> where Value == Optional<URL> {
|
||||
func toString() -> Binding<String> where Value == URL? {
|
||||
.init {
|
||||
wrappedValue?.absoluteString ?? ""
|
||||
} set: {
|
||||
|
@ -42,7 +42,7 @@ extension Binding {
|
|||
}
|
||||
}
|
||||
|
||||
func toString<T>() -> Binding<String> where Value == Optional<T>, T: FixedWidthInteger {
|
||||
func toString<T>() -> Binding<String> where Value == T?, T: FixedWidthInteger {
|
||||
.init {
|
||||
guard let v = wrappedValue else {
|
||||
return ""
|
||||
|
|
|
@ -77,7 +77,7 @@ struct GenericCreditsView: View {
|
|||
}
|
||||
|
||||
private var licensesSection: some View {
|
||||
Section (
|
||||
Section(
|
||||
header: licensesHeader.map(Text.init)
|
||||
) {
|
||||
ForEach(sortedLicenses, id: \.0) { license in
|
||||
|
@ -98,7 +98,7 @@ struct GenericCreditsView: View {
|
|||
}
|
||||
|
||||
private var noticesSection: some View {
|
||||
Section (
|
||||
Section(
|
||||
header: noticesHeader.map(Text.init)
|
||||
) {
|
||||
ForEach(sortedNotices, id: \.0) { notice in
|
||||
|
@ -108,7 +108,7 @@ struct GenericCreditsView: View {
|
|||
}
|
||||
|
||||
private var translationsSection: some View {
|
||||
Section (
|
||||
Section(
|
||||
header: translationsHeader.map(Text.init)
|
||||
) {
|
||||
ForEach(sortedLanguages, id: \.self) { code in
|
||||
|
|
|
@ -28,8 +28,8 @@ import SwiftUI
|
|||
struct CreditsView: View {
|
||||
var body: some View {
|
||||
GenericCreditsView(
|
||||
licensesHeader: nil,//L10n.Credits.Sections.Licenses.header,
|
||||
noticesHeader: nil,//L10n.Credits.Sections.Notices.header,
|
||||
licensesHeader: nil,// L10n.Credits.Sections.Licenses.header,
|
||||
noticesHeader: nil,// L10n.Credits.Sections.Notices.header,
|
||||
translationsHeader: L10n.Global.Strings.translations,
|
||||
licenses: Unlocalized.Credits.licenses,
|
||||
notices: Unlocalized.Credits.notices,
|
||||
|
|
|
@ -96,7 +96,7 @@ struct DebugLogView: View {
|
|||
Text(logLines[$0])
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
}
|
||||
}//.padding()
|
||||
}// .padding()
|
||||
// TODO: layout, a slight padding would be nice, but it glitches on first touch
|
||||
}
|
||||
|
||||
|
|
|
@ -145,7 +145,7 @@ private extension View {
|
|||
}
|
||||
|
||||
private struct HostingWindowFinder: UIViewRepresentable {
|
||||
var callback: (UIWindow?) -> ()
|
||||
var callback: (UIWindow?) -> Void
|
||||
|
||||
func makeUIView(context: Context) -> UIView {
|
||||
let view = UIView()
|
||||
|
|
|
@ -45,7 +45,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, ObservableObject {
|
|||
cfg.hides = true
|
||||
cfg.activates = false
|
||||
cfg.addsToRecentItems = false
|
||||
NSWorkspace.shared.openApplication(at: appURL, configuration: cfg) { app, error in
|
||||
NSWorkspace.shared.openApplication(at: appURL, configuration: cfg) { _, error in
|
||||
if let error = error {
|
||||
NSLog("Unable to launch main app: \(error)")
|
||||
return
|
||||
|
|
|
@ -65,7 +65,7 @@ class PassepartoutMenu {
|
|||
LaunchOnLoginItem(
|
||||
L10n.Preferences.Items.LaunchesOnLogin.caption,
|
||||
utils: macMenuDelegate.utils
|
||||
),
|
||||
)
|
||||
] as [ItemGroup])
|
||||
|
||||
if profileManager.hasProfiles {
|
||||
|
@ -88,7 +88,7 @@ class PassepartoutMenu {
|
|||
$0 ? L10n.Profile.Items.Vpn.TurnOff.caption : L10n.Profile.Items.Vpn.TurnOn.caption
|
||||
} reconnectTitleBlock: {
|
||||
L10n.Global.Strings.reconnect
|
||||
},
|
||||
}
|
||||
] as [ItemGroup])
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ import Foundation
|
|||
import OpenVPNAppExtension
|
||||
|
||||
class PacketTunnelProvider: OpenVPNTunnelProvider {
|
||||
override func startTunnel(options: [String : NSObject]?, completionHandler: @escaping (Error?) -> Void) {
|
||||
override func startTunnel(options: [String: NSObject]?, completionHandler: @escaping (Error?) -> Void) {
|
||||
appVersion = "\(Constants.Global.appName) \(Constants.Global.appVersionString)"
|
||||
dnsTimeout = Constants.OpenVPNTunnel.dnsTimeout
|
||||
logSeparator = Constants.OpenVPNTunnel.sessionMarker
|
||||
|
|
|
@ -66,7 +66,7 @@ let package = Package(
|
|||
.target(
|
||||
name: "PassepartoutServices",
|
||||
dependencies: [
|
||||
"PassepartoutUtils",
|
||||
"PassepartoutUtils"
|
||||
],
|
||||
resources: [
|
||||
.copy("API")
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
import Foundation
|
||||
import CoreData
|
||||
|
||||
|
||||
extension CDProfile {
|
||||
|
||||
@nonobjc public class func fetchRequest() -> NSFetchRequest<CDProfile> {
|
||||
|
@ -25,6 +24,6 @@ extension CDProfile {
|
|||
|
||||
}
|
||||
|
||||
extension CDProfile : Identifiable {
|
||||
extension CDProfile: Identifiable {
|
||||
|
||||
}
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
import Foundation
|
||||
import PassepartoutCore
|
||||
import PassepartoutProviders
|
||||
import PassepartoutCore
|
||||
|
||||
extension Profile {
|
||||
public var requiresCredentials: Bool {
|
||||
|
|
|
@ -62,7 +62,7 @@ public class CoreDataProfileManagerStrategy: ProfileManagerStrategy {
|
|||
profileRepository.removeProfiles(withIds: ids)
|
||||
}
|
||||
|
||||
public func willUpdateProfiles() -> AnyPublisher<[UUID : Profile], Never> {
|
||||
public func willUpdateProfiles() -> AnyPublisher<[UUID: Profile], Never> {
|
||||
fetchedProfiles.$value
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
import Foundation
|
||||
import CoreData
|
||||
|
||||
|
||||
extension CDInfrastructure {
|
||||
|
||||
@nonobjc public class func fetchRequest() -> NSFetchRequest<CDInfrastructure> {
|
||||
|
@ -42,6 +41,6 @@ extension CDInfrastructure {
|
|||
|
||||
}
|
||||
|
||||
extension CDInfrastructure : Identifiable {
|
||||
extension CDInfrastructure: Identifiable {
|
||||
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
import Foundation
|
||||
import CoreData
|
||||
|
||||
|
||||
extension CDInfrastructureCategory {
|
||||
|
||||
@nonobjc public class func fetchRequest() -> NSFetchRequest<CDInfrastructureCategory> {
|
||||
|
@ -76,6 +75,6 @@ extension CDInfrastructureCategory {
|
|||
|
||||
}
|
||||
|
||||
extension CDInfrastructureCategory : Identifiable {
|
||||
extension CDInfrastructureCategory: Identifiable {
|
||||
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
import Foundation
|
||||
import CoreData
|
||||
|
||||
|
||||
extension CDInfrastructureDefaultSettings {
|
||||
|
||||
@nonobjc public class func fetchRequest() -> NSFetchRequest<CDInfrastructureDefaultSettings> {
|
||||
|
@ -23,6 +22,6 @@ extension CDInfrastructureDefaultSettings {
|
|||
|
||||
}
|
||||
|
||||
extension CDInfrastructureDefaultSettings : Identifiable {
|
||||
extension CDInfrastructureDefaultSettings: Identifiable {
|
||||
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
import Foundation
|
||||
import CoreData
|
||||
|
||||
|
||||
extension CDInfrastructureLocation {
|
||||
|
||||
@nonobjc public class func fetchRequest() -> NSFetchRequest<CDInfrastructureLocation> {
|
||||
|
@ -40,6 +39,6 @@ extension CDInfrastructureLocation {
|
|||
|
||||
}
|
||||
|
||||
extension CDInfrastructureLocation : Identifiable {
|
||||
extension CDInfrastructureLocation: Identifiable {
|
||||
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
import Foundation
|
||||
import CoreData
|
||||
|
||||
|
||||
extension CDInfrastructurePreset {
|
||||
|
||||
@nonobjc public class func fetchRequest() -> NSFetchRequest<CDInfrastructurePreset> {
|
||||
|
@ -43,6 +42,6 @@ extension CDInfrastructurePreset {
|
|||
|
||||
}
|
||||
|
||||
extension CDInfrastructurePreset : Identifiable {
|
||||
extension CDInfrastructurePreset: Identifiable {
|
||||
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
import Foundation
|
||||
import CoreData
|
||||
|
||||
|
||||
extension CDInfrastructureServer {
|
||||
|
||||
@nonobjc public class func fetchRequest() -> NSFetchRequest<CDInfrastructureServer> {
|
||||
|
@ -31,6 +30,6 @@ extension CDInfrastructureServer {
|
|||
|
||||
}
|
||||
|
||||
extension CDInfrastructureServer : Identifiable {
|
||||
extension CDInfrastructureServer: Identifiable {
|
||||
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
import Foundation
|
||||
import CoreData
|
||||
|
||||
|
||||
extension CDProvider {
|
||||
|
||||
@nonobjc public class func fetchRequest() -> NSFetchRequest<CDProvider> {
|
||||
|
@ -41,6 +40,6 @@ extension CDProvider {
|
|||
|
||||
}
|
||||
|
||||
extension CDProvider : Identifiable {
|
||||
extension CDProvider: Identifiable {
|
||||
|
||||
}
|
||||
|
|
|
@ -108,7 +108,7 @@ extension Utils {
|
|||
}
|
||||
}
|
||||
|
||||
//extension Utils {
|
||||
// extension Utils {
|
||||
// public static func checkConnectivityURL(_ url: URL, timeout: TimeInterval, completionHandler: @escaping (Bool) -> Void) {
|
||||
// let session = URLSession(configuration: .ephemeral)
|
||||
// let request = URLRequest(url: url, cachePolicy: .reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: timeout)
|
||||
|
@ -128,4 +128,4 @@ extension Utils {
|
|||
// }
|
||||
// }.resume()
|
||||
// }
|
||||
//}
|
||||
// }
|
||||
|
|
Loading…
Reference in New Issue