Skip to content

Commit

Permalink
[PLANG-1721] Test plan (#39)
Browse files Browse the repository at this point in the history
* Move Step logic to the step package

* Remove custom package name from some imports

* XcodebuildBuild -> XcodebuildBuilder

* Break dependencies of findTestBundle

* Test XcodebuildBuilder.findTestBundle

* Fix built test dir search for Test Plan enabled projects

* Fix merge issue

* Add dedicated Step Input for Test Plan

* Output export for Test Plan enabled projects

* Update e2e tes output check

* Update e2e test output check: xctestrun is a file

* Update test bundle zip command

* Fix test bundle zip path output env key

* Update output export comment

* Export default Test Plan's xctestrun

* Update go-xcode/xcodebuild package

* Code cleanup and e2e tests for Test Plan support

* Add findTestBundle unit tests for multiple test plans

* Add destination to e2e test cases

* Update bitrise.yml

* Update bitrise.yml

* Update go-xcode dependency

* Update test device for e2e test cases

* Fix yamllint issue

* Pull go-xcode with Xcode 14 test target signing

* Downgrade go xcode

* Lock go-xcode on latest v1

* Update BITRISE_XCTESTRUN_FILE_PATH output description

* Craft built test dir path based on the destination

* Fix yamllint issue

* Update go-xcode/v2 to master

* Remove BITRISE_TEST_DIR_PATH step output

* Custom SYMROOT to ease output export

* Code cleanup and dep update

* Fix xctestrun path

* Update tests

* Update BITRISE_TEST_BUNDLE_ZIP_PATH export

* Update test bundle zip

* Fix TESTROOT in the generated xctestrun files

* Introduce FileManager

* Check xctestrun filename

* Set SYMROOT if not exist
  • Loading branch information
godrei authored Jun 17, 2022
1 parent 4df7168 commit e8cfa57
Show file tree
Hide file tree
Showing 39 changed files with 4,568 additions and 285 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ _tmp/
.bitrise*
.gows.user.yml
.idea/
.DS_Store
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ You can also run this step directly with [Bitrise CLI](https://github.com/bitris
| `scheme` | Xcode Scheme name. The input value sets xcodebuild's `-scheme` option. | required | `$BITRISE_SCHEME` |
| `configuration` | Xcode Build Configuration. If not specified, the default Build Configuration will be used. The input value sets xcodebuild's `-configuration` option. | required | `Debug` |
| `destination` | Destination specifier describes the device to use as a destination. The input value sets xcodebuild's `-destination` option. | required | `generic/platform=iOS` |
| `test_plan` | Build tests for a specific Test Plan associated with the Scheme. Leave this input empty to build all the Test Plans or Test Targets associated with the Scheme. The input value sets xcodebuild's `-testPlan` option. | | |
| `xcconfig_content` | Build settings to override the project's build settings, using xcodebuild's `-xcconfig` option. You can't define `-xcconfig` option in `Additional options for the xcodebuild command` if this input is set. If empty, no setting is changed. When set it can be either: 1. Existing `.xcconfig` file path. Example: `./ios-sample/ios-sample/Configurations/Dev.xcconfig` 2. The contents of a newly created temporary `.xcconfig` file. (This is the default.) Build settings must be separated by newline character (`\n`). Example: ``` COMPILER_INDEX_STORE_ENABLE = NO ONLY_ACTIVE_ARCH[config=Debug][sdk=*][arch=*] = YES ``` | | `COMPILER_INDEX_STORE_ENABLE = NO` |
| `xcodebuild_options` | Additional options to be added to the executed xcodebuild command. Prefer using `Build settings (xcconfig)` input for specifying `-xcconfig` option. You can't use both. | | |
| `log_formatter` | Defines how xcodebuild command's log is formatted. Available options: - `xcpretty`: The xcodebuild command’s output will be prettified by xcpretty. - `xcodebuild`: Only the last 20 lines of raw xcodebuild output will be visible in the build log. The raw xcodebuild log will be exported in both cases. | required | `xcpretty` |
Expand All @@ -87,10 +88,10 @@ You can also run this step directly with [Bitrise CLI](https://github.com/bitris

| Environment Variable | Description |
| --- | --- |
| `BITRISE_TEST_DIR_PATH` | Path to the built test directory (example: `PROJECT_DERIVED_DATA/Build/Products/Debug-iphoneos`) |
| `BITRISE_XCTESTRUN_FILE_PATH` | Path to the built xctestrun file (example: `PROJECT_DERIVED_DATA/Build/Products/ios-simple-objc_iphoneos12.0-arm64e.xctestrun`) |
| `BITRISE_TEST_BUNDLE_ZIP_PATH` | The built test directory and the built xctestrun file compressed as a single zip |
| `BITRISE_XCODE_RAW_RESULT_TEXT_PATH` | The file path of the raw `xcodebuild build-for-testing` command log. |
| `BITRISE_TEST_BUNDLE_PATH` | Directory of the built targets' binaries and built associated tests. |
| `BITRISE_TEST_BUNDLE_ZIP_PATH` | Zipped directory of the built targets' binaries and built associated tests. |
| `BITRISE_XCTESTRUN_FILE_PATH` | File path of the built xctestrun file (example: `$SYMROOT/ios-simple-objc_iphoneos12.0-arm64e.xctestrun`). If `Test Plan` Step Input is set BITRISE_XCTESTRUN_FILE_PATH points to the provided Test Plan's xctestrun file. Otherwise points to the scheme's default Test Plan's xctestrun file (or to the first xctestrun without default Test Plan). |
| `BITRISE_XCODE_RAW_RESULT_TEXT_PATH` | File path of the raw `xcodebuild build-for-testing` command log. |
</details>

## 🙋 Contributing
Expand Down
98 changes: 74 additions & 24 deletions e2e/bitrise.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ workflows:
- SAMPLE_APP_BRANCH: codesign-update
- BITRISE_PROJECT_PATH: sample-swiftpm.xcodeproj
- BITRISE_SCHEME: sample swiftpm
- DESTINATION: generic/platform=iOS
- CODE_SIGNING_METHOD: apple-id
- TEAM_ID: 72SA8V3WYL
- CERTIFICATE_URL_LIST: $BITFALL_APPLE_APPLE_CERTIFICATE_URL_LIST
Expand All @@ -53,6 +54,7 @@ workflows:
- BITRISE_PROJECT_PATH: sample-apps-fastlane-test.xcodeproj
- BITRISE_SCHEME: sample-apps-fastlane-test
- BITRISE_CONFIGURATION: Debug
- DESTINATION: generic/platform=iOS
- CODE_SIGNING_METHOD: api-key
- CERTIFICATE_URL_LIST: $BITFALL_APPLE_APPLE_CERTIFICATE_URL_LIST
- CERTIFICATE_PASSPHRASE_LIST: $BITFALL_APPLE_APPLE_CERTIFICATE_PASSPHRASE_LIST
Expand All @@ -66,6 +68,7 @@ workflows:
- SAMPLE_APP_BRANCH: renamed-scheme
- BITRISE_PROJECT_PATH: ./ios-simple-objc/ios-simple-objc.xcodeproj
- BITRISE_SCHEME: renamed_scheme
- DESTINATION: generic/platform=iOS
- CODE_SIGNING_METHOD: "off"
- CERTIFICATE_URL_LIST: $BITFALL_APPLE_APPLE_CERTIFICATE_URL_LIST
- CERTIFICATE_PASSPHRASE_LIST: $BITFALL_APPLE_APPLE_CERTIFICATE_PASSPHRASE_LIST
Expand All @@ -80,6 +83,7 @@ workflows:
- SAMPLE_APP_BRANCH: master
- BITRISE_PROJECT_PATH: sample-apps-fastlane-test.xcodeproj
- BITRISE_SCHEME: sample-apps-fastlane-test
- DESTINATION: generic/platform=iOS
- BITRISE_CONFIGURATION: Debug
- CODE_SIGNING_METHOD: apple-id
- TEAM_ID: 72SA8V3WYL
Expand All @@ -94,6 +98,7 @@ workflows:
- SAMPLE_APP_BRANCH: renamed-scheme
- BITRISE_PROJECT_PATH: ./ios-simple-objc/ios-simple-objc.xcodeproj
- BITRISE_SCHEME: renamed_scheme
- DESTINATION: generic/platform=iOS
- CODE_SIGNING_METHOD: api-key
- CERTIFICATE_URL_LIST: $BITFALL_APPLE_APPLE_CERTIFICATE_URL_LIST
- CERTIFICATE_PASSPHRASE_LIST: $BITFALL_APPLE_APPLE_CERTIFICATE_PASSPHRASE_LIST
Expand All @@ -106,6 +111,7 @@ workflows:
- SAMPLE_APP_BRANCH: renamed-scheme
- BITRISE_PROJECT_PATH: ./ios-simple-objc/ios-simple-objc.xcodeproj
- BITRISE_SCHEME: Scheme with spaces
- DESTINATION: generic/platform=iOS
- CODE_SIGNING_METHOD: api-key
- CERTIFICATE_URL_LIST: $BITFALL_APPLE_APPLE_CERTIFICATE_URL_LIST
- CERTIFICATE_PASSPHRASE_LIST: $BITFALL_APPLE_APPLE_CERTIFICATE_PASSPHRASE_LIST
Expand All @@ -118,6 +124,7 @@ workflows:
- SAMPLE_APP_BRANCH: renamed-scheme
- BITRISE_PROJECT_PATH: ./ios-simple-objc/ios-simple-objc.xcodeproj
- BITRISE_SCHEME: renamed_scheme
- DESTINATION: generic/platform=iOS
- XCODE_BUILD_OPTIONS: -derivedDataPath $BITRISE_SOURCE_DIR/_tmp/ddata -destination generic/platform=iOS
- CODE_SIGNING_METHOD: api-key
- CERTIFICATE_URL_LIST: $BITFALL_APPLE_APPLE_CERTIFICATE_URL_LIST
Expand All @@ -131,6 +138,7 @@ workflows:
- SAMPLE_APP_BRANCH: automatic-signing
- BITRISE_PROJECT_PATH: ./ios-simple-objc/ios-simple-objc.xcodeproj
- BITRISE_SCHEME: Scheme with spaces
- DESTINATION: generic/platform=iOS
- XCODE_BUILD_OPTIONS: -derivedDataPath $BITRISE_SOURCE_DIR/_tmp/ddata -destination generic/platform=iOS
- CODE_SIGNING_METHOD: api-key
- CERTIFICATE_URL_LIST: $BITFALL_APPLE_APPLE_CERTIFICATE_URL_LIST
Expand All @@ -144,13 +152,63 @@ workflows:
- SAMPLE_APP_BRANCH: bundle_id
- BITRISE_PROJECT_PATH: ./ios-simple-objc/ios-simple-objc.xcodeproj
- BITRISE_SCHEME: ios-simple-objc
- DESTINATION: generic/platform=iOS
- CODE_SIGNING_METHOD: api-key
- TEAM_ID: 72SA8V3WYL
- CERTIFICATE_URL_LIST: $BITFALL_APPLE_IOS_CERTIFICATE_NOPASSPHRASE_URL
- CERTIFICATE_PASSPHRASE_LIST: ""
after_run:
- _run

test_test_plan_enabled_project:
envs:
- SAMPLE_APP_URL: https://github.com/bitrise-io/sample-swift-project-with-parallel-ui-test.git
- SAMPLE_APP_BRANCH: master
- BITRISE_PROJECT_PATH: ./BullsEye.xcworkspace
- BITRISE_SCHEME: BullsEye
- DESTINATION: platform=iOS Simulator,name=iPhone 12 Pro Max
- CODE_SIGNING_METHOD: "off"
before_run:
- _run
after_run:
- _run_test_without_building

test_test_plan_enabled_project_test_plan_specified:
envs:
- SAMPLE_APP_URL: https://github.com/bitrise-io/sample-swift-project-with-parallel-ui-test.git
- SAMPLE_APP_BRANCH: master
- BITRISE_PROJECT_PATH: ./BullsEye.xcworkspace
- BITRISE_SCHEME: BullsEye
- DESTINATION: platform=iOS Simulator,name=iPhone 12 Pro Max
- CODE_SIGNING_METHOD: "off"
- TEST_PLAN: UnitTests
before_run:
- _run
steps:
- script:
title: Check xctestrun filename
description: |-
This Step checks if the generated xctestrun filename matches the last known pattern or not.
If not, `Step.findTestBundle`'s default xctestrun search needs to be updated.
inputs:
- content: |-
#!/bin/env bash
set -e
base="$(basename -- $BITRISE_XCTESTRUN_FILE_PATH)"
regex="${BITRISE_SCHEME}_${TEST_PLAN}_.*\.xctestrun"
echo "xctestrun filename: $base"
echo 'filename pattern: ${BITRISE_SCHEME}_${TEST_PLAN}_.*\.xctestrun'
if [[ ! $base =~ $regex ]] ; then
echo "xctestrun filename doesn't match"
exit 1
fi
echo "xctestrun filename matches"
after_run:
- _run_test_without_building

_run:
steps:
- script:
Expand All @@ -171,8 +229,10 @@ workflows:
inputs:
- project_path: ./_tmp/$BITRISE_PROJECT_PATH
- scheme: $BITRISE_SCHEME
- output_tool: xcodebuild
- destination: $DESTINATION
- test_plan: $TEST_PLAN
- xcodebuild_options: $XCODE_BUILD_OPTIONS
- output_tool: xcodebuild
- automatic_code_signing: $CODE_SIGNING_METHOD
- certificate_url_list: $CERTIFICATE_URL_LIST
- passphrase_list: $CERTIFICATE_PASSPHRASE_LIST
Expand All @@ -181,37 +241,27 @@ workflows:
is_always_run: true
inputs:
- envs:
- files:
- files: |-
BITRISE_XCTESTRUN_FILE_PATH
- dirs: |-
BITRISE_TEST_DIR_PATH
BITRISE_TEST_BUNDLE_PATH
- deploy_dir: $BITRISE_DEPLOY_DIR
- deployed_files: |-
BITRISE_TEST_BUNDLE_ZIP_PATH
BITRISE_XCTESTRUN_FILE_PATH
- deployed_dirs:
- script:
title: Output check
is_always_run: true
inputs:
- content: |-
#!/bin/env bash
set -e
if [[ "$BITRISE_DEPLOY_DIR/testbundle.zip" != "$BITRISE_TEST_BUNDLE_ZIP_PATH" ]] ; then
echo "BITRISE_TEST_BUNDLE_ZIP_PATH (\"$BITRISE_TEST_BUNDLE_ZIP_PATH\") should be: \"$BITRISE_DEPLOY_DIR/testbundle.zip\""
exit 1
fi
if [[ "$BITRISE_DEPLOY_DIR/Debug-iphoneos" != "$BITRISE_TEST_DIR_PATH" ]] ; then
echo "BITRISE_TEST_DIR_PATH (\"$BITRISE_TEST_DIR_PATH\") should be: \"$BITRISE_DEPLOY_DIR/Debug-iphoneos\""
exit 1
fi
if [[ "$BITRISE_XCTESTRUN_FILE_PATH" =~ "$BITRISE_DEPLOY_DIR/${BITRISE_SCHEME}_iphoneos[0-9]{2}.[0-9]{1,2}-arm64e.xctestrun" ]] ; then
echo "BITRISE_XCTESTRUN_FILE_PATH (\"$BITRISE_XCTESTRUN_FILE_PATH\") should be: \"$BITRISE_DEPLOY_DIR/${BITRISE_SCHEME}_iphoneos{{sdk-version}}-arm64e.xctestrun\""
exit 1
fi

_run_device_tests:
steps:
- virtual-device-testing-for-ios: { }
- virtual-device-testing-for-ios:
inputs:
- test_devices: iphone13pro,15.2,en,portrait

_run_test_without_building:
steps:
- git::https://github.com/bitrise-steplib/bitrise-step-xcode-test-without-building.git@step-init:
inputs:
- xctestrun: $BITRISE_XCTESTRUN_FILE_PATH
- destination: $DESTINATION

_expose_xcode_version:
steps:
Expand Down
8 changes: 4 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,16 @@ go 1.17
require (
github.com/bitrise-io/go-steputils v1.0.2
github.com/bitrise-io/go-utils v1.0.2
github.com/bitrise-io/go-xcode v1.0.6
github.com/bitrise-io/go-xcode v1.0.9
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
golang.org/x/text v0.3.7 // indirect
)

require (
github.com/bitrise-io/go-steputils/v2 v2.0.0-alpha.2
github.com/bitrise-io/go-utils/v2 v2.0.0-alpha.7
github.com/bitrise-io/go-xcode/v2 v2.0.0-alpha.17
github.com/bitrise-io/go-xcode/v2 v2.0.0-alpha.18
github.com/stretchr/testify v1.7.2
)

require (
Expand All @@ -29,7 +30,6 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/stretchr/objx v0.4.0 // indirect
github.com/stretchr/testify v1.7.1 // indirect
gopkg.in/yaml.v3 v3.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
howett.net/plist v1.0.0 // indirect
)
13 changes: 8 additions & 5 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@ github.com/bitrise-io/go-utils v1.0.2/go.mod h1:ZY1DI+fEpZuFpO9szgDeICM4QbqoWVt0
github.com/bitrise-io/go-utils/v2 v2.0.0-alpha.1/go.mod h1:sy+Ir1X8P3tAAx/qU/r+hqDjHDcrMjIzDEvId1wqNc4=
github.com/bitrise-io/go-utils/v2 v2.0.0-alpha.7 h1:d0XDESvQwOO+V9afZrI8QGR7bJGDkmE4Q9ezIBB4TLw=
github.com/bitrise-io/go-utils/v2 v2.0.0-alpha.7/go.mod h1:6i0Gt0JRIbXpsrFDJT1YWghFfdN8qF26/fnpc/6d/88=
github.com/bitrise-io/go-xcode v1.0.6 h1:hSKwkDXUn9/gMk6HiJRUvurGWelfQEBWcO7JAvXi+y8=
github.com/bitrise-io/go-xcode v1.0.6/go.mod h1:Y0Wu2dXm0MilJ/4D3+gPHaNMlUcP+1DjIPoLPykq7wY=
github.com/bitrise-io/go-xcode/v2 v2.0.0-alpha.17 h1:aLlblow6vgnFKBRJRPz03O/M6x6LYY57wDkRCh66XL0=
github.com/bitrise-io/go-xcode/v2 v2.0.0-alpha.17/go.mod h1:oYILBt4j8jn69avylknuqsUO/BSiRx9i+JaxcNOtWMA=
github.com/bitrise-io/go-xcode v1.0.9 h1:+sbqOYidQ+aiFfCTDpf2LdGSQEM5RfbtDsiG27zJG+s=
github.com/bitrise-io/go-xcode v1.0.9/go.mod h1:Y0Wu2dXm0MilJ/4D3+gPHaNMlUcP+1DjIPoLPykq7wY=
github.com/bitrise-io/go-xcode/v2 v2.0.0-alpha.18 h1:Xt/xLjx19hMuPNZDq09P7F6Lg+Rpu/tkfwPr2/1CeDI=
github.com/bitrise-io/go-xcode/v2 v2.0.0-alpha.18/go.mod h1:oYILBt4j8jn69avylknuqsUO/BSiRx9i+JaxcNOtWMA=
github.com/bitrise-io/pkcs12 v0.0.0-20211108084543-e52728e011c8 h1:kmvU8AxrNTxXsVPKepBHD8W+eCVmeaKyTkRuUJB2K38=
github.com/bitrise-io/pkcs12 v0.0.0-20211108084543-e52728e011c8/go.mod h1:UiXKNs0essbC14a2TvGlnUKo9isP9m4guPrp8KJHJpU=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
Expand Down Expand Up @@ -62,8 +63,9 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
Expand All @@ -85,7 +87,8 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA=
gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
howett.net/plist v1.0.0 h1:7CrbWYbPPO/PyNy38b2EB/+gYbjCe2DXBxgtOOZbSQM=
howett.net/plist v1.0.0/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g=
9 changes: 8 additions & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ import (
"os"

"github.com/bitrise-io/go-utils/v2/log"
"github.com/bitrise-io/go-utils/v2/pathutil"
"github.com/bitrise-steplib/steps-xcode-build-for-test/step"
"github.com/bitrise-steplib/steps-xcode-build-for-test/xcodeproject"
)

func main() {
Expand Down Expand Up @@ -49,5 +51,10 @@ func run() int {
}

func createXcodebuildBuilder(logger log.Logger) step.XcodebuildBuilder {
return step.NewXcodebuildBuilder(logger)
xcproject := xcodeproject.NewXcodeProject()
pathChecker := pathutil.NewPathChecker()
pathProvider := pathutil.NewPathProvider()
fileManager := step.NewFileManager()

return step.NewXcodebuildBuilder(logger, xcproject, pathChecker, pathProvider, fileManager)
}
74 changes: 74 additions & 0 deletions mocks/FileManager.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit e8cfa57

Please sign in to comment.