Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
C
cocoapods
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gengmeiios
cocoapods
Commits
ba4058a1
Commit
ba4058a1
authored
Jun 25, 2017
by
Dimitris Koutsogiorgas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Ensure resource bundle and test dependencies are set for test native targets
parent
ce087202
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
9 deletions
+52
-9
CHANGELOG.md
CHANGELOG.md
+3
-2
pods_project_generator.rb
lib/cocoapods/installer/xcode/pods_project_generator.rb
+19
-7
pods_project_generator_spec.rb
spec/unit/installer/xcode/pods_project_generator_spec.rb
+30
-0
No files found.
CHANGELOG.md
View file @
ba4058a1
...
...
@@ -12,8 +12,9 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
##### Bug Fixes
*
None.
*
Ensure resource bundle and test dependencies are set for test native targets
[
Dimitris Koutsogiorgas
](
https://github.com/dnkoutso
)
[
#6829
](
https://github.com/CocoaPods/CocoaPods/pull/6829
)
## 1.3.0.beta.2 (2017-06-22)
...
...
lib/cocoapods/installer/xcode/pods_project_generator.rb
View file @
ba4058a1
...
...
@@ -198,10 +198,8 @@ module Pod
configure_app_extension_api_only_for_target
(
aggregate_target
)
if
is_app_extension
unless
pod_target
.
should_build?
pod_target
.
resource_bundle_targets
.
each
do
|
resource_bundle_target
|
aggregate_target
.
native_target
.
add_dependency
(
resource_bundle_target
)
end
add_resource_bundles_to_native_target
(
pod_target
,
aggregate_target
.
native_target
)
add_pod_target_test_dependencies
(
pod_target
,
frameworks_group
)
next
end
...
...
@@ -210,9 +208,7 @@ module Pod
add_dependent_targets_to_native_target
(
pod_target
.
dependent_targets
,
pod_target
.
native_target
,
is_app_extension
,
pod_target
.
requires_frameworks?
,
frameworks_group
)
pod_target
.
test_native_targets
.
each
do
|
test_native_target
|
add_dependent_targets_to_native_target
([
pod_target
,
*
pod_target
.
test_dependent_targets
],
test_native_target
,
false
,
pod_target
.
requires_frameworks?
,
frameworks_group
)
end
add_pod_target_test_dependencies
(
pod_target
,
frameworks_group
)
end
end
end
...
...
@@ -250,6 +246,16 @@ module Pod
private
def
add_pod_target_test_dependencies
(
pod_target
,
frameworks_group
)
test_dependent_targets
=
[
pod_target
,
*
pod_target
.
test_dependent_targets
]
pod_target
.
test_native_targets
.
each
do
|
test_native_target
|
test_dependent_targets
.
reject
(
&
:should_build?
).
each
do
|
test_dependent_target
|
add_resource_bundles_to_native_target
(
test_dependent_target
,
test_native_target
)
end
add_dependent_targets_to_native_target
(
test_dependent_targets
,
test_native_target
,
false
,
pod_target
.
requires_frameworks?
,
frameworks_group
)
end
end
def
add_dependent_targets_to_native_target
(
dependent_targets
,
native_target
,
is_app_extension
,
requires_frameworks
,
frameworks_group
)
dependent_targets
.
each
do
|
pod_dependency_target
|
next
unless
pod_dependency_target
.
should_build?
...
...
@@ -264,6 +270,12 @@ module Pod
end
end
def
add_resource_bundles_to_native_target
(
dependent_target
,
native_target
)
dependent_target
.
resource_bundle_targets
.
each
do
|
resource_bundle_target
|
native_target
.
add_dependency
(
resource_bundle_target
)
end
end
# Sets the APPLICATION_EXTENSION_API_ONLY build setting to YES for all
# configurations of the given target
#
...
...
spec/unit/installer/xcode/pods_project_generator_spec.rb
View file @
ba4058a1
...
...
@@ -269,6 +269,7 @@ module Pod
dependent_target
=
mock
(
'dependent-target'
,
:should_build?
=>
true
,
:native_target
=>
dependent_native_target
)
test_dependent_target
=
mock
(
'dependent-test-target'
,
:should_build?
=>
true
,
:native_target
=>
test_dependent_native_target
)
test_dependent_target
.
expects
(
:should_build?
).
returns
(
true
)
@pod_target
.
stubs
(
:native_target
).
returns
(
mock_native_target
)
@pod_target
.
stubs
(
:test_native_targets
).
returns
([
mock_test_native_target
])
...
...
@@ -287,6 +288,35 @@ module Pod
@generator
.
send
(
:set_target_dependencies
)
end
it
'adds test dependencies to test native targets for a pod target that should not be built'
do
mock_test_native_target
=
mock
(
'CoconutLib-Unit-Tests'
)
test_dependent_native_target
=
mock
(
'TestDependentNativeTarget'
)
test_dependent_target
=
mock
(
'dependent-test-target'
,
:should_build?
=>
true
,
:native_target
=>
test_dependent_native_target
)
test_dependent_target
.
expects
(
:should_build?
).
returns
(
true
)
@pod_target
.
stubs
(
:test_native_targets
).
returns
([
mock_test_native_target
])
@pod_target
.
stubs
(
:test_dependent_targets
).
returns
([
test_dependent_target
])
@pod_target
.
stubs
(
:should_build?
=>
false
)
mock_test_native_target
.
expects
(
:add_dependency
).
with
(
test_dependent_native_target
)
@generator
.
send
(
:set_target_dependencies
)
end
it
'sets resource bundles for not build pods as target dependencies of the test target'
do
mock_test_native_target
=
mock
(
'CoconutLib-Unit-Tests'
)
@pod_target
.
stubs
(
:test_native_targets
).
returns
([
mock_test_native_target
])
@pod_target
.
stubs
(
:test_dependent_targets
).
returns
([])
@pod_target
.
stubs
(
:should_build?
=>
false
)
@pod_target
.
stubs
(
:resource_bundle_targets
).
returns
([
'dummy'
])
@mock_target
.
expects
(
:add_dependency
).
with
(
'dummy'
)
mock_test_native_target
.
expects
(
:add_dependency
).
with
(
'dummy'
)
@generator
.
send
(
:set_target_dependencies
)
end
end
#--------------------------------------#
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment