Skip to content

Commit f8af383

Browse files
authored
Merge pull request #963 from lukepistrol/fix/acknowledgement-window
[fix]: Acknowledgements Window
2 parents aeb32c7 + 352b952 commit f8af383

File tree

7 files changed

+62
-161
lines changed

7 files changed

+62
-161
lines changed

CodeEdit.xcodeproj/project.pbxproj

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@
5050
2813F93827ECC4AA00E305E4 /* FindNavigatorResultList.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7E201B327E9989900CB86D0 /* FindNavigatorResultList.swift */; };
5151
2813F93927ECC4C300E305E4 /* NavigatorSidebarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 287776E627E3413200D46668 /* NavigatorSidebarView.swift */; };
5252
2816F594280CF50500DD548B /* CodeEditSymbols in Frameworks */ = {isa = PBXBuildFile; productRef = 2816F593280CF50500DD548B /* CodeEditSymbols */; };
53+
283BDCBD2972EEBD002AFF81 /* Package.resolved in Resources */ = {isa = PBXBuildFile; fileRef = 283BDCBC2972EEBD002AFF81 /* Package.resolved */; };
54+
283BDCC52972F236002AFF81 /* AcknowledgementsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 283BDCC42972F236002AFF81 /* AcknowledgementsTests.swift */; };
5355
2847019E27FDDF7600F87B6B /* OutlineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2847019D27FDDF7600F87B6B /* OutlineView.swift */; };
5456
285FEC7027FE4B9800E57D53 /* OutlineTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 285FEC6F27FE4B9800E57D53 /* OutlineTableViewCell.swift */; };
5557
286471AB27ED51FD0039369D /* ProjectNavigatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 286471AA27ED51FD0039369D /* ProjectNavigatorView.swift */; };
@@ -417,6 +419,8 @@
417419
20EBB506280C32D300F3A5DA /* QuickHelpInspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuickHelpInspectorView.swift; sourceTree = "<group>"; };
418420
20EBB50C280C383700F3A5DA /* LanguageType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LanguageType.swift; sourceTree = "<group>"; };
419421
20EBB50E280C389300F3A5DA /* FileInspectorModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileInspectorModel.swift; sourceTree = "<group>"; };
422+
283BDCBC2972EEBD002AFF81 /* Package.resolved */ = {isa = PBXFileReference; lastKnownFileType = text; name = Package.resolved; path = CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved; sourceTree = "<group>"; };
423+
283BDCC42972F236002AFF81 /* AcknowledgementsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AcknowledgementsTests.swift; sourceTree = "<group>"; };
420424
2847019D27FDDF7600F87B6B /* OutlineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OutlineView.swift; sourceTree = "<group>"; };
421425
285FEC6D27FE4B4A00E57D53 /* OutlineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OutlineViewController.swift; sourceTree = "<group>"; };
422426
285FEC6F27FE4B9800E57D53 /* OutlineTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OutlineTableViewCell.swift; sourceTree = "<group>"; };
@@ -870,6 +874,14 @@
870874
path = DefaultThemes;
871875
sourceTree = "<group>";
872876
};
877+
283BDCC22972F211002AFF81 /* Acknowledgements */ = {
878+
isa = PBXGroup;
879+
children = (
880+
283BDCC42972F236002AFF81 /* AcknowledgementsTests.swift */,
881+
);
882+
path = Acknowledgements;
883+
sourceTree = "<group>";
884+
};
873885
285FEC6C27FE4AC700E57D53 /* OutlineView */ = {
874886
isa = PBXGroup;
875887
children = (
@@ -1402,6 +1414,7 @@
14021414
587B60FE293416C900D5CD8F /* Features */ = {
14031415
isa = PBXGroup;
14041416
children = (
1417+
283BDCC22972F211002AFF81 /* Acknowledgements */,
14051418
4EE96EC82960562000FFBEA8 /* Documents */,
14061419
583E527429361B39001AB554 /* CodeEditUI */,
14071420
583E526929361B39001AB554 /* Welcome */,
@@ -2131,6 +2144,7 @@
21312144
B658FB2327DA9E0F00EA4DBD = {
21322145
isa = PBXGroup;
21332146
children = (
2147+
283BDCBC2972EEBD002AFF81 /* Package.resolved */,
21342148
58F2EACE292FB2B0004A9BDE /* Documentation.docc */,
21352149
B658FB2E27DA9E0F00EA4DBD /* CodeEdit */,
21362150
587B60F329340A8000D5CD8F /* CodeEditTests */,
@@ -2238,7 +2252,6 @@
22382252
isa = PBXNativeTarget;
22392253
buildConfigurationList = B658FB5127DA9E1000EA4DBD /* Build configuration list for PBXNativeTarget "CodeEdit" */;
22402254
buildPhases = (
2241-
FDF7C12027FAE90F0039BA76 /* Copy Package.resolved into Project Directory */,
22422255
B658FB2827DA9E0F00EA4DBD /* Sources */,
22432256
B658FB2927DA9E0F00EA4DBD /* Frameworks */,
22442257
B658FB2A27DA9E0F00EA4DBD /* Resources */,
@@ -2382,6 +2395,7 @@
23822395
isa = PBXResourcesBuildPhase;
23832396
buildActionMask = 2147483647;
23842397
files = (
2398+
283BDCBD2972EEBD002AFF81 /* Package.resolved in Resources */,
23852399
B658FB3727DA9E1000EA4DBD /* Preview Assets.xcassets in Resources */,
23862400
28A51006281701B40087B0CC /* codeedit-github-dark.json in Resources */,
23872401
58A5DFA529339F6400D1BD5D /* default_keybindings.json in Resources */,
@@ -2468,25 +2482,6 @@
24682482
shellPath = /bin/sh;
24692483
shellScript = "TAGS=\"\\/\\/ swiftlint:disable all\"\necho \"searching ${SRCROOT} for ${TAGS}\"\nfind \"${SRCROOT}\" \\( -name \"*.swift\" \\) -print0 | xargs -0 egrep --with-filename --line-number --only-matching \"($TAGS).*\\$\" | perl -p -e \"s/($TAGS)/ error: Usage of \\$1 is prohibited/\"\n";
24702484
};
2471-
FDF7C12027FAE90F0039BA76 /* Copy Package.resolved into Project Directory */ = {
2472-
isa = PBXShellScriptBuildPhase;
2473-
alwaysOutOfDate = 1;
2474-
buildActionMask = 2147483647;
2475-
files = (
2476-
);
2477-
inputFileListPaths = (
2478-
);
2479-
inputPaths = (
2480-
);
2481-
name = "Copy Package.resolved into Project Directory";
2482-
outputFileListPaths = (
2483-
);
2484-
outputPaths = (
2485-
);
2486-
runOnlyForDeploymentPostprocessing = 0;
2487-
shellPath = /bin/sh;
2488-
shellScript = "# The following script copies the generated Package.resolved file into the project directory, ignoring any errors.\ncp ${PROJECT_DIR}/CodeEdit.xcworkspace/xcshareddata/swiftpm/Package.resolved ${PROJECT_DIR} || :\n";
2489-
};
24902485
/* End PBXShellScriptBuildPhase section */
24912486

24922487
/* Begin PBXSourcesBuildPhase section */
@@ -2785,6 +2780,7 @@
27852780
583E528C29361B39001AB554 /* CodeEditUITests.swift in Sources */,
27862781
587B60F82934124200D5CD8F /* WorkspaceClientTests.swift in Sources */,
27872782
587B61012934170A00D5CD8F /* UnitTests_Extensions.swift in Sources */,
2783+
283BDCC52972F236002AFF81 /* AcknowledgementsTests.swift in Sources */,
27882784
4EE96ECB2960565E00FFBEA8 /* DocumentsUnitTests.swift in Sources */,
27892785
4EE96ECE296059E000FFBEA8 /* NSHapticFeedbackPerformerMock.swift in Sources */,
27902786
587B612E293419B700D5CD8F /* CodeFileTests.swift in Sources */,
@@ -3042,7 +3038,7 @@
30423038
ENABLE_PREVIEWS = YES;
30433039
GENERATE_INFOPLIST_FILE = YES;
30443040
INFOPLIST_FILE = CodeEdit/Info.plist;
3045-
INFOPLIST_KEY_NSHumanReadableCopyright = "© 2022 CodeEdit";
3041+
INFOPLIST_KEY_NSHumanReadableCopyright = "© 2022-2023 CodeEdit";
30463042
INFOPLIST_KEY_NSPrincipalClass = CodeEdit.CodeEditApplication;
30473043
LD_RUNPATH_SEARCH_PATHS = (
30483044
"$(inherited)",
@@ -3076,7 +3072,7 @@
30763072
ENABLE_PREVIEWS = YES;
30773073
GENERATE_INFOPLIST_FILE = YES;
30783074
INFOPLIST_FILE = CodeEdit/Info.plist;
3079-
INFOPLIST_KEY_NSHumanReadableCopyright = "© 2022 CodeEdit";
3075+
INFOPLIST_KEY_NSHumanReadableCopyright = "© 2022-2023 CodeEdit";
30803076
INFOPLIST_KEY_NSPrincipalClass = CodeEdit.CodeEditApplication;
30813077
LD_RUNPATH_SEARCH_PATHS = (
30823078
"$(inherited)",
@@ -3271,8 +3267,8 @@
32713267
isa = XCRemoteSwiftPackageReference;
32723268
repositoryURL = "https://github.com/lukepistrol/SwiftLintPlugin";
32733269
requirement = {
3274-
branch = main;
3275-
kind = branch;
3270+
kind = upToNextMajorVersion;
3271+
minimumVersion = 0.2.2;
32763272
};
32773273
};
32783274
583E529A29361BAB001AB554 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */ = {

CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CodeEdit/Features/Acknowledgements/ViewModels/AcknowledgementsViewModel.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,21 @@ final class AcknowledgementsViewModel: ObservableObject {
2323
func fetchDependencies() {
2424
self.acknowledgements.removeAll()
2525
do {
26-
if let bundlePath = Bundle.main.path(forResource: "Package.resolved", ofType: nil) {
26+
if let bundlePath = Bundle.main.path(forResource: "Package", ofType: "resolved") {
2727
let jsonData = try String(contentsOfFile: bundlePath).data(using: .utf8)
28-
let parsedJSON = try JSONDecoder().decode(AcknowledgementRootObject.self, from: jsonData!)
29-
for dependency in parsedJSON.object.pins.sorted(by: { $0.package < $1.package })
30-
where dependency.package.range(
28+
let parsedJSON = try JSONDecoder().decode(AcknowledgementObject.self, from: jsonData!)
29+
for dependency in parsedJSON.pins.sorted(by: { $0.identity < $1.identity })
30+
where dependency.identity.range(
3131
of: "[Cc]ode[Ee]dit",
3232
options: .regularExpression,
3333
range: nil,
3434
locale: nil
3535
) == nil {
3636
self.acknowledgements.append(
3737
AcknowledgementDependency(
38-
name: dependency.package,
39-
repositoryLink: dependency.repositoryURL,
40-
version: dependency.state.version ?? ""
38+
name: dependency.name,
39+
repositoryLink: dependency.location,
40+
version: dependency.state.version ?? "-"
4141
)
4242
)
4343
}

CodeEdit/Features/Acknowledgements/Views/AcknowledgementsView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ struct AcknowledgementsView: View {
3333
}.padding(.horizontal, 15)
3434
}
3535
}
36+
.frame(minWidth: 300, alignment: .leading)
3637
}
3738

3839
func showWindow(width: CGFloat, height: CGFloat) {

CodeEdit/Features/Acknowledgements/Views/ParsePackagesResolved.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@ struct AcknowledgementDependency: Decodable {
1616
}
1717
}
1818

19-
struct AcknowledgementRootObject: Codable {
20-
let object: AcknowledgementObject
21-
}
22-
2319
// MARK: - Object
2420
struct AcknowledgementObject: Codable {
2521
let pins: [AcknowledgementPin]
2622
}
2723

2824
// MARK: - Pin
2925
struct AcknowledgementPin: Codable {
30-
let package: String
31-
let repositoryURL: String
26+
let identity: String
27+
let location: String
3228
let state: AcknowledgementPackageState
29+
30+
var name: String {
31+
location.split(separator: "/").last?.replacingOccurrences(of: ".git", with: "") ?? identity
32+
}
3333
}
3434

3535
// MARK: - State
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//
2+
// AcknowledgementsTests.swift
3+
// CodeEditTests
4+
//
5+
// Created by Lukas Pistrol on 14.01.23.
6+
//
7+
8+
import XCTest
9+
@testable import CodeEdit
10+
11+
final class AcknowledgementsTests: XCTestCase {
12+
13+
var model: AcknowledgementsViewModel!
14+
15+
override func setUpWithError() throws {
16+
model = .init()
17+
}
18+
19+
override func tearDownWithError() throws {
20+
model = nil
21+
}
22+
23+
func testAcknowledgementsNotEmpty() throws {
24+
XCTAssertFalse(model.acknowledgements.isEmpty)
25+
}
26+
}

Package.resolved

Lines changed: 0 additions & 122 deletions
This file was deleted.

0 commit comments

Comments
 (0)