Skip to content

bitrise-steplib/steps-project-scanner

Repository files navigation

Project scanner

Step changelog

Scans repository for iOS, macOS, Android, Fastlane, Cordova, Ionic, React Native and Flutter projects

Description

This Step scans your repository to determine your project's type.

The Step scans for:

  • iOS and macOS projects, the Step detects CocoaPods and scans Xcode project files for valid Xcode command line configurations.
  • Android projects, the Step checks for build.gradle files and lists all the Gradle tasks. It also checks for a gradlew file.
  • Fastlane, the Step detects Fastfile and lists the available lanes.
  • Cordova projects, the Step checks for the config.xml file.
  • Ionic projects, the Step checks for the ionic.config.json and ionic.project files.
  • React Native projects, the Step checks for package.json files and also runs the iOS and Android native project scanners.
  • Flutter projects, the Step checks for the pubspec.yaml files.

Configuring the Step

To successfully run the Step, you need:

  1. An SSH key or Git HTTP credentials
  2. A repository

To configure the Step:

  1. POST url to send the scan results to: You can send your app's scan results to an URL as a POST request.
  2. URL to get app icon candidates upload URLs: You can upload your app's icons using this input.
  3. Verbose log option: You can set this input to yes to produce more informative logs.
  4. Activate SSH key and clone git repo inside the Step: You can set this input to true to activate an SSH key and clone the git repository of your app.

Troubleshooting

If you receive an error message, No known platform detected, make sure that you cloned the correct repository and you have a valid SSH key.

Useful links

🧩 Get started

Add this step directly to your workflow in the Bitrise Workflow Editor.

You can also run this step directly with Bitrise CLI.

⚙️ Configuration

Inputs
Key Description Flags Default
scan_dir The Step will look for the projects in this directory. required $BITRISE_SOURCE_DIR
scan_result_submit_url If provided, the scan results will be sent to the given URL, with a POST request. $BITRISE_SCAN_RESULT_POST_URL
scan_result_submit_api_token If provided and scan_result_submit_url also provided, this API Token will be used for sending the Scan Results. sensitive $BITRISE_APP_API_TOKEN
icon_candidates_url If provided, the app icons will be uploaded. $BITRISE_AVATAR_CANDIDATES_POST_URL
verbose_log You can enable the verbose log for easier debugging. false
enable_repo_clone If set to yes then it will setup the ssh key and will clone the repo with the provided url and branch name. no
ssh_rsa_private_key SSH key to be used for the git clone. sensitive $SSH_RSA_PRIVATE_KEY
git_http_username Username for establishing an HTTP(S) connection to the repository sensitive $GIT_HTTP_USERNAME
git_http_password Personal access token (or password) for establishing an HTTP(S) connection to the repository sensitive $GIT_HTTP_PASSWORD
repository_url Url to be used for the git clone. $GIT_REPOSITORY_URL
branch Branch to be used for the git clone. $BITRISE_GIT_BRANCH
Outputs There are no outputs defined in this step

🙋 Contributing

We welcome pull requests and issues against this repository.

For pull requests, work on your changes in a forked repository and use the Bitrise CLI to run step tests locally.

Learn more about developing steps: