Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • B buck
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 201
    • Issues 201
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Meta
  • buck
  • Merge requests
  • !1356

Project generator excludes host dependencies from application test's link phase

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/ProfessaA/project_generator_excludes_host_app_deps_from_application_test into master May 25, 2017
  • Overview 1
  • Commits 1
  • Pipelines 0
  • Changes 2

Created by: ProfessaA

background

When xcode projects are generated, application tests currently include libraries in their "Link Binary With Libraries" phase that are also linked by their host app. This causes two versions of the class to get loaded (one for each binary image) and leads to unexpected behavior with mocks and categories involving these classes. This problem is already addressed for buck builds in AppleTestDescription#createBuildRule by black listing the host apps linkable dependencies, so this PR only address project generation.

change

ProjectGenerator now excludes the host app's dependencies from being included in the application test's Frameworks PBXBuildPhase.

verification

  • add test case to ProjectGeneratorTest to ensure that application tests don't try to link dependencies shared with the host app
  • add test case to ProjectGeneratorTest to ensure that UI tests continue to link all dependencies regardless of also being included by the host app
  • verify that an application test target and ui test target in a generated project have the correct dependencies in their "Link Binary With Libraries" phases
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/ProfessaA/project_generator_excludes_host_app_deps_from_application_test