Skip to content

Commit

Permalink
New Step description (#27)
Browse files Browse the repository at this point in the history
* New Step description + input cleanup

* Update step.yml
  • Loading branch information
zoltan-baba authored Nov 19, 2020
1 parent 9bc8737 commit c881256
Showing 1 changed file with 56 additions and 45 deletions.
101 changes: 56 additions & 45 deletions step.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,33 @@
title: Xcode Analyze
summary: |-
Find flaws (potential bugs) in the source code of a project with the
Find flaws and potential bugs in the source code of an app with the
static analyzer built into Xcode.
description: |-
Find flaws (potential bugs) in the source code of a project with the
static analyzer built into Xcode.
The Step uses the static analyzer built directly into Xcode to analyze your app's source code: the static analyzer tries out thousands of possible code paths in a few seconds, reporting potential bugs that might have remained hidden or bugs that might be nearly impossible to replicate.
This process also identifies areas in your code that don’t follow recommended API usage, such as Foundation, UIKit, and AppKit idioms.
### Configuring the Step
In most cases, you don't need to change the Step's configuration. The default input values work well if you added your iOS app on the website, using automatic configuration.
To make sure the Step works well for you:
1. Make sure the **Project (or Workspace) path** points to the path of the `.xcodeproj` or `.xcworkspace` file of your app, relative to the app's root directory.
1. Make sure the **Scheme name** input points to a valid shared Xcode scheme. Note that it must be a shared scheme!
1. Optionally, you can force the Step to use specific code signing identities. To do so, use the **Force code signing with Identity** and **Force code signing with Provisioning Profile** inputs.
Runs Xcode's `analyze` action.
For detailed instructions on their use, see the inputs themselves.
### Useful links
* [Running Xcode tests](https://devcenter.bitrise.io/testing/running-xcode-tests/)
* [Device testing for iOS](https://devcenter.bitrise.io/testing/device-testing-for-ios/)
### Related Steps
* [Xcode build for simulator](https://app.bitrise.io/integrations/steps/xcode-build-for-simulator)
* [Xcode Test for iOS](https://app.bitrise.io/integrations/steps/xcode-test)
website: https://github.com/bitrise-steplib/steps-xcode-analyze
source_code_url: https://github.com/bitrise-steplib/steps-xcode-analyze
support_url: https://github.com/bitrise-steplib/steps-xcode-analyze/issues
Expand Down Expand Up @@ -40,30 +61,29 @@ inputs:
- workdir: $BITRISE_SOURCE_DIR
opts:
title: "Working directory"
summary: "Working directory of the step"
summary: "Working directory of the Step"
description: |
Working directory of the step.
You can leave it empty to don't change it.
Working directory of the Step.
If you leave it empty, the default working directory will be used.
is_required: false
is_expand: true
- project_path: $BITRISE_PROJECT_PATH
opts:
title: "Project (or Workspace) path"
summary: "`.xcodeproj` or `.xcworkspace` path"
title: "Xcode project or workspace path"
summary: "The path of the `.xcodeproj` or `.xcworkspace` file"
description: |
A `.xcodeproj` or `.xcworkspace` path, relative to
the Workfing directory (if specified).
The path to your app's `.xcodeproj` or `.xcworkspace` file, relative to
the Step's working directory (if one is specified).
is_required: true
is_expand: true
is_dont_change_value: false
- scheme: $BITRISE_SCHEME
opts:
title: "Scheme name"
summary: "The Scheme to use."
summary: "The Xcode scheme to use."
description: |
The Scheme to use.
**IMPORTANT**: The Scheme have to be marked as __shared__ in Xcode!
The Xcode scheme to use for the analysis.
**IMPORTANT**: The scheme must be marked as shared in Xcode!
is_required: true
is_expand: true
is_dont_change_value: false
Expand All @@ -78,54 +98,45 @@ inputs:
is_dont_change_value: false
- force_code_sign_identity:
opts:
title: "Force code signing with Identity"
title: "Force code signing with identity"
description: |-
Force xcodebuild to use specified Code Signing Identity.
Specify code signing identity as full ID (e.g. `iPhone Developer: Bitrise Bot (VV2J4SV8V4)`)
or specify code sign group ( `iPhone Developer` or `iPhone Distribution` ).
Force the `xcodebuild` command to use specified code signing identity.
Specify a code signing identity as a full ID (for example, `iPhone Developer: Bitrise Bot (VV2J4SV8V4)`)
or specify a code signing group (for example, `iPhone Developer` or `iPhone Distribution`).
- force_provisioning_profile:
opts:
title: "Force code signing with Provisioning Profile"
title: "Force code signing with provisioning profile"
description: |-
Force xcodebuild to use specified Provisioning Profile.
Use Provisioning Profile's UUID. The profile's name is NOT accepted by xcodebuild.
How to get your UUID:
Force the `xcodebuild` command to use a specified provisioning profile.
You must use the provisioning profile's UUID. The profile's name is NOT accepted by xcodebuild.
To get your UUID:
- In Xcode select your project -> Build Settings -> Code Signing
- Select the desired Provisioning Profile, then scroll down in profile list and click on Other...
- The popup will show your profile's UUID.
Format example:
- c5be4123-1234-4f9d-9843-0d9be985a068
- disable_codesign: "yes"
opts:
title: "Disable Code Signing"
title: "Disable code signing"
description: |-
In order to skip the code signing set this option to `yes`.
In order to skip code signing, set this option to `yes`.
value_options:
- "yes"
- "no"
- disable_index_while_building: "yes"
opts:
title: Disable indexing during the build
summary: Could make the build faster by disabling the indexing during the build run.
summary: Disable indexing during the build run to potentially make the build faster.
description: |-
Could make the build faster by adding `COMPILER_INDEX_STORE_ENABLE=NO` flag to the `xcodebuild` command which will disable the indexing during the build.
Add `COMPILER_INDEX_STORE_ENABLE=NO` flag to the `xcodebuild` command which will disable the indexing during the build.
Indexing is needed for
* Autocomplete
* Ability to quickly jump to definition
* Autocomplete.
* Ability to quickly jump to definition.
* Get class and method help by alt clicking.
Which are not needed in CI environment.
None of the above ar needed in a CI environment.
**Note:** In Xcode you can turn off the `Index-WhileBuilding` feature by disabling the `Enable Index-WhileBuilding Functionality` in the `Build Settings`.<br/>
In CI environment you can disable it by adding `COMPILER_INDEX_STORE_ENABLE=NO` flag to the `xcodebuild` command.
In a CI environment you can disable it by adding `COMPILER_INDEX_STORE_ENABLE=NO` flag to the `xcodebuild` command.
value_options:
- "yes"
- "no"
Expand All @@ -134,8 +145,8 @@ inputs:
title: Enable caching of Swift Package Manager packages
description: |-
Available options:
- `none` : Disable caching
- `swift_packages` : Cache Swift PM packages added to the Xcode project
- `none` : Disable caching.
- `swift_packages` : Cache Swift PM packages added to the Xcode project.
value_options:
- "none"
- "swift_packages"
Expand All @@ -145,8 +156,8 @@ inputs:
category: Debug
title: Output tool
description: |-
If output_tool is set to xcpretty, the xcodebuild output will be prettified by xcpretty.
If output_tool is set to xcodebuild, the raw xcodebuild output will be printed.
If the input is set to `xcpretty`, the xcodebuild output will be prettified by xcpretty.
If the input is set to `xcodebuild`, the raw xcodebuild output will be printed.
value_options:
- xcpretty
- xcodebuild
Expand All @@ -158,7 +169,7 @@ inputs:
category: Debug
title: Output directory path
summary: Output directory path
description: This directory will contain the generated raw-xcodebuild-output.log.
description: This directory will contain the generated `raw-xcodebuild-output.log`.
is_required: true
- verbose_log: "yes"
opts:
Expand Down

0 comments on commit c881256

Please sign in to comment.