From cbf55268810305902cd55c17c578757466414432 Mon Sep 17 00:00:00 2001 From: Nico Verbruggen Date: Thu, 20 Feb 2020 11:45:02 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Change=20how=20the=20activ?= =?UTF-8?q?e=20PHP=20version=20is=20switched?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PHP Monitor.xcodeproj/project.pbxproj | 8 ++++---- phpmon/Classes/Commands/Actions.swift | 21 ++++++++++++++++----- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/PHP Monitor.xcodeproj/project.pbxproj b/PHP Monitor.xcodeproj/project.pbxproj index e3ef540..4f52a66 100644 --- a/PHP Monitor.xcodeproj/project.pbxproj +++ b/PHP Monitor.xcodeproj/project.pbxproj @@ -365,14 +365,14 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 16; + CURRENT_PROJECT_VERSION = 17; DEVELOPMENT_TEAM = 8M54J5J787; INFOPLIST_FILE = phpmon/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.6; + MARKETING_VERSION = 1.7; PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -387,14 +387,14 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 16; + CURRENT_PROJECT_VERSION = 17; DEVELOPMENT_TEAM = 8M54J5J787; INFOPLIST_FILE = phpmon/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.6; + MARKETING_VERSION = 1.7; PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; diff --git a/phpmon/Classes/Commands/Actions.swift b/phpmon/Classes/Commands/Actions.swift index 60c0c81..5dd5b35 100644 --- a/phpmon/Classes/Commands/Actions.swift +++ b/phpmon/Classes/Commands/Actions.swift @@ -28,14 +28,25 @@ class Actions { public static func switchToPhpVersion(version: String, availableVersions: [String]) { availableVersions.forEach { (version) in + // Unlink the current version Shell.user.run("brew unlink php@\(version)") - } - if (availableVersions.contains("7.4")) { - Shell.user.run("brew link php@7.4") + // Stop the services if (version == Constants.LatestPhpVersion) { - Shell.user.run("valet use php") + Shell.user.run("sudo brew services stop php") } else { - Shell.user.run("valet use php@\(version)") + Shell.user.run("sudo brew services stop php@\(version)") + } + } + if (availableVersions.contains(Constants.LatestPhpVersion)) { + // Use the latest version as a default + Shell.user.run("brew link php@\(Constants.LatestPhpVersion) --overwrite --force") + if (version == Constants.LatestPhpVersion) { + // If said version was also requested, all we need to do is start the service + Shell.user.run("sudo brew services start php") + } else { + // Otherwise, link the correct php version + start the correct service + Shell.user.run("brew link php@\(version) --overwrite --force") + Shell.user.run("sudo brew services start php@\(version)") } } }