Skip to content

Commit 9896cfb

Browse files
authored
chore: Refactor build system and add new test schemes (#36)
- Updated .gitignore to include new log files for iOS app and share extension builds. - Refactored Makefile to separate build targets for app, core, and share extension. - Added new test schemes for FlinkyCore and ShareExtension, including configurations for UI and unit tests. - Created new test plans for various test targets to streamline testing processes. - Introduced new test files for persistence and model tests in FlinkyCore. - Ensured all new test targets are properly configured in the Xcode project.
1 parent 825b008 commit 9896cfb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+890
-161
lines changed

.gitignore

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,15 @@ xcuserdata/
101101
.env
102102

103103
# Build logs
104-
raw-build-ios.log
104+
raw-build-ios-app.log
105105
raw-build-ios-core.log
106106
raw-build-share-extension-ios.log
107-
raw-test-ios.log
107+
raw-test-ios-app.log
108108
raw-test-ios-core.log
109-
raw-test-ui-ios.log
109+
raw-test-ios-share-extension.log
110+
raw-test-ui-ios-app.log
111+
raw-test-ui-screenshot-ios.log
112+
raw-test-ui-share-extension-ios.log
110113

111114
# Archive
112115
*.xcarchive

Flinky.xcodeproj/project.pbxproj

Lines changed: 349 additions & 121 deletions
Large diffs are not rendered by default.

Flinky.xcodeproj/xcshareddata/xcschemes/App.xcscheme

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,23 @@
3030
shouldUseLaunchSchemeArgsEnv = "YES">
3131
<TestPlans>
3232
<TestPlanReference
33-
reference = "container:Targets/Tests/Config/Tests.xctestplan"
33+
reference = "container:Targets/ShareExtensionTests/Config/ShareExtensionTests.xctestplan"
3434
default = "YES">
3535
</TestPlanReference>
3636
<TestPlanReference
37-
reference = "container:Targets/FlinkyCore/Config/FlinkyCore.xctestplan">
37+
reference = "container:Targets/Tests/Config/Tests.xctestplan">
38+
</TestPlanReference>
39+
<TestPlanReference
40+
reference = "container:Targets/FlinkyCoreTests/Config/FlinkyCore.xctestplan">
41+
</TestPlanReference>
42+
<TestPlanReference
43+
reference = "container:Targets/UITests/Config/UITests.xctestplan">
44+
</TestPlanReference>
45+
<TestPlanReference
46+
reference = "container:Targets/ScreenshotUITests/Config/ScreenshotUITests.xctestplan">
47+
</TestPlanReference>
48+
<TestPlanReference
49+
reference = "container:Targets/ShareExtensionUITests/Config/ShareExtensionUITests.xctestplan">
3850
</TestPlanReference>
3951
</TestPlans>
4052
<Testables>
@@ -82,6 +94,28 @@
8294
ReferencedContainer = "container:Flinky.xcodeproj">
8395
</BuildableReference>
8496
</TestableReference>
97+
<TestableReference
98+
skipped = "NO"
99+
parallelizable = "YES">
100+
<BuildableReference
101+
BuildableIdentifier = "primary"
102+
BlueprintIdentifier = "D4A014CB2E83DE2900117E01"
103+
BuildableName = "UITests.xctest"
104+
BlueprintName = "UITests"
105+
ReferencedContainer = "container:Flinky.xcodeproj">
106+
</BuildableReference>
107+
</TestableReference>
108+
<TestableReference
109+
skipped = "NO"
110+
parallelizable = "YES">
111+
<BuildableReference
112+
BuildableIdentifier = "primary"
113+
BlueprintIdentifier = "D4A014E42E83E11500117E01"
114+
BuildableName = "ShareExtensionTests.xctest"
115+
BlueprintName = "ShareExtensionTests"
116+
ReferencedContainer = "container:Flinky.xcodeproj">
117+
</BuildableReference>
118+
</TestableReference>
85119
</Testables>
86120
</TestAction>
87121
<LaunchAction
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1640"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES"
8+
buildArchitectures = "Automatic">
9+
</BuildAction>
10+
<TestAction
11+
buildConfiguration = "Debug"
12+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
13+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
14+
shouldUseLaunchSchemeArgsEnv = "YES">
15+
<TestPlans>
16+
<TestPlanReference
17+
reference = "container:Targets/FlinkyCoreTests/Config/FlinkyCoreTests.xctestplan"
18+
default = "YES">
19+
</TestPlanReference>
20+
</TestPlans>
21+
<Testables>
22+
<TestableReference
23+
skipped = "NO"
24+
parallelizable = "YES">
25+
<BuildableReference
26+
BuildableIdentifier = "primary"
27+
BlueprintIdentifier = "D4E789112E461A83005DA720"
28+
BuildableName = "FlinkyCoreTests.xctest"
29+
BlueprintName = "FlinkyCoreTests"
30+
ReferencedContainer = "container:Flinky.xcodeproj">
31+
</BuildableReference>
32+
</TestableReference>
33+
</Testables>
34+
</TestAction>
35+
<LaunchAction
36+
buildConfiguration = "Debug"
37+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
38+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
39+
launchStyle = "0"
40+
useCustomWorkingDirectory = "NO"
41+
ignoresPersistentStateOnLaunch = "NO"
42+
debugDocumentVersioning = "YES"
43+
debugServiceExtension = "internal"
44+
allowLocationSimulation = "YES">
45+
</LaunchAction>
46+
<ProfileAction
47+
buildConfiguration = "Release"
48+
shouldUseLaunchSchemeArgsEnv = "YES"
49+
savedToolIdentifier = ""
50+
useCustomWorkingDirectory = "NO"
51+
debugDocumentVersioning = "YES">
52+
</ProfileAction>
53+
<AnalyzeAction
54+
buildConfiguration = "Debug">
55+
</AnalyzeAction>
56+
<ArchiveAction
57+
buildConfiguration = "Release"
58+
revealArchiveInOrganizer = "YES">
59+
</ArchiveAction>
60+
</Scheme>

Flinky.xcodeproj/xcshareddata/xcschemes/ScreenshotUITests.xcscheme

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,16 @@
4141
buildConfiguration = "Release"
4242
selectedDebuggerIdentifier = ""
4343
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
44-
shouldUseLaunchSchemeArgsEnv = "YES"
45-
shouldAutocreateTestPlan = "YES">
44+
shouldUseLaunchSchemeArgsEnv = "YES">
45+
<TestPlans>
46+
<TestPlanReference
47+
reference = "container:Targets/ScreenshotUITests/Config/ScreenshotUITests.xctestplan"
48+
default = "YES">
49+
</TestPlanReference>
50+
</TestPlans>
4651
<Testables>
4752
<TestableReference
48-
skipped = "NO"
49-
parallelizable = "YES">
53+
skipped = "NO">
5054
<BuildableReference
5155
BuildableIdentifier = "primary"
5256
BlueprintIdentifier = "D4ECAAB32E3CF6FB00C757EA"
@@ -88,6 +92,28 @@
8892
ReferencedContainer = "container:Flinky.xcodeproj">
8993
</BuildableReference>
9094
</TestableReference>
95+
<TestableReference
96+
skipped = "NO"
97+
parallelizable = "YES">
98+
<BuildableReference
99+
BuildableIdentifier = "primary"
100+
BlueprintIdentifier = "D4A014CB2E83DE2900117E01"
101+
BuildableName = "UITests.xctest"
102+
BlueprintName = "UITests"
103+
ReferencedContainer = "container:Flinky.xcodeproj">
104+
</BuildableReference>
105+
</TestableReference>
106+
<TestableReference
107+
skipped = "NO"
108+
parallelizable = "YES">
109+
<BuildableReference
110+
BuildableIdentifier = "primary"
111+
BlueprintIdentifier = "D4A014E42E83E11500117E01"
112+
BuildableName = "ShareExtensionTests.xctest"
113+
BlueprintName = "ShareExtensionTests"
114+
ReferencedContainer = "container:Flinky.xcodeproj">
115+
</BuildableReference>
116+
</TestableReference>
91117
</Testables>
92118
</TestAction>
93119
<LaunchAction

Flinky.xcodeproj/xcshareddata/xcschemes/ShareExtension.xcscheme

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,16 @@
4242
buildConfiguration = "Debug"
4343
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
4444
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
45-
shouldUseLaunchSchemeArgsEnv = "YES"
46-
shouldAutocreateTestPlan = "YES">
45+
shouldUseLaunchSchemeArgsEnv = "YES">
46+
<TestPlans>
47+
<TestPlanReference
48+
reference = "container:Targets/ShareExtensionTests/Config/ShareExtensionTests.xctestplan"
49+
default = "YES">
50+
</TestPlanReference>
51+
<TestPlanReference
52+
reference = "container:Targets/ShareExtensionUITests/Config/ShareExtensionUITests.xctestplan">
53+
</TestPlanReference>
54+
</TestPlans>
4755
<Testables>
4856
<TestableReference
4957
skipped = "NO"
@@ -56,6 +64,28 @@
5664
ReferencedContainer = "container:Flinky.xcodeproj">
5765
</BuildableReference>
5866
</TestableReference>
67+
<TestableReference
68+
skipped = "NO"
69+
parallelizable = "YES">
70+
<BuildableReference
71+
BuildableIdentifier = "primary"
72+
BlueprintIdentifier = "D4A014CB2E83DE2900117E01"
73+
BuildableName = "UITests.xctest"
74+
BlueprintName = "UITests"
75+
ReferencedContainer = "container:Flinky.xcodeproj">
76+
</BuildableReference>
77+
</TestableReference>
78+
<TestableReference
79+
skipped = "NO"
80+
parallelizable = "YES">
81+
<BuildableReference
82+
BuildableIdentifier = "primary"
83+
BlueprintIdentifier = "D4A014E42E83E11500117E01"
84+
BuildableName = "ShareExtensionTests.xctest"
85+
BlueprintName = "ShareExtensionTests"
86+
ReferencedContainer = "container:Flinky.xcodeproj">
87+
</BuildableReference>
88+
</TestableReference>
5989
</Testables>
6090
</TestAction>
6191
<LaunchAction
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1640"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES"
8+
buildArchitectures = "Automatic">
9+
</BuildAction>
10+
<TestAction
11+
buildConfiguration = "Debug"
12+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
13+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
14+
shouldUseLaunchSchemeArgsEnv = "YES">
15+
<TestPlans>
16+
<TestPlanReference
17+
reference = "container:Targets/ShareExtensionTests/Config/ShareExtensionTests.xctestplan"
18+
default = "YES">
19+
</TestPlanReference>
20+
</TestPlans>
21+
<Testables>
22+
<TestableReference
23+
skipped = "NO"
24+
parallelizable = "YES">
25+
<BuildableReference
26+
BuildableIdentifier = "primary"
27+
BlueprintIdentifier = "D4A014E42E83E11500117E01"
28+
BuildableName = "ShareExtensionTests.xctest"
29+
BlueprintName = "ShareExtensionTests"
30+
ReferencedContainer = "container:Flinky.xcodeproj">
31+
</BuildableReference>
32+
</TestableReference>
33+
</Testables>
34+
</TestAction>
35+
<LaunchAction
36+
buildConfiguration = "Debug"
37+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
38+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
39+
launchStyle = "0"
40+
useCustomWorkingDirectory = "NO"
41+
ignoresPersistentStateOnLaunch = "NO"
42+
debugDocumentVersioning = "YES"
43+
debugServiceExtension = "internal"
44+
allowLocationSimulation = "YES">
45+
</LaunchAction>
46+
<ProfileAction
47+
buildConfiguration = "Release"
48+
shouldUseLaunchSchemeArgsEnv = "YES"
49+
savedToolIdentifier = ""
50+
useCustomWorkingDirectory = "NO"
51+
debugDocumentVersioning = "YES">
52+
</ProfileAction>
53+
<AnalyzeAction
54+
buildConfiguration = "Debug">
55+
</AnalyzeAction>
56+
<ArchiveAction
57+
buildConfiguration = "Release"
58+
revealArchiveInOrganizer = "YES">
59+
</ArchiveAction>
60+
</Scheme>

Flinky.xcodeproj/xcshareddata/xcschemes/ShareExtensionUITests.xcscheme

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
shouldUseLaunchSchemeArgsEnv = "YES">
1515
<TestPlans>
1616
<TestPlanReference
17-
reference = "container:ShareExtensionUITests.xctestplan"
17+
reference = "container:Targets/ShareExtensionUITests/Config/ShareExtensionUITests.xctestplan"
1818
default = "YES">
1919
</TestPlanReference>
2020
</TestPlans>
@@ -63,6 +63,28 @@
6363
ReferencedContainer = "container:Flinky.xcodeproj">
6464
</BuildableReference>
6565
</TestableReference>
66+
<TestableReference
67+
skipped = "NO"
68+
parallelizable = "YES">
69+
<BuildableReference
70+
BuildableIdentifier = "primary"
71+
BlueprintIdentifier = "D4A014CB2E83DE2900117E01"
72+
BuildableName = "UITests.xctest"
73+
BlueprintName = "UITests"
74+
ReferencedContainer = "container:Flinky.xcodeproj">
75+
</BuildableReference>
76+
</TestableReference>
77+
<TestableReference
78+
skipped = "NO"
79+
parallelizable = "YES">
80+
<BuildableReference
81+
BuildableIdentifier = "primary"
82+
BlueprintIdentifier = "D4A014E42E83E11500117E01"
83+
BuildableName = "ShareExtensionTests.xctest"
84+
BlueprintName = "ShareExtensionTests"
85+
ReferencedContainer = "container:Flinky.xcodeproj">
86+
</BuildableReference>
87+
</TestableReference>
6688
</Testables>
6789
</TestAction>
6890
<LaunchAction

0 commit comments

Comments
 (0)