Skip to content

Commit b8294b8

Browse files
mbrandonwstephenceliskgrigsby59pteasimahyperspacemark
authored
ReducerProtocol (#1283)
* Add previewValue to DependencyKey, and fixed build errors on Xcode 13. * wip * wip * wip * wip * wip * wip * wip * wip * wip * Add Xcode 14 to CI (#1266) * Add Xcode 14 to CI * Update ci.yml * wip * wip * Update Makefile * Update Makefile * wip * runtime warning when no live dependency available for live app * bring back live * wip * soft deprecate Reducer * fusion test * ternary clean up * wip * add some todos * typealias Reducer inside AnyReducer * Add `now` convenience property to date dependency (#1286) * Remove type alias * LiveDependencyKey: DependencyKey -> DependencyKey: TestDependencyKey (#1288) * LiveDependencyKey: DependencyKey -> DependencyKey: TestDependencyKey * wip * wip * wip * wip * wip * fix * wip * fix navigate case studies * wip * fixes and docs * more migration * wip * wip * thread deps through ifLet and forEach examples. * update * clean up * wip * wip * Update MigratingToReducerProtocols.md * wip * wip * docs * docs * fix some docs * Fix for CombineReducers compiler bug * wip * wip * wip * wip * todos for docs * Don't warn for overridden test dependencies (#1324) * Don't warn while setting test dependencies * wip * fix conflict * wip * Docs and deprecations * add binding info * wip * Add URL session * wip * wip * wip * wip * wip * wip * wip * wip * Don't run debug reducer in tests * wip * updated reducer debugging * Update UUID.swift (#1374) * wip * optional * added Self as default associatedtype value for TestDependencyKey.value (#1395) * added Self as default associatedtype value for TestDependencyKey.value * Update Tests/ComposableArchitectureTests/DependencyKeyTests.swift Co-authored-by: Brandon Williams <[email protected]> * Update example to set badge to the unread count (#1391) * Add store.finish(). * Fix warnings introduced in Xcode 14.1 (#1388) * Fix warnings introduced in Xcode 14.1 * wip * Conform dependency values to DependencyKey where convenient * fix * Fail if testValue is invoked without providing implementation (#1399) * Update example to set badge to the unread count (#1391) * Add store.finish(). * Fix the CaseStudies (UIKit) (#1392) * Fix warnings introduced in Xcode 14.1 (#1388) * Fix warnings introduced in Xcode 14.1 * wip * Fail when accessing testValue when one hasn't been provided. * wip * wip * wip * test Co-authored-by: Mark Adams <[email protected]> Co-authored-by: Maciek Czarnik <[email protected]> Co-authored-by: Stephen Celis <[email protected]> * Add DateGenerator.init(_ generate:) * Start running some tests in release config. (#1405) * Start running some tests in release config. * wip * wip * wip * wip * wip * Update Sources/ComposableArchitecture/Store.swift Co-authored-by: Thomas Grapperon <[email protected]> * wip * wip Co-authored-by: Thomas Grapperon <[email protected]> * added test that dependencies are transferred to effects * wip * self * clean up * simplify * fix * doc fixes * wip * fix * wip * wip * wip * fix * Run dependencies tests on CI. (#1408) * Run dependencies tests on CI. * wip * update makefile * wtf * more docs * more docs * wip * docs * wip * docs * wip * message tweaks * wip * docs and clean up * wip * wip * wip * wip * wip * wip * wip * wip * typo fix * docs clean up * doc fixes * cancel in progress * cancel in progress * no need to make recope release-only, and make more use of XCTAssert to get better release tests * fix test * Remove ActorIsolated from tests where it's not needed * fix test * wip * wip * Add a benchmark for dependency key writing. * fix test * make benchmark 5.7 compatible * iflet docs * more docs * dependency docs * rearrange * @dependency docs * docs * fix benchmark in 5.6 * doc fix * wip * wip * wip * wip * more docs * clean up * fix * wip * Fixes compilation on watchOS (#1423) Co-authored-by: Gunnar Herzog <[email protected]> * move deprecation * format * wip * Fix openURL * wip * wip * wip * wip * fix * Keep simple * Reducer.debug -> Reducer._printChanges We want to revisit some of these debugging APIs in the future, so let's keep them around, but underscore them to allow for more flexible evolution. * `ReducerProtocol.debug` -> `ReducerProtocol._printChanges` (#1426) * Reducer.debug -> Reducer._printChanges We want to revisit some of these debugging APIs in the future, so let's keep them around, but underscore them to allow for more flexible evolution. * Update DebugTests.swift * OpenURL fix for macCatalyst (#1429) * OpenURL fix for macCatalyst Fixes #1428. * Update Makefile * Correct typo in "Designing dependencies" chapter (#1430) protocol AudioPlayerClient should be a struct * fix * fix * protocol docc * docs * Typos (#1439) * remove unneeded internals * wip * Fix missing parameter in code sample (#1450) * typo fix * more docs for DependencyKeyWritingReducer * wip * wip * update readme * wip * update image * main actor * Added withValue, added docs and tests * public properties * cleaned up overload * changed reducer->feature in a bunch of spots of dependencies docs * add articles to readme * 6 * fix tests for swift 5.6 * tweak * tweak * Update ReducerProtocol.swift * wip * wip * docs update * docs for conforming dependency directly to DependencyKey * typo fix * performance article update * fixes * deprecate another effect timer API * link to migration doc in deprecation messages * make some tests that deal with line numbers less fragile * package.swift clean up * tweak to echos * remove docs at root, not in docs-out * remove todo * update WithViewStore.init deprecation message to explain and link to performance doc * Add back ReducerProtocolOf for 5.7.1 (#1444) * Add back ReducerProtocolOf for 5.7.1 * wip * Move scheme tests to matrix * streamline * try this * store.finish * wip * dependencies -> transformDependency * wip * wip * Compat * fix * preserve deps for combine publishers * Remove dump calls (#1460) * Fix compiler errors for library evolution. (#1443) * Fix compiler errors for library evolution. * wip * wip * work around ambiguous init * Revert "work around ambiguous init" This reverts commit 002a199. * fix ambiguity errors * remove _Observe for now * wip * wip * wip * longer timeout * more waiting * wip Co-authored-by: Stephen Celis <[email protected]> Co-authored-by: Ken Grigsby <[email protected]> Co-authored-by: Petr Sima <[email protected]> Co-authored-by: Mark Adams <[email protected]> Co-authored-by: Maciek Czarnik <[email protected]> Co-authored-by: Thomas Grapperon <[email protected]> Co-authored-by: Gunnar Herzog <[email protected]> Co-authored-by: Gunnar Herzog <[email protected]> Co-authored-by: Guttorm Aase <[email protected]> Co-authored-by: Julien Sagot <[email protected]> Co-authored-by: Jaanus Siim <[email protected]>
1 parent 9740b96 commit b8294b8

File tree

268 files changed

+15409
-8332
lines changed

Some content is hidden

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

268 files changed

+15409
-8332
lines changed

.github/workflows/ci.yml

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,43 @@ on:
1010
- '*'
1111
workflow_dispatch:
1212

13+
concurrency:
14+
group: ci-${{ github.ref }}
15+
cancel-in-progress: true
16+
1317
jobs:
1418
library:
1519
runs-on: macos-12
1620
strategy:
1721
matrix:
18-
xcode: [13.2.1, 13.4.1]
22+
xcode: ['13.4.1', '14.0']
23+
config: ['debug', 'release']
24+
scheme: ['Dependencies', 'ComposableArchitecture']
1925
steps:
2026
- uses: actions/checkout@v2
2127
- name: Select Xcode ${{ matrix.xcode }}
2228
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
23-
- name: Run tests
24-
run: make test-library
25-
- name: Compile documentation
26-
if: ${{ matrix.xcode == '13.4.1' }}
27-
run: make test-docs
29+
- name: Run ${{ matrix.scheme }} ${{ matrix.config }} tests
30+
run: CONFIG=${{ matrix.config }} SCHEME=${{ matrix.scheme }} make test-library
31+
32+
library-evolution:
33+
runs-on: macos-12
34+
strategy:
35+
matrix:
36+
xcode: ['13.4.1', '14.0']
37+
steps:
38+
- uses: actions/checkout@v2
39+
- name: Select Xcode ${{ matrix.xcode }}
40+
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
41+
- name: Build for library evolution
42+
run: make build-for-library-evolution
43+
44+
benchmarks:
45+
runs-on: macos-12
46+
steps:
47+
- uses: actions/checkout@v2
48+
- name: Select Xcode ${{ matrix.xcode }}
49+
run: sudo xcode-select -s /Applications/Xcode_14.0.app
2850
- name: Run benchmark
2951
run: make benchmark
3052

@@ -33,6 +55,6 @@ jobs:
3355
steps:
3456
- uses: actions/checkout@v2
3557
- name: Select Xcode ${{ matrix.xcode }}
36-
run: sudo xcode-select -s /Applications/Xcode_13.4.1.app
58+
run: sudo xcode-select -s /Applications/Xcode_14.0.app
3759
- name: Run tests
3860
run: make test-examples

.github/workflows/documentation.yml

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,13 @@ on:
99
push:
1010
branches:
1111
- main
12+
- protocol-beta
1213
workflow_dispatch:
1314

15+
concurrency:
16+
group: docs-${{ github.ref }}
17+
cancel-in-progress: true
18+
1419
jobs:
1520
build:
1621
runs-on: macos-12
@@ -64,42 +69,45 @@ jobs:
6469
rm -rf docs-out/.git;
6570
rm -rf docs-out/main;
6671
rm -rf docs-out/protocol-beta;
67-
git tag -l --sort=-v:refname | grep -e "\d\+\.\d\+.0" | tail -n +6 | xargs -I {} rm -rf docs-out/{};
72+
git tag -l --sort=-v:refname | grep -e "\d\+\.\d\+.0" | tail -n +6 | xargs -I {} rm -rf {};
6873
6974
for tag in $(echo "main"; echo "protocol-beta"; git tag -l --sort=-v:refname | grep -e "\d\+\.\d\+.0" | head -6);
7075
do
71-
echo "⏳ Generating documentation for "$tag" release.";
72-
7376
if [ -d "docs-out/$tag" ]
7477
then
75-
echo "✅ Documentation for "$tag" already exists.";
78+
echo "✅ Documentation for "$tag" already exists.";
7679
else
80+
echo "⏳ Generating documentation for "$target" @ "$tag" release.";
81+
82+
for target in ComposableArchitecture Dependencies;
83+
do
7784
git checkout .;
7885
git checkout "$tag";
79-
mkdir -p Sources/ComposableArchitecture/Documentation.docc;
86+
mkdir -p Sources/"$target"/Documentation.docc;
8087
export DOCC_HTML_DIR="$(pwd)/swift-docc-render/dist";
8188
8289
rm -rf .build/symbol-graphs;
8390
mkdir -p .build/symbol-graphs;
8491
swift build \
85-
--target ComposableArchitecture \
92+
--target "$target" \
8693
-Xswiftc \
8794
-emit-symbol-graph \
8895
-Xswiftc \
8996
-emit-symbol-graph-dir \
9097
-Xswiftc \
9198
.build/symbol-graphs \
92-
&& swift-docc/.build/release/docc convert Sources/ComposableArchitecture/Documentation.docc \
93-
--fallback-display-name ComposableArchitecture \
99+
&& swift-docc/.build/release/docc convert Sources/"$target"/Documentation.docc \
100+
--fallback-display-name "$target" \
94101
--fallback-bundle-identifier co.pointfree.ComposableArchitecture \
95102
--fallback-bundle-version 0.0.0 \
96103
--additional-symbol-graph-dir \
97104
.build/symbol-graphs \
98105
--transform-for-static-hosting \
99106
--hosting-base-path /swift-composable-architecture/"$tag" \
100107
--output-path docs-out/"$tag" \
101-
&& echo "✅ Documentation generated for "$tag" release." \
102-
|| echo "⚠️ Documentation skipped for "$tag".";
108+
&& echo "✅ Documentation generated for "$target" @ "$tag" release." \
109+
|| echo "⚠️ Documentation skipped for "$target" @ "$tag".";
110+
done;
103111
fi;
104112
done
105113

.github/workflows/format.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ on:
55
branches:
66
- main
77

8+
concurrency:
9+
group: format-${{ github.ref }}
10+
cancel-in-progress: true
11+
812
jobs:
913
swift_format:
1014
name: swift-format

ComposableArchitecture.xcworkspace/contents.xcworkspacedata

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

ComposableArchitecture.xcworkspace/xcshareddata/xcschemes/ComposableArchitecture.xcscheme

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,16 @@
3939
ReferencedContainer = "container:">
4040
</BuildableReference>
4141
</TestableReference>
42+
<TestableReference
43+
skipped = "NO">
44+
<BuildableReference
45+
BuildableIdentifier = "primary"
46+
BlueprintIdentifier = "DependenciesTests"
47+
BuildableName = "DependenciesTests"
48+
BlueprintName = "DependenciesTests"
49+
ReferencedContainer = "container:">
50+
</BuildableReference>
51+
</TestableReference>
4252
</Testables>
4353
</TestAction>
4454
<LaunchAction
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1340"
4+
version = "1.3">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "Dependencies"
18+
BuildableName = "Dependencies"
19+
BlueprintName = "Dependencies"
20+
ReferencedContainer = "container:">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
</BuildActionEntries>
24+
</BuildAction>
25+
<TestAction
26+
buildConfiguration = "Debug"
27+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
shouldUseLaunchSchemeArgsEnv = "YES">
30+
<Testables>
31+
<TestableReference
32+
skipped = "NO">
33+
<BuildableReference
34+
BuildableIdentifier = "primary"
35+
BlueprintIdentifier = "DependenciesTests"
36+
BuildableName = "DependenciesTests"
37+
BlueprintName = "DependenciesTests"
38+
ReferencedContainer = "container:">
39+
</BuildableReference>
40+
</TestableReference>
41+
</Testables>
42+
</TestAction>
43+
<LaunchAction
44+
buildConfiguration = "Debug"
45+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
46+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
47+
launchStyle = "0"
48+
useCustomWorkingDirectory = "NO"
49+
ignoresPersistentStateOnLaunch = "NO"
50+
debugDocumentVersioning = "YES"
51+
debugServiceExtension = "internal"
52+
allowLocationSimulation = "YES">
53+
</LaunchAction>
54+
<ProfileAction
55+
buildConfiguration = "Release"
56+
shouldUseLaunchSchemeArgsEnv = "YES"
57+
savedToolIdentifier = ""
58+
useCustomWorkingDirectory = "NO"
59+
debugDocumentVersioning = "YES">
60+
<MacroExpansion>
61+
<BuildableReference
62+
BuildableIdentifier = "primary"
63+
BlueprintIdentifier = "Dependencies"
64+
BuildableName = "Dependencies"
65+
BlueprintName = "Dependencies"
66+
ReferencedContainer = "container:">
67+
</BuildableReference>
68+
</MacroExpansion>
69+
</ProfileAction>
70+
<AnalyzeAction
71+
buildConfiguration = "Debug">
72+
</AnalyzeAction>
73+
<ArchiveAction
74+
buildConfiguration = "Release"
75+
revealArchiveInOrganizer = "YES">
76+
</ArchiveAction>
77+
</Scheme>

Examples/CaseStudies/CaseStudies.xcodeproj/project.pbxproj

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
CA0C0C4724B89BEC00CBDD8A /* 04-HigherOrderReducers-LifecycleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA0C0C4624B89BEC00CBDD8A /* 04-HigherOrderReducers-LifecycleTests.swift */; };
1212
CA0C51FB245389CC00A04EAB /* 04-HigherOrderReducers-ReusableOfflineDownloadsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA0C51FA245389CC00A04EAB /* 04-HigherOrderReducers-ReusableOfflineDownloadsTests.swift */; };
1313
CA25E5D224463AD700DA666A /* 01-GettingStarted-Bindings-Basics.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA25E5D124463AD700DA666A /* 01-GettingStarted-Bindings-Basics.swift */; };
14-
CA27C0B7245780CE00CB1E59 /* 02-Effects-SystemEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA27C0B6245780CE00CB1E59 /* 02-Effects-SystemEnvironment.swift */; };
1514
CA34170824A4E89500FAF950 /* 01-GettingStarted-AnimationsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA34170724A4E89500FAF950 /* 01-GettingStarted-AnimationsTests.swift */; };
1615
CA3E421F26B8337500581ABC /* 01-GettingStarted-FocusState.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA3E421E26B8337500581ABC /* 01-GettingStarted-FocusState.swift */; };
1716
CA3E4C5B24B4FA0E00447C0B /* 04-HigherOrderReducers-Lifecycle.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA3E4C5A24B4FA0E00447C0B /* 04-HigherOrderReducers-Lifecycle.swift */; };
@@ -38,7 +37,7 @@
3837
CAF88E7324B8E26D00539345 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF88E7224B8E26D00539345 /* AppDelegate.swift */; };
3938
CAF88E7524B8E26D00539345 /* RootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF88E7424B8E26D00539345 /* RootView.swift */; };
4039
CAF88E7724B8E26E00539345 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CAF88E7624B8E26E00539345 /* Assets.xcassets */; };
41-
CAF88E8824B8E26E00539345 /* tvOSCaseStudiesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF88E8724B8E26E00539345 /* tvOSCaseStudiesTests.swift */; };
40+
CAF88E8824B8E26E00539345 /* FocusTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF88E8724B8E26E00539345 /* FocusTests.swift */; };
4241
CAF88E9124B8E3AF00539345 /* ComposableArchitecture in Frameworks */ = {isa = PBXBuildFile; productRef = CAF88E9024B8E3AF00539345 /* ComposableArchitecture */; };
4342
CAF88E9324B8E3D000539345 /* Core.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF88E9224B8E3D000539345 /* Core.swift */; };
4443
CAF88E9524B8E4D500539345 /* FocusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF88E9424B8E4D500539345 /* FocusView.swift */; };
@@ -156,7 +155,6 @@
156155
CA0C0C4624B89BEC00CBDD8A /* 04-HigherOrderReducers-LifecycleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "04-HigherOrderReducers-LifecycleTests.swift"; sourceTree = "<group>"; };
157156
CA0C51FA245389CC00A04EAB /* 04-HigherOrderReducers-ReusableOfflineDownloadsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "04-HigherOrderReducers-ReusableOfflineDownloadsTests.swift"; sourceTree = "<group>"; };
158157
CA25E5D124463AD700DA666A /* 01-GettingStarted-Bindings-Basics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "01-GettingStarted-Bindings-Basics.swift"; sourceTree = "<group>"; };
159-
CA27C0B6245780CE00CB1E59 /* 02-Effects-SystemEnvironment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "02-Effects-SystemEnvironment.swift"; sourceTree = "<group>"; };
160158
CA34170724A4E89500FAF950 /* 01-GettingStarted-AnimationsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "01-GettingStarted-AnimationsTests.swift"; sourceTree = "<group>"; };
161159
CA3E421E26B8337500581ABC /* 01-GettingStarted-FocusState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "01-GettingStarted-FocusState.swift"; sourceTree = "<group>"; };
162160
CA3E4C5A24B4FA0E00447C0B /* 04-HigherOrderReducers-Lifecycle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "04-HigherOrderReducers-Lifecycle.swift"; sourceTree = "<group>"; };
@@ -186,7 +184,7 @@
186184
CAF88E7624B8E26E00539345 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
187185
CAF88E7E24B8E26E00539345 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
188186
CAF88E8324B8E26E00539345 /* tvOSCaseStudiesTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = tvOSCaseStudiesTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
189-
CAF88E8724B8E26E00539345 /* tvOSCaseStudiesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = tvOSCaseStudiesTests.swift; sourceTree = "<group>"; };
187+
CAF88E8724B8E26E00539345 /* FocusTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FocusTests.swift; sourceTree = "<group>"; };
190188
CAF88E9224B8E3D000539345 /* Core.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Core.swift; sourceTree = "<group>"; };
191189
CAF88E9424B8E4D500539345 /* FocusView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FocusView.swift; sourceTree = "<group>"; };
192190
DC07231624465D1E003A8B65 /* 02-Effects-TimersTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "02-Effects-TimersTests.swift"; sourceTree = "<group>"; };
@@ -313,7 +311,7 @@
313311
CAF88E8624B8E26E00539345 /* tvOSCaseStudiesTests */ = {
314312
isa = PBXGroup;
315313
children = (
316-
CAF88E8724B8E26E00539345 /* tvOSCaseStudiesTests.swift */,
314+
CAF88E8724B8E26E00539345 /* FocusTests.swift */,
317315
);
318316
path = tvOSCaseStudiesTests;
319317
sourceTree = "<group>";
@@ -412,7 +410,6 @@
412410
CABC4F3826AEE00C00D5FA2C /* 02-Effects-Refreshable.swift */,
413411
DC89C45424465C44006900B9 /* 02-Effects-Timers.swift */,
414412
CA410EDF247A15FE00E41798 /* 02-Effects-WebSocket.swift */,
415-
CA27C0B6245780CE00CB1E59 /* 02-Effects-SystemEnvironment.swift */,
416413
DC89C45024462DE7006900B9 /* 03-Navigation-Lists-LoadThenNavigate.swift */,
417414
DC89C45224465451006900B9 /* 03-Navigation-Lists-NavigateAndLoad.swift */,
418415
DC89C448244618D5006900B9 /* 03-Navigation-LoadThenNavigate.swift */,
@@ -712,7 +709,7 @@
712709
isa = PBXSourcesBuildPhase;
713710
buildActionMask = 2147483647;
714711
files = (
715-
CAF88E8824B8E26E00539345 /* tvOSCaseStudiesTests.swift in Sources */,
712+
CAF88E8824B8E26E00539345 /* FocusTests.swift in Sources */,
716713
);
717714
runOnlyForDeploymentPostprocessing = 0;
718715
};
@@ -776,7 +773,6 @@
776773
DC89C44D244621A5006900B9 /* 03-Navigation-NavigateAndLoad.swift in Sources */,
777774
DC89C4442446111B006900B9 /* 01-GettingStarted-Counter.swift in Sources */,
778775
DCE63B71245CC0B90080A23D /* 04-HigherOrderReducers-Recursion.swift in Sources */,
779-
CA27C0B7245780CE00CB1E59 /* 02-Effects-SystemEnvironment.swift in Sources */,
780776
CAA9ADCA2446605B0003A984 /* 02-Effects-LongLiving.swift in Sources */,
781777
DC89C45124462DE7006900B9 /* 03-Navigation-Lists-LoadThenNavigate.swift in Sources */,
782778
DC89C45524465C44006900B9 /* 02-Effects-Timers.swift in Sources */,

0 commit comments

Comments
 (0)