Skip to content

Commit

Permalink
Fix project warnings & Update GHA config
Browse files Browse the repository at this point in the history
  • Loading branch information
williambj1 committed Jun 16, 2024
1 parent 13f2697 commit 39bab47
Show file tree
Hide file tree
Showing 14 changed files with 71 additions and 54 deletions.
9 changes: 4 additions & 5 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ jobs:
runs-on: macos-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- uses: actions/cache@v2
- uses: actions/cache@v4
with:
path: build/SourcePackages
key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
Expand Down Expand Up @@ -109,9 +109,8 @@ jobs:
- name: Delete Old Prerelease
if: (github.event_name == 'push' && github.ref_name == 'master') || github.event_name == 'workflow_dispatch'
uses: dev-drprasad/[email protected]
with:
tag_name: ${{ env.OLD_PRE_TAG }}
run: gh release delete ${{ env.OLD_PRE_TAG }} --cleanup-tag
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
1 change: 1 addition & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ disabled_rules:
- file_length
- cyclomatic_complexity
- inclusive_language
- void_function_in_ternary
6 changes: 3 additions & 3 deletions ClientKit/Api.c
Original file line number Diff line number Diff line change
Expand Up @@ -254,20 +254,20 @@ kern_return_t ioctl_get(int ctl, void *data, size_t data_len) {
return _ioctl(ctl, true, data, data_len);
}

