mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2025-08-08 04:20:07 +02:00
Compare commits
53 Commits
Author | SHA1 | Date | |
---|---|---|---|
03fdf23f0a | |||
412b7bad5c | |||
147407666d | |||
4568f03a65 | |||
2eda8d6382 | |||
dd330fecce | |||
aaa7c636db | |||
ff75fb7be3 | |||
4d7b01831b | |||
0fceb852bb | |||
9fb5f33770 | |||
2f658ee569 | |||
ad179a325a | |||
4baeaea85f | |||
9e25254ec8 | |||
e623207844 | |||
f60ecb877c | |||
66393094b0 | |||
b5d2fef184 | |||
44bc07c9dc | |||
93790f3951 | |||
d3b1afe9fd | |||
00cc6711a1 | |||
209244e162 | |||
e48d8ed98b | |||
834f76e5a1 | |||
7e48893247 | |||
e29ca9e1ad | |||
40e05d9445 | |||
3ebf51b319 | |||
4b8ad911f1 | |||
efd902b4f3 | |||
918e272da7 | |||
272a9182d3 | |||
63f85aff91 | |||
581c2d1974 | |||
4deef64537 | |||
bedabaa3bb | |||
9da3772212 | |||
e62b03d070 | |||
9a11d2efed | |||
b134e62328 | |||
5c69133c42 | |||
f4448e0640 | |||
7fd30d7c54 | |||
2c57dea97f | |||
a77fa5557a | |||
45704fc736 | |||
f28354e634 | |||
8055a32bde | |||
5b3054326e | |||
e7f3c7e59c | |||
a407515534 |
5
.github/ISSUE_TEMPLATE/bug_report.md
vendored
5
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -29,5 +29,10 @@ If applicable, add screenshots to help explain your problem.
|
|||||||
- OS: [e.g. macOS Monterey]
|
- OS: [e.g. macOS Monterey]
|
||||||
- PHP Monitor version [e.g. v5.0.1]
|
- PHP Monitor version [e.g. v5.0.1]
|
||||||
|
|
||||||
|
**Additional log**
|
||||||
|
You can help me figure out even more information by sending me your verbose log for your latest session of PHP Monitor. Logging is disabled by default.
|
||||||
|
|
||||||
|
You can start extra verbose logging by running: `touch ~/.config/phpmon/verbose` and restarting PHP Monitor. You can find the latest log in: `~/.config/phpmon/last_session.log`. Please attach it here!
|
||||||
|
|
||||||
**Additional context**
|
**Additional context**
|
||||||
Add any other context about the problem here.
|
Add any other context about the problem here.
|
||||||
|
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2019-2022 Nico Verbruggen
|
Copyright (c) 2019-2023 Nico Verbruggen
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -118,6 +118,10 @@
|
|||||||
C44067FB27E25FD70045BD4E /* DomainListTLSCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44067FA27E25FD70045BD4E /* DomainListTLSCell.swift */; };
|
C44067FB27E25FD70045BD4E /* DomainListTLSCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44067FA27E25FD70045BD4E /* DomainListTLSCell.swift */; };
|
||||||
C44264BE2850B86C007400F1 /* SwiftUIHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44264BD2850B86C007400F1 /* SwiftUIHelper.swift */; };
|
C44264BE2850B86C007400F1 /* SwiftUIHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44264BD2850B86C007400F1 /* SwiftUIHelper.swift */; };
|
||||||
C44264C02850BD2A007400F1 /* VersionPopoverView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44264BF2850BD2A007400F1 /* VersionPopoverView.swift */; };
|
C44264C02850BD2A007400F1 /* VersionPopoverView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44264BF2850BD2A007400F1 /* VersionPopoverView.swift */; };
|
||||||
|
C4463FCC29804BCB007B93D5 /* RCFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4463FCB29804BCB007B93D5 /* RCFile.swift */; };
|
||||||
|
C4463FCD29804BCB007B93D5 /* RCFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4463FCB29804BCB007B93D5 /* RCFile.swift */; };
|
||||||
|
C4463FCE29804BCB007B93D5 /* RCFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4463FCB29804BCB007B93D5 /* RCFile.swift */; };
|
||||||
|
C4463FCF29804BCB007B93D5 /* RCFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4463FCB29804BCB007B93D5 /* RCFile.swift */; };
|
||||||
C449B4F027EE7FB800C47E8A /* DomainListTLSCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44067FA27E25FD70045BD4E /* DomainListTLSCell.swift */; };
|
C449B4F027EE7FB800C47E8A /* DomainListTLSCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44067FA27E25FD70045BD4E /* DomainListTLSCell.swift */; };
|
||||||
C449B4F127EE7FC200C47E8A /* DomainListNameCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44067F427E2582B0045BD4E /* DomainListNameCell.swift */; };
|
C449B4F127EE7FC200C47E8A /* DomainListNameCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44067F427E2582B0045BD4E /* DomainListNameCell.swift */; };
|
||||||
C449B4F227EE7FC400C47E8A /* DomainListPhpCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44067F627E258410045BD4E /* DomainListPhpCell.swift */; };
|
C449B4F227EE7FC400C47E8A /* DomainListPhpCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44067F627E258410045BD4E /* DomainListPhpCell.swift */; };
|
||||||
@ -143,6 +147,9 @@
|
|||||||
C451AFF72969E40F0078E617 /* HelpButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C451AFF52969E40F0078E617 /* HelpButton.swift */; };
|
C451AFF72969E40F0078E617 /* HelpButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C451AFF52969E40F0078E617 /* HelpButton.swift */; };
|
||||||
C451AFF82969E40F0078E617 /* HelpButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C451AFF52969E40F0078E617 /* HelpButton.swift */; };
|
C451AFF82969E40F0078E617 /* HelpButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C451AFF52969E40F0078E617 /* HelpButton.swift */; };
|
||||||
C451AFF92969E40F0078E617 /* HelpButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C451AFF52969E40F0078E617 /* HelpButton.swift */; };
|
C451AFF92969E40F0078E617 /* HelpButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C451AFF52969E40F0078E617 /* HelpButton.swift */; };
|
||||||
|
C4551657297AED18009B8466 /* ValetRcTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4551656297AED18009B8466 /* ValetRcTest.swift */; };
|
||||||
|
C4551659297AED7D009B8466 /* valetrc.valid in Resources */ = {isa = PBXBuildFile; fileRef = C4551658297AED7D009B8466 /* valetrc.valid */; };
|
||||||
|
C455165B297AEDB5009B8466 /* valetrc.broken in Resources */ = {isa = PBXBuildFile; fileRef = C455165A297AEDB5009B8466 /* valetrc.broken */; };
|
||||||
C4570C3A28FC355300D18420 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C473319E2470923A009A0597 /* Localizable.strings */; };
|
C4570C3A28FC355300D18420 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C473319E2470923A009A0597 /* Localizable.strings */; };
|
||||||
C4570C3B28FC355300D18420 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C473319E2470923A009A0597 /* Localizable.strings */; };
|
C4570C3B28FC355300D18420 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C473319E2470923A009A0597 /* Localizable.strings */; };
|
||||||
C4570C3C28FC355400D18420 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C473319E2470923A009A0597 /* Localizable.strings */; };
|
C4570C3C28FC355400D18420 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C473319E2470923A009A0597 /* Localizable.strings */; };
|
||||||
@ -540,6 +547,10 @@
|
|||||||
C4B97B79275CF1B5003F3378 /* App+ActivationPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B97B77275CF1B5003F3378 /* App+ActivationPolicy.swift */; };
|
C4B97B79275CF1B5003F3378 /* App+ActivationPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B97B77275CF1B5003F3378 /* App+ActivationPolicy.swift */; };
|
||||||
C4B97B7B275CF20A003F3378 /* App+GlobalHotkey.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B97B7A275CF20A003F3378 /* App+GlobalHotkey.swift */; };
|
C4B97B7B275CF20A003F3378 /* App+GlobalHotkey.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B97B7A275CF20A003F3378 /* App+GlobalHotkey.swift */; };
|
||||||
C4B97B7C275CF20A003F3378 /* App+GlobalHotkey.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B97B7A275CF20A003F3378 /* App+GlobalHotkey.swift */; };
|
C4B97B7C275CF20A003F3378 /* App+GlobalHotkey.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B97B7A275CF20A003F3378 /* App+GlobalHotkey.swift */; };
|
||||||
|
C4BB39392981AFC700F8E797 /* PhpVersionSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4BB39382981AFC700F8E797 /* PhpVersionSource.swift */; };
|
||||||
|
C4BB393A2981AFC700F8E797 /* PhpVersionSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4BB39382981AFC700F8E797 /* PhpVersionSource.swift */; };
|
||||||
|
C4BB393B2981AFC700F8E797 /* PhpVersionSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4BB39382981AFC700F8E797 /* PhpVersionSource.swift */; };
|
||||||
|
C4BB393C2981AFC700F8E797 /* PhpVersionSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4BB39382981AFC700F8E797 /* PhpVersionSource.swift */; };
|
||||||
C4BF56AB2949381100379603 /* FakeValetInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4BF56AA2949381100379603 /* FakeValetInteractor.swift */; };
|
C4BF56AB2949381100379603 /* FakeValetInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4BF56AA2949381100379603 /* FakeValetInteractor.swift */; };
|
||||||
C4BF56AC2949381100379603 /* FakeValetInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4BF56AA2949381100379603 /* FakeValetInteractor.swift */; };
|
C4BF56AC2949381100379603 /* FakeValetInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4BF56AA2949381100379603 /* FakeValetInteractor.swift */; };
|
||||||
C4BF56AD2949381100379603 /* FakeValetInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4BF56AA2949381100379603 /* FakeValetInteractor.swift */; };
|
C4BF56AD2949381100379603 /* FakeValetInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4BF56AA2949381100379603 /* FakeValetInteractor.swift */; };
|
||||||
@ -796,6 +807,7 @@
|
|||||||
C44067FA27E25FD70045BD4E /* DomainListTLSCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DomainListTLSCell.swift; sourceTree = "<group>"; };
|
C44067FA27E25FD70045BD4E /* DomainListTLSCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DomainListTLSCell.swift; sourceTree = "<group>"; };
|
||||||
C44264BD2850B86C007400F1 /* SwiftUIHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUIHelper.swift; sourceTree = "<group>"; };
|
C44264BD2850B86C007400F1 /* SwiftUIHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUIHelper.swift; sourceTree = "<group>"; };
|
||||||
C44264BF2850BD2A007400F1 /* VersionPopoverView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionPopoverView.swift; sourceTree = "<group>"; };
|
C44264BF2850BD2A007400F1 /* VersionPopoverView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionPopoverView.swift; sourceTree = "<group>"; };
|
||||||
|
C4463FCB29804BCB007B93D5 /* RCFile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RCFile.swift; sourceTree = "<group>"; };
|
||||||
C44A874728905BB000498BC4 /* ProgressVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressVC.swift; sourceTree = "<group>"; };
|
C44A874728905BB000498BC4 /* ProgressVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressVC.swift; sourceTree = "<group>"; };
|
||||||
C44AD3F62912EF7100997FF4 /* RealFileSystemTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RealFileSystemTest.swift; sourceTree = "<group>"; };
|
C44AD3F62912EF7100997FF4 /* RealFileSystemTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RealFileSystemTest.swift; sourceTree = "<group>"; };
|
||||||
C44B3A4528E5C70100718CB1 /* TimeIntervalExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeIntervalExtension.swift; sourceTree = "<group>"; };
|
C44B3A4528E5C70100718CB1 /* TimeIntervalExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeIntervalExtension.swift; sourceTree = "<group>"; };
|
||||||
@ -806,6 +818,9 @@
|
|||||||
C44F868D2835BD8D005C353A /* phpmon-config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "phpmon-config.json"; sourceTree = "<group>"; };
|
C44F868D2835BD8D005C353A /* phpmon-config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "phpmon-config.json"; sourceTree = "<group>"; };
|
||||||
C450C8C528C919EC002A2B4B /* PreferenceName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferenceName.swift; sourceTree = "<group>"; };
|
C450C8C528C919EC002A2B4B /* PreferenceName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferenceName.swift; sourceTree = "<group>"; };
|
||||||
C451AFF52969E40F0078E617 /* HelpButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HelpButton.swift; sourceTree = "<group>"; };
|
C451AFF52969E40F0078E617 /* HelpButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HelpButton.swift; sourceTree = "<group>"; };
|
||||||
|
C4551656297AED18009B8466 /* ValetRcTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ValetRcTest.swift; sourceTree = "<group>"; };
|
||||||
|
C4551658297AED7D009B8466 /* valetrc.valid */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = valetrc.valid; sourceTree = "<group>"; };
|
||||||
|
C455165A297AEDB5009B8466 /* valetrc.broken */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = valetrc.broken; sourceTree = "<group>"; };
|
||||||
C459B4BC27F6093700E9B4B4 /* nginx-proxy.test */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "nginx-proxy.test"; sourceTree = "<group>"; };
|
C459B4BC27F6093700E9B4B4 /* nginx-proxy.test */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "nginx-proxy.test"; sourceTree = "<group>"; };
|
||||||
C45B9148295607F400F4EC78 /* Service.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Service.swift; sourceTree = "<group>"; };
|
C45B9148295607F400F4EC78 /* Service.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Service.swift; sourceTree = "<group>"; };
|
||||||
C45B914D295608E300F4EC78 /* ValetServicesManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ValetServicesManager.swift; sourceTree = "<group>"; };
|
C45B914D295608E300F4EC78 /* ValetServicesManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ValetServicesManager.swift; sourceTree = "<group>"; };
|
||||||
@ -865,6 +880,7 @@
|
|||||||
C4B97B74275CF08C003F3378 /* AppDelegate+MenuOutlets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppDelegate+MenuOutlets.swift"; sourceTree = "<group>"; };
|
C4B97B74275CF08C003F3378 /* AppDelegate+MenuOutlets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppDelegate+MenuOutlets.swift"; sourceTree = "<group>"; };
|
||||||
C4B97B77275CF1B5003F3378 /* App+ActivationPolicy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "App+ActivationPolicy.swift"; sourceTree = "<group>"; };
|
C4B97B77275CF1B5003F3378 /* App+ActivationPolicy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "App+ActivationPolicy.swift"; sourceTree = "<group>"; };
|
||||||
C4B97B7A275CF20A003F3378 /* App+GlobalHotkey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "App+GlobalHotkey.swift"; sourceTree = "<group>"; };
|
C4B97B7A275CF20A003F3378 /* App+GlobalHotkey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "App+GlobalHotkey.swift"; sourceTree = "<group>"; };
|
||||||
|
C4BB39382981AFC700F8E797 /* PhpVersionSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhpVersionSource.swift; sourceTree = "<group>"; };
|
||||||
C4BF56AA2949381100379603 /* FakeValetInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FakeValetInteractor.swift; sourceTree = "<group>"; };
|
C4BF56AA2949381100379603 /* FakeValetInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FakeValetInteractor.swift; sourceTree = "<group>"; };
|
||||||
C4C0E8DE27F88AEB002D32A9 /* FakeDomainScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FakeDomainScanner.swift; sourceTree = "<group>"; };
|
C4C0E8DE27F88AEB002D32A9 /* FakeDomainScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FakeDomainScanner.swift; sourceTree = "<group>"; };
|
||||||
C4C0E8E127F88B13002D32A9 /* ValetDomainScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ValetDomainScanner.swift; sourceTree = "<group>"; };
|
C4C0E8E127F88B13002D32A9 /* ValetDomainScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ValetDomainScanner.swift; sourceTree = "<group>"; };
|
||||||
@ -1226,6 +1242,14 @@
|
|||||||
path = Cells;
|
path = Cells;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
C4463FD029804C13007B93D5 /* Common */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
C4463FCB29804BCB007B93D5 /* RCFile.swift */,
|
||||||
|
);
|
||||||
|
path = Common;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
C44A874628905B8500498BC4 /* Onboarding */ = {
|
C44A874628905B8500498BC4 /* Onboarding */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -1287,6 +1311,8 @@
|
|||||||
C459B4C027F6096300E9B4B4 /* valet */ = {
|
C459B4C027F6096300E9B4B4 /* valet */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
C455165A297AEDB5009B8466 /* valetrc.broken */,
|
||||||
|
C4551658297AED7D009B8466 /* valetrc.valid */,
|
||||||
C4AF9F70275445FF00D44ED0 /* valet-config.json */,
|
C4AF9F70275445FF00D44ED0 /* valet-config.json */,
|
||||||
);
|
);
|
||||||
path = valet;
|
path = valet;
|
||||||
@ -1433,6 +1459,7 @@
|
|||||||
C4AF9F6B275445D300D44ED0 /* Integrations */ = {
|
C4AF9F6B275445D300D44ED0 /* Integrations */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
C4463FD029804C13007B93D5 /* Common */,
|
||||||
C4C0E8DA27F887CC002D32A9 /* Nginx */,
|
C4C0E8DA27F887CC002D32A9 /* Nginx */,
|
||||||
C4D89BC42783C98800A02B68 /* Composer */,
|
C4D89BC42783C98800A02B68 /* Composer */,
|
||||||
C4AF9F6C275445D900D44ED0 /* Homebrew */,
|
C4AF9F6C275445D900D44ED0 /* Homebrew */,
|
||||||
@ -1522,7 +1549,7 @@
|
|||||||
children = (
|
children = (
|
||||||
C4E4404527C56F4700D225E1 /* ValetSite.swift */,
|
C4E4404527C56F4700D225E1 /* ValetSite.swift */,
|
||||||
C41C02A827E61A65009F26CB /* FakeValetSite.swift */,
|
C41C02A827E61A65009F26CB /* FakeValetSite.swift */,
|
||||||
C4C0E8E427F88B1F002D32A9 /* SiteScanner */,
|
C4BB39382981AFC700F8E797 /* PhpVersionSource.swift */,
|
||||||
);
|
);
|
||||||
path = Sites;
|
path = Sites;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -1544,13 +1571,6 @@
|
|||||||
path = Nginx;
|
path = Nginx;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
C4C0E8E427F88B1F002D32A9 /* SiteScanner */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
);
|
|
||||||
path = SiteScanner;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
C4C1019727C65A11001FACC2 /* Parsers */ = {
|
C4C1019727C65A11001FACC2 /* Parsers */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -1559,6 +1579,7 @@
|
|||||||
C46FA98A2822F08F00D78807 /* PhpConfigurationTest.swift */,
|
C46FA98A2822F08F00D78807 /* PhpConfigurationTest.swift */,
|
||||||
C43A8A2325D9D20D00591B77 /* HomebrewPackageTest.swift */,
|
C43A8A2325D9D20D00591B77 /* HomebrewPackageTest.swift */,
|
||||||
C42CFB1927DFE8BD00862737 /* NginxConfigurationTest.swift */,
|
C42CFB1927DFE8BD00862737 /* NginxConfigurationTest.swift */,
|
||||||
|
C4551656297AED18009B8466 /* ValetRcTest.swift */,
|
||||||
);
|
);
|
||||||
path = Parsers;
|
path = Parsers;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -1920,6 +1941,7 @@
|
|||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
C4551659297AED7D009B8466 /* valetrc.valid in Resources */,
|
||||||
C4570C3C28FC355400D18420 /* Localizable.strings in Resources */,
|
C4570C3C28FC355400D18420 /* Localizable.strings in Resources */,
|
||||||
54FCFD27276C883F004CE748 /* SelectPreferenceView.xib in Resources */,
|
54FCFD27276C883F004CE748 /* SelectPreferenceView.xib in Resources */,
|
||||||
54FCFD2E276C8D67004CE748 /* HotkeyPreferenceView.xib in Resources */,
|
54FCFD2E276C8D67004CE748 /* HotkeyPreferenceView.xib in Resources */,
|
||||||
@ -1933,6 +1955,7 @@
|
|||||||
C44C1992276E44CB0072762D /* ProgressWindow.storyboard in Resources */,
|
C44C1992276E44CB0072762D /* ProgressWindow.storyboard in Resources */,
|
||||||
C42F26762805FEE200938AC7 /* nginx-secure-proxy.test in Resources */,
|
C42F26762805FEE200938AC7 /* nginx-secure-proxy.test in Resources */,
|
||||||
C4F30B08278E195800755FCE /* brew-services.json in Resources */,
|
C4F30B08278E195800755FCE /* brew-services.json in Resources */,
|
||||||
|
C455165B297AEDB5009B8466 /* valetrc.broken in Resources */,
|
||||||
54A18D40282A566E000A0D81 /* nginx-secure-proxy-custom-tld.test in Resources */,
|
54A18D40282A566E000A0D81 /* nginx-secure-proxy-custom-tld.test in Resources */,
|
||||||
C42CFB1627DFDE7900862737 /* nginx-site.test in Resources */,
|
C42CFB1627DFDE7900862737 /* nginx-site.test in Resources */,
|
||||||
C459B4BD27F6093700E9B4B4 /* nginx-proxy.test in Resources */,
|
C459B4BD27F6093700E9B4B4 /* nginx-proxy.test in Resources */,
|
||||||
@ -2009,6 +2032,7 @@
|
|||||||
C4E2E85C28FC282B003B070C /* TestableConfiguration.swift in Sources */,
|
C4E2E85C28FC282B003B070C /* TestableConfiguration.swift in Sources */,
|
||||||
C4C0E8DF27F88AEB002D32A9 /* FakeDomainScanner.swift in Sources */,
|
C4C0E8DF27F88AEB002D32A9 /* FakeDomainScanner.swift in Sources */,
|
||||||
C44B3A4628E5C70100718CB1 /* TimeIntervalExtension.swift in Sources */,
|
C44B3A4628E5C70100718CB1 /* TimeIntervalExtension.swift in Sources */,
|
||||||
|
C4463FCC29804BCB007B93D5 /* RCFile.swift in Sources */,
|
||||||
C44264BE2850B86C007400F1 /* SwiftUIHelper.swift in Sources */,
|
C44264BE2850B86C007400F1 /* SwiftUIHelper.swift in Sources */,
|
||||||
C4E9D2C02878B336008FFDAD /* OnboardingView.swift in Sources */,
|
C4E9D2C02878B336008FFDAD /* OnboardingView.swift in Sources */,
|
||||||
C4F2E4372752F0870020E974 /* HomebrewDiagnostics.swift in Sources */,
|
C4F2E4372752F0870020E974 /* HomebrewDiagnostics.swift in Sources */,
|
||||||
@ -2025,6 +2049,7 @@
|
|||||||
C44067F727E258410045BD4E /* DomainListPhpCell.swift in Sources */,
|
C44067F727E258410045BD4E /* DomainListPhpCell.swift in Sources */,
|
||||||
C4FACE80288F1C0D00FC478F /* PreferencesWindowController+Hotkey.swift in Sources */,
|
C4FACE80288F1C0D00FC478F /* PreferencesWindowController+Hotkey.swift in Sources */,
|
||||||
C415D3B72770F294005EF286 /* Actions.swift in Sources */,
|
C415D3B72770F294005EF286 /* Actions.swift in Sources */,
|
||||||
|
C4BB39392981AFC700F8E797 /* PhpVersionSource.swift in Sources */,
|
||||||
C4C3643928AE4FCE00C0770E /* StatusMenu+Items.swift in Sources */,
|
C4C3643928AE4FCE00C0770E /* StatusMenu+Items.swift in Sources */,
|
||||||
C4AC51FC27E27F47008528CA /* DomainListKindCell.swift in Sources */,
|
C4AC51FC27E27F47008528CA /* DomainListKindCell.swift in Sources */,
|
||||||
C4CDA893288F1A71007CE25F /* Keys.swift in Sources */,
|
C4CDA893288F1A71007CE25F /* Keys.swift in Sources */,
|
||||||
@ -2136,6 +2161,7 @@
|
|||||||
C471E83028F9BB650021E251 /* Application.swift in Sources */,
|
C471E83028F9BB650021E251 /* Application.swift in Sources */,
|
||||||
C471E83128F9BB650021E251 /* LocalNotification.swift in Sources */,
|
C471E83128F9BB650021E251 /* LocalNotification.swift in Sources */,
|
||||||
C471E83228F9BB650021E251 /* MenuBarImageGenerator.swift in Sources */,
|
C471E83228F9BB650021E251 /* MenuBarImageGenerator.swift in Sources */,
|
||||||
|
C4BB393B2981AFC700F8E797 /* PhpVersionSource.swift in Sources */,
|
||||||
C471E83328F9BB650021E251 /* PMWindowController.swift in Sources */,
|
C471E83328F9BB650021E251 /* PMWindowController.swift in Sources */,
|
||||||
C471E83428F9BB650021E251 /* VersionExtractor.swift in Sources */,
|
C471E83428F9BB650021E251 /* VersionExtractor.swift in Sources */,
|
||||||
C471E83528F9BB650021E251 /* ValetProxy.swift in Sources */,
|
C471E83528F9BB650021E251 /* ValetProxy.swift in Sources */,
|
||||||
@ -2190,6 +2216,7 @@
|
|||||||
C471E86328F9BB650021E251 /* PMTableView.swift in Sources */,
|
C471E86328F9BB650021E251 /* PMTableView.swift in Sources */,
|
||||||
C471E86428F9BB650021E251 /* Warning.swift in Sources */,
|
C471E86428F9BB650021E251 /* Warning.swift in Sources */,
|
||||||
C40175BA2903108900763A68 /* ValetInteractor.swift in Sources */,
|
C40175BA2903108900763A68 /* ValetInteractor.swift in Sources */,
|
||||||
|
C4463FCE29804BCB007B93D5 /* RCFile.swift in Sources */,
|
||||||
C45B9150295608E300F4EC78 /* ValetServicesManager.swift in Sources */,
|
C45B9150295608E300F4EC78 /* ValetServicesManager.swift in Sources */,
|
||||||
C471E86528F9BB650021E251 /* WarningManager.swift in Sources */,
|
C471E86528F9BB650021E251 /* WarningManager.swift in Sources */,
|
||||||
C471E86628F9BB650021E251 /* WarningsWindowController.swift in Sources */,
|
C471E86628F9BB650021E251 /* WarningsWindowController.swift in Sources */,
|
||||||
@ -2401,6 +2428,7 @@
|
|||||||
C4CE7F9929683B43000102CF /* PhpVersionNumberCollection.swift in Sources */,
|
C4CE7F9929683B43000102CF /* PhpVersionNumberCollection.swift in Sources */,
|
||||||
C471E7FC28F9BACE0021E251 /* HomebrewPackage.swift in Sources */,
|
C471E7FC28F9BACE0021E251 /* HomebrewPackage.swift in Sources */,
|
||||||
C471E7CF28F9BA600021E251 /* ActiveShell.swift in Sources */,
|
C471E7CF28F9BA600021E251 /* ActiveShell.swift in Sources */,
|
||||||
|
C4BB393C2981AFC700F8E797 /* PhpVersionSource.swift in Sources */,
|
||||||
C471E7F628F9BAC80021E251 /* PhpHelper.swift in Sources */,
|
C471E7F628F9BAC80021E251 /* PhpHelper.swift in Sources */,
|
||||||
C471E7EE28F9BAC30021E251 /* Constants.swift in Sources */,
|
C471E7EE28F9BAC30021E251 /* Constants.swift in Sources */,
|
||||||
C471E80E28F9BAE80021E251 /* DateExtension.swift in Sources */,
|
C471E80E28F9BAE80021E251 /* DateExtension.swift in Sources */,
|
||||||
@ -2422,6 +2450,7 @@
|
|||||||
C4D3660E29113F20006BD146 /* System.swift in Sources */,
|
C4D3660E29113F20006BD146 /* System.swift in Sources */,
|
||||||
C471E80428F9BAD40021E251 /* PhpExtension.swift in Sources */,
|
C471E80428F9BAD40021E251 /* PhpExtension.swift in Sources */,
|
||||||
C471E7F728F9BACB0021E251 /* PhpSwitcher.swift in Sources */,
|
C471E7F728F9BACB0021E251 /* PhpSwitcher.swift in Sources */,
|
||||||
|
C4463FCF29804BCB007B93D5 /* RCFile.swift in Sources */,
|
||||||
C471E82C28F9BB340021E251 /* ValetListable.swift in Sources */,
|
C471E82C28F9BB340021E251 /* ValetListable.swift in Sources */,
|
||||||
C471E82828F9BB310021E251 /* HomebrewDiagnostics.swift in Sources */,
|
C471E82828F9BB310021E251 /* HomebrewDiagnostics.swift in Sources */,
|
||||||
C471E81E28F9BB260021E251 /* BetterAlert.swift in Sources */,
|
C471E81E28F9BB260021E251 /* BetterAlert.swift in Sources */,
|
||||||
@ -2532,6 +2561,7 @@
|
|||||||
C485707B28BF458900539B36 /* VersionPopoverView.swift in Sources */,
|
C485707B28BF458900539B36 /* VersionPopoverView.swift in Sources */,
|
||||||
C4E2E85D28FC282B003B070C /* TestableConfiguration.swift in Sources */,
|
C4E2E85D28FC282B003B070C /* TestableConfiguration.swift in Sources */,
|
||||||
C485706E28BF451C00539B36 /* OnboardingWindowController.swift in Sources */,
|
C485706E28BF451C00539B36 /* OnboardingWindowController.swift in Sources */,
|
||||||
|
C4BB393A2981AFC700F8E797 /* PhpVersionSource.swift in Sources */,
|
||||||
C4CB6E66292C362C002E9027 /* Homebrew.swift in Sources */,
|
C4CB6E66292C362C002E9027 /* Homebrew.swift in Sources */,
|
||||||
C43603A1275E67610028EFC6 /* AppDelegate+Notifications.swift in Sources */,
|
C43603A1275E67610028EFC6 /* AppDelegate+Notifications.swift in Sources */,
|
||||||
C4C3643A28AE4FCE00C0770E /* StatusMenu+Items.swift in Sources */,
|
C4C3643A28AE4FCE00C0770E /* StatusMenu+Items.swift in Sources */,
|
||||||
@ -2603,6 +2633,7 @@
|
|||||||
C44AD3F72912EF7100997FF4 /* RealFileSystemTest.swift in Sources */,
|
C44AD3F72912EF7100997FF4 /* RealFileSystemTest.swift in Sources */,
|
||||||
C4F30B0A278E1A1A00755FCE /* ComposerJson.swift in Sources */,
|
C4F30B0A278E1A1A00755FCE /* ComposerJson.swift in Sources */,
|
||||||
C4C0E8E027F88AEB002D32A9 /* FakeDomainScanner.swift in Sources */,
|
C4C0E8E027F88AEB002D32A9 /* FakeDomainScanner.swift in Sources */,
|
||||||
|
C4463FCD29804BCB007B93D5 /* RCFile.swift in Sources */,
|
||||||
C4AF9F7D275454A900D44ED0 /* ValetVersionExtractorTest.swift in Sources */,
|
C4AF9F7D275454A900D44ED0 /* ValetVersionExtractorTest.swift in Sources */,
|
||||||
C4B56362276AB0A500F12CCB /* VersionExtractorTest.swift in Sources */,
|
C4B56362276AB0A500F12CCB /* VersionExtractorTest.swift in Sources */,
|
||||||
C4B585452770FE3900DA4FBE /* RealCommand.swift in Sources */,
|
C4B585452770FE3900DA4FBE /* RealCommand.swift in Sources */,
|
||||||
@ -2628,6 +2659,7 @@
|
|||||||
C4A81CA528C67101008DD9D1 /* PMTableView.swift in Sources */,
|
C4A81CA528C67101008DD9D1 /* PMTableView.swift in Sources */,
|
||||||
C45E76152854A65300B4FE0C /* ServicesManager.swift in Sources */,
|
C45E76152854A65300B4FE0C /* ServicesManager.swift in Sources */,
|
||||||
C4D36602291132B7006BD146 /* ValetScanners.swift in Sources */,
|
C4D36602291132B7006BD146 /* ValetScanners.swift in Sources */,
|
||||||
|
C4551657297AED18009B8466 /* ValetRcTest.swift in Sources */,
|
||||||
C464ADAD275A7A3F003FCD53 /* DomainListWindowController.swift in Sources */,
|
C464ADAD275A7A3F003FCD53 /* DomainListWindowController.swift in Sources */,
|
||||||
C40C7F1F2772136000DDDCDC /* PhpEnv.swift in Sources */,
|
C40C7F1F2772136000DDDCDC /* PhpEnv.swift in Sources */,
|
||||||
C464ADB0275A7A6A003FCD53 /* DomainListVC.swift in Sources */,
|
C464ADB0275A7A6A003FCD53 /* DomainListVC.swift in Sources */,
|
||||||
@ -2799,7 +2831,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 1026;
|
CURRENT_PROJECT_VERSION = 1037;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG = YES;
|
DEBUG = YES;
|
||||||
DEVELOPMENT_TEAM = 8M54J5J787;
|
DEVELOPMENT_TEAM = 8M54J5J787;
|
||||||
@ -2811,7 +2843,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
||||||
MARKETING_VERSION = 5.7;
|
MARKETING_VERSION = 5.7.3;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon;
|
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@ -2828,7 +2860,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 1026;
|
CURRENT_PROJECT_VERSION = 1037;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG = NO;
|
DEBUG = NO;
|
||||||
DEVELOPMENT_TEAM = 8M54J5J787;
|
DEVELOPMENT_TEAM = 8M54J5J787;
|
||||||
@ -2840,7 +2872,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
||||||
MARKETING_VERSION = 5.7;
|
MARKETING_VERSION = 5.7.3;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon;
|
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@ -3056,7 +3088,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 1026;
|
CURRENT_PROJECT_VERSION = 1037;
|
||||||
DEBUG = NO;
|
DEBUG = NO;
|
||||||
DEVELOPMENT_TEAM = 8M54J5J787;
|
DEVELOPMENT_TEAM = 8M54J5J787;
|
||||||
ENABLE_HARDENED_RUNTIME = YES;
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
@ -3067,7 +3099,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
||||||
MARKETING_VERSION = 5.7;
|
MARKETING_VERSION = 5.7.3;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon.dev;
|
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon.dev;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME) DEV";
|
PRODUCT_NAME = "$(TARGET_NAME) DEV";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@ -3166,7 +3198,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 1026;
|
CURRENT_PROJECT_VERSION = 1037;
|
||||||
DEBUG = YES;
|
DEBUG = YES;
|
||||||
DEVELOPMENT_TEAM = 8M54J5J787;
|
DEVELOPMENT_TEAM = 8M54J5J787;
|
||||||
ENABLE_HARDENED_RUNTIME = YES;
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
@ -3177,7 +3209,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
||||||
MARKETING_VERSION = 5.7;
|
MARKETING_VERSION = 5.7.3;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon.dev;
|
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon.dev;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
@ -89,6 +89,10 @@
|
|||||||
argument = "--v"
|
argument = "--v"
|
||||||
isEnabled = "NO">
|
isEnabled = "NO">
|
||||||
</CommandLineArgument>
|
</CommandLineArgument>
|
||||||
|
<CommandLineArgument
|
||||||
|
argument = "--cli"
|
||||||
|
isEnabled = "YES">
|
||||||
|
</CommandLineArgument>
|
||||||
<CommandLineArgument
|
<CommandLineArgument
|
||||||
argument = "--configuration:~/.phpmon_fconf_working.json"
|
argument = "--configuration:~/.phpmon_fconf_working.json"
|
||||||
isEnabled = "NO">
|
isEnabled = "NO">
|
||||||
|
@ -553,6 +553,10 @@ If you would like to report a crash, please include the associated **log files**
|
|||||||
|
|
||||||
To find the logs, take a look in `~/Library/Logs/DiagnosticReports` (in Finder) and see if there's any (log) files that start with "PHP Monitor".
|
To find the logs, take a look in `~/Library/Logs/DiagnosticReports` (in Finder) and see if there's any (log) files that start with "PHP Monitor".
|
||||||
|
|
||||||
|
Additionally, you can help me figure out even more information by sending me your verbose log for your latest session of PHP Monitor. Logging is disabled by default.
|
||||||
|
|
||||||
|
You can start extra verbose logging by running: `touch ~/.config/phpmon/verbose` and restarting PHP Monitor. You can find the latest log in: `~/.config/phpmon/last_session.log`. Please attach it to the relevant bug report.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## 📝 Having another issue?
|
## 📝 Having another issue?
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 12/10/2022.
|
// Created by Nico Verbruggen on 12/10/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 12/10/2022.
|
// Created by Nico Verbruggen on 12/10/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Command.swift
|
// Command.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Services.swift
|
// Services.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
@ -13,15 +13,15 @@ class Actions {
|
|||||||
// MARK: - Services
|
// MARK: - Services
|
||||||
|
|
||||||
public static func restartPhpFpm() async {
|
public static func restartPhpFpm() async {
|
||||||
await brew("services restart \(Homebrew.Formulae.php.name)", sudo: Homebrew.Formulae.php.elevated)
|
await brew("services restart \(Homebrew.Formulae.php)", sudo: Homebrew.Formulae.php.elevated)
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func restartNginx() async {
|
public static func restartNginx() async {
|
||||||
await brew("services restart \(Homebrew.Formulae.nginx.name)", sudo: Homebrew.Formulae.nginx.elevated)
|
await brew("services restart \(Homebrew.Formulae.nginx)", sudo: Homebrew.Formulae.nginx.elevated)
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func restartDnsMasq() async {
|
public static func restartDnsMasq() async {
|
||||||
await brew("services restart \(Homebrew.Formulae.dnsmasq.name)", sudo: Homebrew.Formulae.dnsmasq.elevated)
|
await brew("services restart \(Homebrew.Formulae.dnsmasq)", sudo: Homebrew.Formulae.dnsmasq.elevated)
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func stopValetServices() async {
|
public static func stopValetServices() async {
|
||||||
@ -54,9 +54,10 @@ class Actions {
|
|||||||
+ " && "
|
+ " && "
|
||||||
+ cellarCommands.joined(separator: " && ")
|
+ cellarCommands.joined(separator: " && ")
|
||||||
|
|
||||||
let appleScript = NSAppleScript(
|
let source = "do shell script \"\(script)\" with administrator privileges"
|
||||||
source: "do shell script \"\(script)\" with administrator privileges"
|
|
||||||
)
|
Log.perf(source)
|
||||||
|
let appleScript = NSAppleScript(source: source)
|
||||||
|
|
||||||
let eventResult: NSAppleEventDescriptor? = appleScript?.executeAndReturnError(nil)
|
let eventResult: NSAppleEventDescriptor? = appleScript?.executeAndReturnError(nil)
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Constants.swift
|
// Constants.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 23/01/2022.
|
// Created by Nico Verbruggen on 23/01/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 24/12/2021.
|
// Created by Nico Verbruggen on 24/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
// MARK: Common Shell Commands
|
// MARK: Common Shell Commands
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 21/11/2022.
|
// Created by Nico Verbruggen on 21/11/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
@ -36,10 +36,14 @@ class Homebrew {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class HomebrewFormula: Equatable, Hashable {
|
class HomebrewFormula: Equatable, Hashable, CustomStringConvertible {
|
||||||
let name: String
|
let name: String
|
||||||
let elevated: Bool
|
let elevated: Bool
|
||||||
|
|
||||||
|
var description: String {
|
||||||
|
return name
|
||||||
|
}
|
||||||
|
|
||||||
init(_ name: String, elevated: Bool = true) {
|
init(_ name: String, elevated: Bool = true) {
|
||||||
self.name = name
|
self.name = name
|
||||||
self.elevated = elevated
|
self.elevated = elevated
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 21/12/2021.
|
// Created by Nico Verbruggen on 21/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
@ -12,47 +12,76 @@ class Log {
|
|||||||
|
|
||||||
static var shared = Log()
|
static var shared = Log()
|
||||||
|
|
||||||
|
var logFilePath = "~/.config/phpmon/last_session.log"
|
||||||
|
var logExists = false
|
||||||
|
|
||||||
enum Verbosity: Int {
|
enum Verbosity: Int {
|
||||||
case error = 1,
|
case error = 1,
|
||||||
warning = 2,
|
warning = 2,
|
||||||
info = 3,
|
info = 3,
|
||||||
performance = 4
|
performance = 4,
|
||||||
|
cli = 5
|
||||||
|
|
||||||
public func isApplicable() -> Bool {
|
public func isApplicable() -> Bool {
|
||||||
return Log.shared.verbosity.rawValue >= self.rawValue
|
return Log.shared.verbosity.rawValue >= self.rawValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var verbosity: Verbosity = .warning
|
public func prepareLogFile() {
|
||||||
|
if !isRunningTests && Verbosity.cli.isApplicable() {
|
||||||
|
_ = system("mkdir -p ~/.config/phpmon 2> /dev/null")
|
||||||
|
_ = system("rm ~/.config/phpmon/last_session.log 2> /dev/null")
|
||||||
|
_ = system("touch ~/.config/phpmon/last_session.log 2> /dev/null")
|
||||||
|
self.logExists = FileSystem.fileExists(self.logFilePath)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var verbosity: Verbosity = .warning {
|
||||||
|
didSet {
|
||||||
|
self.prepareLogFile()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static func err(_ item: Any) {
|
static func err(_ item: Any) {
|
||||||
if Verbosity.error.isApplicable() {
|
if Verbosity.error.isApplicable() {
|
||||||
print("[E] \(item)")
|
Log.shared.log("[E] \(item)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static func warn(_ item: Any) {
|
static func warn(_ item: Any) {
|
||||||
if Verbosity.warning.isApplicable() {
|
if Verbosity.warning.isApplicable() {
|
||||||
print("[W] \(item)")
|
Log.shared.log("[W] \(item)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static func info(_ item: Any) {
|
static func info(_ item: Any) {
|
||||||
if Verbosity.info.isApplicable() {
|
if Verbosity.info.isApplicable() {
|
||||||
print("\(item)")
|
Log.shared.log("\(item)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static func perf(_ item: Any) {
|
static func perf(_ item: Any) {
|
||||||
if Verbosity.performance.isApplicable() {
|
if Verbosity.performance.isApplicable() {
|
||||||
print("[P] \(item)")
|
Log.shared.log("[P] \(item)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static func separator(as verbosity: Verbosity = .info) {
|
static func separator(as verbosity: Verbosity = .info) {
|
||||||
if verbosity.isApplicable() {
|
if verbosity.isApplicable() {
|
||||||
print("==================================")
|
Log.shared.log("==================================")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private func log(_ text: String) {
|
||||||
|
print(text)
|
||||||
|
|
||||||
|
if logExists && Verbosity.cli.isApplicable() {
|
||||||
|
let logFile = URL(string: self.logFilePath.replacingTildeWithHomeDirectory)!
|
||||||
|
if let fileHandle = try? FileHandle(forWritingTo: logFile) {
|
||||||
|
fileHandle.seekToEndOfFile()
|
||||||
|
fileHandle.write(text.appending("\n").data(using: .utf8).unsafelyUnwrapped)
|
||||||
|
fileHandle.closeFile()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Paths.swift
|
// Paths.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 23/02/2022.
|
// Created by Nico Verbruggen on 23/02/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 06/02/2022.
|
// Created by Nico Verbruggen on 06/02/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 08/02/2022.
|
// Created by Nico Verbruggen on 08/02/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 11/06/2022.
|
// Created by Nico Verbruggen on 11/06/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 16/10/2022.
|
// Created by Nico Verbruggen on 16/10/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Date.swift
|
// Date.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 01/11/2022.
|
// Created by Nico Verbruggen on 01/11/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 14/04/2021.
|
// Created by Nico Verbruggen on 14/04/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 18/08/2022.
|
// Created by Nico Verbruggen on 18/08/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 17/02/2022.
|
// Created by Nico Verbruggen on 17/02/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// StringExtension.swift
|
// StringExtension.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
import Foundation
|
import Foundation
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 29/09/2022.
|
// Created by Nico Verbruggen on 29/09/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 04/02/2021.
|
// Created by Nico Verbruggen on 04/02/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 08/10/2022.
|
// Created by Nico Verbruggen on 08/10/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 08/10/2022.
|
// Created by Nico Verbruggen on 08/10/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 08/10/2022.
|
// Created by Nico Verbruggen on 08/10/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Alert.swift
|
// Alert.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 07/12/2021.
|
// Created by Nico Verbruggen on 07/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// LocalNotification.swift
|
// LocalNotification.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// ImageGenerator.swift
|
// ImageGenerator.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 05/12/2021.
|
// Created by Nico Verbruggen on 05/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 01/11/2022.
|
// Created by Nico Verbruggen on 01/11/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 16/12/2021.
|
// Created by Nico Verbruggen on 16/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
@ -40,5 +40,4 @@ class VersionExtractor {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 01/11/2022.
|
// Created by Nico Verbruggen on 01/11/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// ActivePhpInstallation.swift
|
// ActivePhpInstallation.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 01/05/2022.
|
// Created by Nico Verbruggen on 01/05/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// HomebrewPackage.swift
|
// HomebrewPackage.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 11/01/2022.
|
// Created by Nico Verbruggen on 11/01/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 21/12/2021.
|
// Created by Nico Verbruggen on 21/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 17/03/2022.
|
// Created by Nico Verbruggen on 17/03/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 23/01/2022.
|
// Created by Nico Verbruggen on 23/01/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 04/05/2022.
|
// Created by Nico Verbruggen on 04/05/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 31/01/2021.
|
// Created by Nico Verbruggen on 31/01/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 28/11/2021.
|
// Created by Nico Verbruggen on 28/11/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 24/12/2021.
|
// Created by Nico Verbruggen on 24/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 24/12/2021.
|
// Created by Nico Verbruggen on 24/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 15/05/2022.
|
// Created by Nico Verbruggen on 15/05/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 20/09/2022.
|
// Created by Nico Verbruggen on 20/09/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 21/09/2022.
|
// Created by Nico Verbruggen on 21/09/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
@ -68,6 +68,7 @@ class RealShell: ShellProtocol {
|
|||||||
let task = Process()
|
let task = Process()
|
||||||
task.launchPath = self.launchPath
|
task.launchPath = self.launchPath
|
||||||
task.arguments = ["--noprofile", "-norc", "--login", "-c", completeCommand]
|
task.arguments = ["--noprofile", "-norc", "--login", "-c", completeCommand]
|
||||||
|
|
||||||
return task
|
return task
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,6 +114,35 @@ class RealShell: ShellProtocol {
|
|||||||
encoding: .utf8
|
encoding: .utf8
|
||||||
)!
|
)!
|
||||||
|
|
||||||
|
if Log.shared.verbosity == .cli {
|
||||||
|
var args = task.arguments
|
||||||
|
let last: String = "\"" + (args?.popLast() ?? "") + "\""
|
||||||
|
let concat = [self.launchPath] + task.arguments! + [last]
|
||||||
|
let command = concat.joined(separator: " ")
|
||||||
|
var log = """
|
||||||
|
|
||||||
|
<~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
$ \(command)
|
||||||
|
|
||||||
|
[OUT]:
|
||||||
|
\(stdOut)
|
||||||
|
"""
|
||||||
|
|
||||||
|
if !stdErr.isEmpty {
|
||||||
|
log.append("""
|
||||||
|
[ERR]:
|
||||||
|
\(stdErr)
|
||||||
|
""")
|
||||||
|
}
|
||||||
|
|
||||||
|
log.append("""
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~>
|
||||||
|
|
||||||
|
""")
|
||||||
|
|
||||||
|
Log.info(log)
|
||||||
|
}
|
||||||
|
|
||||||
return .out(stdOut, stdErr)
|
return .out(stdOut, stdErr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 21/09/2022.
|
// Created by Nico Verbruggen on 21/09/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 12/10/2022.
|
// Created by Nico Verbruggen on 12/10/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 16/10/2022.
|
// Created by Nico Verbruggen on 16/10/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 04/10/2022.
|
// Created by Nico Verbruggen on 04/10/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 21/09/2022.
|
// Created by Nico Verbruggen on 21/09/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 05/12/2021.
|
// Created by Nico Verbruggen on 05/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 05/12/2021.
|
// Created by Nico Verbruggen on 05/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// StateManager.swift
|
// StateManager.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 20/12/2021.
|
// Created by Nico Verbruggen on 20/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 05/12/2021.
|
// Created by Nico Verbruggen on 05/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 06/12/2021.
|
// Created by Nico Verbruggen on 06/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// AppDelegate.swift
|
// AppDelegate.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
@ -56,10 +56,9 @@ class AppDelegate: NSObject, NSApplicationDelegate, UNUserNotificationCenterDele
|
|||||||
When the application initializes, create all singletons.
|
When the application initializes, create all singletons.
|
||||||
*/
|
*/
|
||||||
override init() {
|
override init() {
|
||||||
logger.verbosity = .info
|
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
logger.verbosity = .performance
|
logger.verbosity = .performance
|
||||||
|
|
||||||
if let profile = CommandLine.arguments.first(where: { $0.matches(pattern: "--configuration:*") }) {
|
if let profile = CommandLine.arguments.first(where: { $0.matches(pattern: "--configuration:*") }) {
|
||||||
Self.initializeTestingProfile(profile.replacingOccurrences(of: "--configuration:", with: ""))
|
Self.initializeTestingProfile(profile.replacingOccurrences(of: "--configuration:", with: ""))
|
||||||
}
|
}
|
||||||
@ -70,6 +69,16 @@ class AppDelegate: NSObject, NSApplicationDelegate, UNUserNotificationCenterDele
|
|||||||
Log.info("Extra verbose mode has been activated.")
|
Log.info("Extra verbose mode has been activated.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if CommandLine.arguments.contains("--cli") {
|
||||||
|
logger.verbosity = .cli
|
||||||
|
Log.info("Extra CLI mode has been activated via --cli flag.")
|
||||||
|
}
|
||||||
|
|
||||||
|
if FileSystem.fileExists("~/.config/phpmon/verbose") {
|
||||||
|
logger.verbosity = .cli
|
||||||
|
Log.info("Extra CLI mode is on (`~/.config/phpmon/verbose` exists).")
|
||||||
|
}
|
||||||
|
|
||||||
Log.separator(as: .info)
|
Log.separator(as: .info)
|
||||||
Log.info("PHP MONITOR by Nico Verbruggen")
|
Log.info("PHP MONITOR by Nico Verbruggen")
|
||||||
Log.info("Version \(App.version)")
|
Log.info("Version \(App.version)")
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 09/05/2022.
|
// Created by Nico Verbruggen on 09/05/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 10/05/2022.
|
// Created by Nico Verbruggen on 10/05/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 10/08/2022.
|
// Created by Nico Verbruggen on 10/08/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 14/09/2022.
|
// Created by Nico Verbruggen on 14/09/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 28/01/2022.
|
// Created by Nico Verbruggen on 28/01/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 23/12/2022.
|
// Created by Nico Verbruggen on 23/12/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 23/12/2022.
|
// Created by Nico Verbruggen on 23/12/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 11/06/2022.
|
// Created by Nico Verbruggen on 11/06/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 23/12/2022.
|
// Created by Nico Verbruggen on 23/12/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Environment.swift
|
// Environment.swift
|
||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
@ -242,7 +242,7 @@ class Startup {
|
|||||||
.components(separatedBy: "Laravel Valet")[1]
|
.components(separatedBy: "Laravel Valet")[1]
|
||||||
.trimmingCharacters(in: .whitespaces)
|
.trimmingCharacters(in: .whitespaces)
|
||||||
// Extract the version number
|
// Extract the version number
|
||||||
Valet.shared.version = try! VersionNumber.parse(VersionExtractor.from(output)!)
|
Valet.shared.version = try! VersionNumber.parse(VersionExtractor.from(versionString)!)
|
||||||
// Get the actual version
|
// Get the actual version
|
||||||
return Valet.shared.version == nil
|
return Valet.shared.version == nil
|
||||||
},
|
},
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 24/01/2022.
|
// Created by Nico Verbruggen on 24/01/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 24/01/2022.
|
// Created by Nico Verbruggen on 24/01/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 03/12/2021.
|
// Created by Nico Verbruggen on 03/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 16/03/2022.
|
// Created by Nico Verbruggen on 16/03/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 16/03/2022.
|
// Created by Nico Verbruggen on 16/03/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 16/03/2022.
|
// Created by Nico Verbruggen on 16/03/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
@ -28,7 +28,7 @@ class DomainListPhpCell: NSTableCellView, DomainListCellProtocol {
|
|||||||
|
|
||||||
imageViewPhpVersionOK.toolTip = nil
|
imageViewPhpVersionOK.toolTip = nil
|
||||||
|
|
||||||
imageViewPhpVersionOK.contentTintColor = site.composerPhpCompatibleWithLinked
|
imageViewPhpVersionOK.contentTintColor = site.isCompatibleWithPreferredPhpVersion
|
||||||
? NSColor(named: "IconColorGreen")
|
? NSColor(named: "IconColorGreen")
|
||||||
: NSColor(named: "IconColorRed")
|
: NSColor(named: "IconColorRed")
|
||||||
|
|
||||||
@ -37,9 +37,9 @@ class DomainListPhpCell: NSTableCellView, DomainListCellProtocol {
|
|||||||
imageViewPhpVersionOK.image = NSImage(named: "Isolated")
|
imageViewPhpVersionOK.image = NSImage(named: "Isolated")
|
||||||
imageViewPhpVersionOK.toolTip = "domain_list.tooltips.isolated".localized(site.servingPhpVersion)
|
imageViewPhpVersionOK.toolTip = "domain_list.tooltips.isolated".localized(site.servingPhpVersion)
|
||||||
} else {
|
} else {
|
||||||
imageViewPhpVersionOK.isHidden = (site.composerPhp == "???" || !site.composerPhpCompatibleWithLinked)
|
imageViewPhpVersionOK.isHidden = (site.preferredPhpVersion == "???" || !site.isCompatibleWithPreferredPhpVersion)
|
||||||
imageViewPhpVersionOK.image = NSImage(named: "Checkmark")
|
imageViewPhpVersionOK.image = NSImage(named: "Checkmark")
|
||||||
imageViewPhpVersionOK.toolTip = "domain_list.tooltips.checkmark".localized(site.composerPhp)
|
imageViewPhpVersionOK.toolTip = "domain_list.tooltips.checkmark".localized(site.preferredPhpVersion)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -58,7 +58,7 @@ class DomainListPhpCell: NSTableCellView, DomainListCellProtocol {
|
|||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
|
||||||
return PhpEnv.shared.validVersions(for: site.composerPhp).filter({ version in
|
return PhpEnv.shared.validVersions(for: site.preferredPhpVersion).filter({ version in
|
||||||
version.short != PhpEnv.phpInstall.version.short
|
version.short != PhpEnv.phpInstall.version.short
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 16/03/2022.
|
// Created by Nico Verbruggen on 16/03/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 16/03/2022.
|
// Created by Nico Verbruggen on 16/03/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
@ -25,7 +25,7 @@ class DomainListTypeCell: NSTableCellView, DomainListCellProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// PHP version
|
// PHP version
|
||||||
labelPhpVersion.stringValue = site.composerPhp == "???" ? "Any PHP" : "PHP \(site.composerPhp)"
|
labelPhpVersion.stringValue = site.preferredPhpVersion == "???" ? "Any PHP" : "PHP \(site.preferredPhpVersion)"
|
||||||
}
|
}
|
||||||
|
|
||||||
func populateCell(with proxy: ValetProxy) {
|
func populateCell(with proxy: ValetProxy) {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 23/12/2021.
|
// Created by Nico Verbruggen on 23/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 10/12/2021.
|
// Created by Nico Verbruggen on 10/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 30/03/2021.
|
// Created by Nico Verbruggen on 30/03/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 03/12/2021.
|
// Created by Nico Verbruggen on 03/12/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 05/09/2022.
|
// Created by Nico Verbruggen on 05/09/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 14/04/2022.
|
// Created by Nico Verbruggen on 14/04/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
48
phpmon/Domain/Integrations/Common/RCFile.swift
Normal file
48
phpmon/Domain/Integrations/Common/RCFile.swift
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
//
|
||||||
|
// RCFile.swift
|
||||||
|
// PHP Monitor
|
||||||
|
//
|
||||||
|
// Created by Nico Verbruggen on 24/01/2023.
|
||||||
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
struct RCFile {
|
||||||
|
let path: String?
|
||||||
|
let fields: [String: String]
|
||||||
|
|
||||||
|
static func fromPath(_ path: String) -> RCFile? {
|
||||||
|
do {
|
||||||
|
let text = try String(contentsOf: URL(fileURLWithPath: path), encoding: .utf8)
|
||||||
|
return RCFile(path: path, contents: text)
|
||||||
|
} catch {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
init(path: String? = nil, contents: String) {
|
||||||
|
var fields: [String: String] = [:]
|
||||||
|
|
||||||
|
contents
|
||||||
|
.split(separator: "\n")
|
||||||
|
.forEach({ line in
|
||||||
|
if line.contains("=") {
|
||||||
|
let content = line.split(separator: "=")
|
||||||
|
let key = String(content[0])
|
||||||
|
.trimmingCharacters(in: .whitespaces)
|
||||||
|
.replacingOccurrences(of: "\"", with: "")
|
||||||
|
if key.starts(with: "#") {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let value = String(content[1])
|
||||||
|
.trimmingCharacters(in: .whitespaces)
|
||||||
|
.replacingOccurrences(of: "\"", with: "")
|
||||||
|
fields[key] = value
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
self.path = path
|
||||||
|
self.fields = fields
|
||||||
|
}
|
||||||
|
}
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 04/01/2022.
|
// Created by Nico Verbruggen on 04/01/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
@ -40,7 +40,7 @@ struct ComposerJson: Decodable {
|
|||||||
Checks what the PHP version constraint is.
|
Checks what the PHP version constraint is.
|
||||||
Returns a tuple (constraint, location of constraint).
|
Returns a tuple (constraint, location of constraint).
|
||||||
*/
|
*/
|
||||||
public func getPhpVersion() -> (String, ValetSite.VersionSource) {
|
public func getPhpVersion() -> (String, PhpVersionSource) {
|
||||||
// Check if in platform
|
// Check if in platform
|
||||||
if configuration?.platform?.php != nil {
|
if configuration?.platform?.php != nil {
|
||||||
return (configuration!.platform!.php!, .platform)
|
return (configuration!.platform!.php!, .platform)
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 08/02/2022.
|
// Created by Nico Verbruggen on 08/02/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 26/01/2022.
|
// Created by Nico Verbruggen on 26/01/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 28/11/2021.
|
// Created by Nico Verbruggen on 28/11/2021.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 15/03/2022.
|
// Created by Nico Verbruggen on 15/03/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 13/12/2022.
|
// Created by Nico Verbruggen on 13/12/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 21/10/2022.
|
// Created by Nico Verbruggen on 21/10/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 12/04/2022.
|
// Created by Nico Verbruggen on 12/04/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// PHP Monitor
|
// PHP Monitor
|
||||||
//
|
//
|
||||||
// Created by Nico Verbruggen on 16/12/2022.
|
// Created by Nico Verbruggen on 16/12/2022.
|
||||||
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user