bool is_power_on() {
bool is_power_on(void) {
struct ioctl_power power;
ioctl_get(IOCTL_80211_POWER, &power, sizeof(struct ioctl_power));
return power.enabled;
}

kern_return_t power_on() {
kern_return_t power_on(void) {
struct ioctl_power power;
power.enabled = 1;
power.version = IOCTL_VERSION;
return ioctl_set(IOCTL_80211_POWER, &power, sizeof(struct ioctl_power));
}

kern_return_t power_off() {
kern_return_t power_off(void) {
struct ioctl_power power;
power.enabled = 0;
power.version = IOCTL_VERSION;
Expand Down
26 changes: 17 additions & 9 deletions HeliPort.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 52;
objectVersion = 54;
objects = {

/* Begin PBXBuildFile section */
Expand Down Expand Up @@ -283,8 +283,9 @@
BCFA32DF2424D2BE00E23603 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
LastSwiftUpdateCheck = 1150;
LastUpgradeCheck = 1140;
LastUpgradeCheck = 1600;
ORGANIZATIONNAME = OpenIntelWireless;
TargetAttributes = {
50F4959C24BDEB6500AE4C08 = {
Expand Down Expand Up @@ -359,6 +360,7 @@
/* Begin PBXShellScriptBuildPhase section */
75E3976A2487FAF600E84DB8 /* Lint */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
Expand All @@ -373,7 +375,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/zsh;
shellScript = "GITHUB_ACTIONS=y\n\nfunction stripPWD() {\n sed \"s/$(pwd | sed 's/\\//\\\\\\//g')\\///\"\n}\n\nfunction convertToGitHubActionsLoggingCommands() {\n sed -E 's/^(.*):([0-9]+):([0-9]+): (warning|error|[^:]+): (.*)/::\\4 file=\\1,line=\\2,col=\\3::\\5/'\n}\n\nif which swiftlint >/dev/null; then\n if [[ ! -z ${GITHUB_ACTIONS+x} ]]; then\n swiftlint | stripPWD | convertToGitHubActionsLoggingCommands && exit ${PIPESTATUS[0]}\n else\n swiftlint\n fi\nelse\n TIP=\"SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\n if [ \"${CONFIGURATION}\" == \"Debug\" ]; then\n echo \"error: $TIP\"\n exit 1\n else\n echo \"warning: $TIP\"\n fi\nfi\n\nerrCount=0\nfor file (./HeliPort/Appearance/**/*.strings) {\n plutil -lint $file\n if [[ $file != *\"zh-Han\"* ]]; then\n local output=\"$(grep -Hn \":\" $file | cut -d: -f1-2)\"\n if [[ ! -z $output ]]; then\n ((errCount+=1))\n echo \"${output}: error: Unexpected Chinese colon\"\n fi\n fi\n}\n\nif [ $errCount -gt 0 ]; then\n exit 1\nfi\n";
shellScript = "if [[ \"$(uname -m)\" == arm64 ]]\nthen\n export PATH=\"/opt/homebrew/bin:$PATH\"\nfi\n\nif command -v swiftlint >/dev/null 2>&1\nthen\n swiftlint\nelse\n echo \"warning: `swiftlint` command not found - See https://github.com/realm/SwiftLint#installation for installation instructions.\"\nfi\n\nerrCount=0\nfor file (./HeliPort/Appearance/**/*.strings) {\n plutil -lint $file\n if [[ $file != *\"zh-Han\"* ]]; then\n local output=\"$(grep -Hn \":\" $file | cut -d: -f1-2)\"\n if [[ ! -z $output ]]; then\n ((errCount+=1))\n echo \"${output}: error: Unexpected Chinese colon\"\n fi\n fi\n}\n\nif [ $errCount -gt 0 ]; then\n exit 1\nfi\n";
};
/* End PBXShellScriptBuildPhase section */

Expand Down Expand Up @@ -459,12 +461,12 @@
buildSettings = {
CODE_SIGN_ENTITLEMENTS = "HeliPort Launcher/HeliPort_Launcher.entitlements";
COMBINE_HIDPI_IMAGES = YES;
DEAD_CODE_STRIPPING = YES;
INFOPLIST_FILE = "HeliPort Launcher/Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.12;
PRODUCT_BUNDLE_IDENTIFIER = "com.OpenIntelWireless.HeliPort-Launcher";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
Expand All @@ -477,12 +479,12 @@
buildSettings = {
CODE_SIGN_ENTITLEMENTS = "HeliPort Launcher/HeliPort_Launcher.entitlements";
COMBINE_HIDPI_IMAGES = YES;
DEAD_CODE_STRIPPING = YES;
INFOPLIST_FILE = "HeliPort Launcher/Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.12;
PRODUCT_BUNDLE_IDENTIFIER = "com.OpenIntelWireless.HeliPort-Launcher";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
Expand All @@ -494,7 +496,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = x86_64;
ARCHS = "$(ARCHS_STANDARD)";
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
Expand All @@ -518,6 +520,7 @@
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
Expand All @@ -527,6 +530,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
Expand All @@ -544,9 +548,10 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.12;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_SWIFT_FLAGS = "-D DEBUG";
SDKROOT = macosx;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
Expand Down Expand Up @@ -582,6 +587,7 @@
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
Expand All @@ -591,6 +597,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
Expand All @@ -602,7 +609,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.12;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = macosx;
Expand All @@ -618,6 +625,7 @@
CODE_SIGN_ENTITLEMENTS = HeliPort/HeliPort.entitlements;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = "$(MARKETING_VERSION)";
DEAD_CODE_STRIPPING = YES;
INFOPLIST_FILE = HeliPort/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
Expand All @@ -638,6 +646,7 @@
CODE_SIGN_ENTITLEMENTS = HeliPort/HeliPort.entitlements;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = "$(MARKETING_VERSION)";
DEAD_CODE_STRIPPING = YES;
INFOPLIST_FILE = HeliPort/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
Expand All @@ -647,7 +656,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.OpenIntelWireless.HeliPort;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = ClientKit/Api.h;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Release;
Expand Down
4 changes: 2 additions & 2 deletions HeliPort/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ class AppDelegate: NSObject, NSApplicationDelegate {

_ = ioctl_get(Int32(IOCTL_80211_DRIVER_INFO.rawValue), &drv_info, MemoryLayout<ioctl_driver_info>.size)

let version = String(cString: &drv_info.driver_version.0)
let interface = String(cString: &drv_info.bsd_name.0)
let version = String(cCharArray: drv_info.driver_version)
let interface = String(cCharArray: drv_info.bsd_name)
guard !version.isEmpty, !interface.isEmpty else {
Log.error("itlwm kext not loaded!")
#if !DEBUG
Expand Down
6 changes: 3 additions & 3 deletions HeliPort/Appearance/StatusMenu.swift
Original file line number Diff line number Diff line change
Expand Up @@ -366,9 +366,9 @@ final class StatusMenu: NSMenu, NSMenuDelegate {
}

if get_platform_info(&platformInfo) {
bsdName = String(cString: &platformInfo.device_info_str.0)
bsdName = String(cCharArray: platformInfo.device_info_str)
macAddr = NetworkManager.getMACAddressFromBSD(bsd: bsdName) ?? macAddr
itlwmVer = String(cString: &platformInfo.driver_info_str.0)
itlwmVer = String(cCharArray: platformInfo.driver_info_str)
}

DispatchQueue.main.async {
Expand Down Expand Up @@ -500,7 +500,7 @@ final class StatusMenu: NSMenu, NSMenuDelegate {
var hideDisconnect = true
if self.status == ITL80211_S_RUN && get_station_info(&staInfo) == KERN_SUCCESS {
#if !DEBUG
entity = CredentialsManager.instance.getStorageFromSsid(String(cString: &staInfo.ssid.0))
entity = CredentialsManager.instance.getStorageFromSsid(String(cCharArray: staInfo.ssid))
#endif
hideDisconnect = entity?.autoJoin ?? false
self.isNetworkConnected = true
Expand Down
2 changes: 1 addition & 1 deletion HeliPort/Appearance/WiFiConfigWindow.swift
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ extension WiFiConfigWindow: NSTextFieldDelegate {
}

// password is too short, less than 8 characters
guard (!passwdInputBox.isHidden || !passwdSecureBox.isHidden),
guard !passwdInputBox.isHidden || !passwdSecureBox.isHidden,
passwdSecureBox.stringValue.count >= 8,
passwdInputBox.stringValue.count >= 8 else {
rightButton.isEnabled = false
Expand Down
12 changes: 6 additions & 6 deletions HeliPort/CredentialsManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ final class CredentialsManager {
}

func save(_ network: NetworkInfo) {
guard let networkAuthJson = try? String(data: JSONEncoder().encode(network.auth), encoding: .utf8) else {
guard let networkAuthJson = try? String(decoding: JSONEncoder().encode(network.auth), as: UTF8.self) else {
return
}
network.auth = NetworkAuth()
let entity = NetworkInfoStorageEntity(network)
guard let entityJson = try? String(data: JSONEncoder().encode(entity), encoding: .utf8) else {
guard let entityJson = try? String(decoding: JSONEncoder().encode(entity), as: UTF8.self) else {
return
}

Expand Down Expand Up @@ -83,8 +83,8 @@ final class CredentialsManager {

entity.autoJoin = autoJoin

guard let entityJson = try? String(data: JSONEncoder().encode(entity), encoding: .utf8),
let authJson = try? String(data: JSONEncoder().encode(auth), encoding: .utf8) else {
guard let entityJson = try? String(decoding: JSONEncoder().encode(entity), as: UTF8.self),
let authJson = try? String(decoding: JSONEncoder().encode(auth), as: UTF8.self) else {
return
}

Expand All @@ -99,8 +99,8 @@ final class CredentialsManager {

entity.order = priority

guard let entityJson = try? String(data: JSONEncoder().encode(entity), encoding: .utf8),
let authJson = try? String(data: JSONEncoder().encode(auth), encoding: .utf8) else {
guard let entityJson = try? String(decoding: JSONEncoder().encode(entity), as: UTF8.self),
let authJson = try? String(decoding: JSONEncoder().encode(auth), as: UTF8.self) else {
return
}

Expand Down
Loading

0 comments on commit 39bab47

Please sign in to comment.