Skip to content

Commit

Permalink
Ensure the correct formatting of the fastlane tools (fastlane#11868)
Browse files Browse the repository at this point in the history
  • Loading branch information
revolter authored Feb 18, 2018
1 parent 01edbf2 commit 9cf37e6
Show file tree
Hide file tree
Showing 30 changed files with 129 additions and 106 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
[![Gem](https://img.shields.io/gem/v/fastlane.svg?style=flat)](https://rubygems.org/gems/fastlane)
[![Build Status](https://img.shields.io/circleci/project/fastlane/fastlane/master.svg?style=flat)](https://circleci.com/gh/fastlane/fastlane)

`fastlane` is a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application.
_fastlane_ is a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application.

<hr />
<h2 align="center">
Expand Down Expand Up @@ -154,7 +154,7 @@ Check out [CONTRIBUTING.md](CONTRIBUTING.md) for more information on how to help

## Code of Conduct

Help us keep `fastlane` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
Help us keep _fastlane_ open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).

## License

Expand Down
4 changes: 2 additions & 2 deletions RespondingToIssuesAndPullRequests.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Also, whenever you submit a comment, don’t ask users for their personal inform

## How we use GitHub Labels

Issues and PRs may get marked with labels to help the fastlane team communicate with each other and with the community as a whole. Usually most issues and PRs will get two different labels, one for the tool it affects (e.g. `fastlane`, `fastlane_core`, `supply`, ...) and one that represents some general information about the state or nature of the issue/PR.
Issues and PRs may get marked with labels to help the fastlane team communicate with each other and with the community as a whole. Usually most issues and PRs will get two different labels, one for the tool it affects (e.g. _fastlane_, `fastlane_core`, _supply_, ...) and one that represents some general information about the state or nature of the issue/PR.

If you identify an issue that seems interesting but not time-critical, and is simple for new contributors to dive into, we recommend adding the “you can do this” label. PRs labeled “you can do this” should have very clear descriptions of the problem and solution. Remember that someone who is new to fastlane will need some coaching to be successful!

Expand All @@ -27,7 +27,7 @@ If you identify an issue that seems interesting but not time-critical, and is si

### Tool Labels

Each tool has it’s own label, e.g. `fastlane`, `fastlane_core` and `gym`.
Each tool has it’s own label, e.g. _fastlane_, `fastlane_core` and _gym_.

## How to review Pull Requests

Expand Down
2 changes: 1 addition & 1 deletion ToolsAndDebugging.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ DEBUG=1 bundle exec rspec
You will then jump into an interactive debugger that allows you to print out variables, call methods and [much more](https://github.com/pry/pry/wiki).
To continue running the original script use `control` + `d`

## Debugging and patching _[spaceship](https://spaceship.airforce)_ issues
## Debugging and patching [_spaceship_](https://spaceship.airforce) issues

### Introduction to _spaceship_

Expand Down
30 changes: 15 additions & 15 deletions VISION.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,22 @@ With these challenges in mind, [_fastlane_ plugin system](https://fabric.io/blog

Each _fastlane_ tool has a specific purpose and should be kept focused on the functionality required for that task.

* [deliver](https://github.com/fastlane/fastlane/tree/master/deliver): Upload screenshots, metadata, and your app binary to the App Store
* [supply](https://github.com/fastlane/fastlane/tree/master/supply): Upload your Android app and its metadata to Google Play
* [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot): Automate taking localized screenshots of your iOS apps on every device
* [screengrab](https://github.com/fastlane/fastlane/tree/master/screengrab): Automate taking localized screenshots of your Android app on every device
* [frameit](https://github.com/fastlane/fastlane/tree/master/frameit): Quickly put your screenshots into the right device frames
* [pem](https://github.com/fastlane/fastlane/tree/master/pem): Automatically generate and renew your push notification certificates
* [sigh](https://github.com/fastlane/fastlane/tree/master/sigh): Because you would rather spend your time building stuff than fighting provisioning
* [produce](https://github.com/fastlane/fastlane/tree/master/produce): Create new iOS apps on iTunes Connect and Apple Developer Portal using the command line
* [cert](https://github.com/fastlane/fastlane/tree/master/cert): Automatically create and maintain iOS code signing certificates
* [spaceship](https://github.com/fastlane/fastlane/tree/master/spaceship): Ruby library to access the Apple Developer Portal and iTunes Connect
* [pilot](https://github.com/fastlane/fastlane/tree/master/pilot): The best way to manage your TestFlight testers and builds from your terminal
* [_deliver_](https://github.com/fastlane/fastlane/tree/master/deliver): Upload screenshots, metadata, and your app binary to the App Store
* [_supply_](https://github.com/fastlane/fastlane/tree/master/supply): Upload your Android app and its metadata to Google Play
* [_snapshot_](https://github.com/fastlane/fastlane/tree/master/snapshot): Automate taking localized screenshots of your iOS apps on every device
* [_screengrab_](https://github.com/fastlane/fastlane/tree/master/screengrab): Automate taking localized screenshots of your Android app on every device
* [_frameit_](https://github.com/fastlane/fastlane/tree/master/frameit): Quickly put your screenshots into the right device frames
* [_pem_](https://github.com/fastlane/fastlane/tree/master/pem): Automatically generate and renew your push notification certificates
* [_sigh_](https://github.com/fastlane/fastlane/tree/master/sigh): Because you would rather spend your time building stuff than fighting provisioning
* [_produce_](https://github.com/fastlane/fastlane/tree/master/produce): Create new iOS apps on iTunes Connect and Apple Developer Portal using the command line
* [_cert_](https://github.com/fastlane/fastlane/tree/master/cert): Automatically create and maintain iOS code signing certificates
* [_spaceship_](https://github.com/fastlane/fastlane/tree/master/spaceship): Ruby library to access the Apple Developer Portal and iTunes Connect
* [_pilot_](https://github.com/fastlane/fastlane/tree/master/pilot): The best way to manage your TestFlight testers and builds from your terminal
* [boarding](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
* [gym](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
* [match](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using Git
* [scan](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests for your iOS and Mac apps
* [precheck](https://github.com/fastlane/fastlane/tree/master/precheck): Check your app using a community driven set of App Store review rules to avoid being rejected
* [_gym_](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
* [_match_](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using Git
* [_scan_](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests for your iOS and Mac apps
* [_precheck_](https://github.com/fastlane/fastlane/tree/master/precheck): Check your app using a community driven set of App Store review rules to avoid being rejected

## _fastlane_’s Relationship with [Google](https://google.com)

Expand Down
6 changes: 3 additions & 3 deletions YourFirstPR.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ If you want to work on something else, e.g. new functionality or fixing a bug, i

## Checking out the _fastlane_ repo

- Click the “Fork” button in the upper right corner of the [main _fastlane_ repo][fastlane]
- Click the “Fork” button in the upper right corner of the [main _fastlane_ repo][fastlane repo]
- Clone your fork:
- `git clone git@github.com:<YOUR_GITHUB_USER>/fastlane.git`
- Learn more about how to manage your fork: https://help.github.com/articles/working-with-forks/
Expand All @@ -32,7 +32,7 @@ If you want to work on something else, e.g. new functionality or fixing a bug, i

## Submitting the PR

When the coding is done and you’re finished testing your changes, you are ready to submit the PR to the [_fastlane_ main repo][fastlane]. Everything you need to know about submitting the PR itself is inside our [Pull Request Template][pr template]. Some best practices are:
When the coding is done and you’re finished testing your changes, you are ready to submit the PR to the [_fastlane_ main repo][fastlane repo]. Everything you need to know about submitting the PR itself is inside our [Pull Request Template][pr template]. Some best practices are:

- Use a descriptive title
- Link the issues that are related to your PR in the body
Expand All @@ -47,7 +47,7 @@ After your contribution is merged, it’s not immediately available to all users

<!-- Links -->
[you can do this]: https://github.com/fastlane/fastlane/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3A%22complexity%3A+you+can+do+this%22+
[fastlane]: https://github.com/fastlane/fastlane
[fastlane repo]: https://github.com/fastlane/fastlane
[pr template]: .github/PULL_REQUEST_TEMPLATE.md
[bundler]: https://bundler.io
[bundler help]: https://bundler.io/v1.12/#getting-started
2 changes: 1 addition & 1 deletion cert/ManualSteps.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# [cert](https://docs.fastlane.tools/actions/cert/)
# [_cert_](https://docs.fastlane.tools/actions/cert/)

#### To create a new certificate and a provisioning profile you have to do the following steps on the Apple Developer Portal

Expand Down
4 changes: 2 additions & 2 deletions credentials_manager/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ If you don't want to have your password stored in the Keychain set the `FASTLANE

## Implementing a custom solution

All ```fastlane``` tools are Ruby-based, and you can take a look at the source code to easily implement your own authentication solution.
All _fastlane_ tools are Ruby-based, and you can take a look at the source code to easily implement your own authentication solution.

```ruby
require 'credentials_manager'
Expand All @@ -55,7 +55,7 @@ puts data.password
```

# Code of Conduct
Help us keep `fastlane` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
Help us keep _fastlane_ open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).

# License

Expand Down
26 changes: 13 additions & 13 deletions deliver/MigrationGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

### Why breaking changes?

Originally `deliver` was designed to be "The Continuous Delivery tool for iOS". With the introduction of [fastlane](https://fastlane.tools) many things have changed. It was time for a big rewrite for `deliver`, which is one of the most popular tools of the [fastlane toolchain](https://fastlane.tools).
Originally _deliver_ was designed to be "The Continuous Delivery tool for iOS". With the introduction of [_fastlane_](https://fastlane.tools) many things have changed. It was time for a big rewrite for _deliver_, which is one of the most popular tools of the [fastlane toolchain](https://fastlane.tools).

### What do I have to do to get my setup working again?

Expand All @@ -12,21 +12,21 @@ With 1.0 the app will not be submitted to Review by default. You can use the `fa

#### Standard Setups (one app)

The easiest way is to remove the existing `Deliverfile` (which is probably almost empty anyway) and clear the `metadata` folder and run `deliver init`, so that `deliver` creates everything in the new format for you.
The easiest way is to remove the existing `Deliverfile` (which is probably almost empty anyway) and clear the `metadata` folder and run `deliver init`, so that _deliver_ creates everything in the new format for you.

#### Advanced Setups

To manually migrate setups (especially if you make heavy use of the `Deliverfile`):

Make sure to adapt the paths to include the `fastlane` directory (if necessary).
Make sure to adapt the paths to include the _fastlane_ directory (if necessary).

**The following options have been removed from the `Deliverfile`:**

Removed | Use instead | Note
---------|-----------------|------------------------------------------------------------
`beta_ipa` | |
`success`| [fastlane](https://fastlane.tools) |
`error` | [fastlane](https://fastlane.tools) |
`success`| [_fastlane_](https://fastlane.tools) |
`error` | [_fastlane_](https://fastlane.tools) |
`email` | `username` |
`apple_id` | `app` | use `app_identifier` to specify the bundle identifier instead
`version` | `app_version` | is usually automatically detected
Expand All @@ -50,8 +50,8 @@ From | To | Note

Removed | Use instead
--------------------------|------------------------------------------------------------
`deliver testflight` | [pilot](https://docs.fastlane.tools/actions/pilot/)
`testflight` | [pilot](https://docs.fastlane.tools/actions/pilot/)
`deliver testflight` | [_pilot_](https://docs.fastlane.tools/actions/pilot/)
`testflight` | [_pilot_](https://docs.fastlane.tools/actions/pilot/)

**The following codes/values have been changed:**

Expand All @@ -66,14 +66,14 @@ App Categories | [Reference.md](https://docs.fastlane.tools/actions/deliver/#ref
<img width="154" alt="screenshot 2015-09-26 21 47 35" src="https://cloud.githubusercontent.com/assets/869950/10121262/38e52e02-6498-11e5-8269-bf5d63ca698a.png">


- `deliver` now uses [spaceship](https://spaceship.airforce) to communicate with . This has *huge* advantages over the old way, which means `deliver` is now much faster and more stable :rocket:
- Removed a lot of legacy code. Did you know `deliver` is now one year old? A lot of things have changed since then
- Improved the selection of the newly uploaded build and waiting for processing to be finished, which is possible thanks to `spaceship`
- Updating the app metadata and uploading of the screenshots now happen using `spaceship` instead of the iTunes Transporter, which means changes will immediately visible after running `deliver` :sparkles:
- Removed the `deliver beta` and `testflight` commands, as there is now a dedicated tool called [pilot](https://docs.fastlane.tools/actions/pilot/)
- _deliver_ now uses [_spaceship_](https://spaceship.airforce) to communicate with . This has *huge* advantages over the old way, which means _deliver_ is now much faster and more stable :rocket:
- Removed a lot of legacy code. Did you know _deliver_ is now one year old? A lot of things have changed since then
- Improved the selection of the newly uploaded build and waiting for processing to be finished, which is possible thanks to _spaceship_
- Updating the app metadata and uploading of the screenshots now happen using _spaceship_ instead of the iTunes Transporter, which means changes will immediately visible after running _deliver_ :sparkles:
- Removed the `deliver beta` and `testflight` commands, as there is now a dedicated tool called [_pilot_](https://docs.fastlane.tools/actions/pilot/)
- All parameters are now in the config system, which means you can pass values using the `Deliverfile`, from within your `Fastfile` or as command line parameter
<img width="500" alt="screenshot 2015-09-26 21 57 15" src="https://cloud.githubusercontent.com/assets/869950/10121297/c6ea1c7a-6499-11e5-8d2b-301f86faacf0.png">
- The preview doesn't highlight changes with blue any more
- Screenshot are uploaded every time. This is on the [next-tasks list](https://github.com/fastlane/fastlane/issues/2212)

If you run into any issues with the new version of `deliver` please submit an issue on GitHub.
If you run into any issues with the new version of _deliver_ please submit an issue on GitHub.
23 changes: 23 additions & 0 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ lane :validate_repo do
lint_source
execute_tests
validate_docs
ensure_tool_name_formatting
end

desc "Verifies source code is in a good state"
Expand Down Expand Up @@ -441,3 +442,25 @@ private_lane :current_version do
puts("Checking the latest version on RubyGems")
download(url: "https://rubygems.org/api/v1/gems/fastlane.json")["version"]
end

desc "Ensure the correct formatting for the fastlane tools"
private_lane :ensure_tool_name_formatting do
UI.message("🕗 Verifying tool name formatting...")
require 'fastlane/tools'
errors = []
Dir.chdir("..") do
Dir["**/*.md"].each do |path|
content = File.read(path)
Fastlane::TOOLS.each do |tool|
errors << "Use _#{tool}_ instead of `#{tool}` to mention a tool in the docs in '#{path}'" if content.include?("`#{tool}`")
errors << "Use [_#{tool}_] instead of [#{tool}] to mention a tool in the docs in '#{path}'" if content.include?("[#{tool}]")
if content.include?("_#{tool.to_s.capitalize}_") || content.include?("`#{tool.to_s.capitalize}`")
errors << "fastlane tools have to be formatted in lower case: #{tool} in '#{path}'"
end
end
end
end
errors.each { |a| UI.error(a) }
UI.user_error!("Invalid formatting of one of the fastlane tools") unless errors.empty?
UI.success("✅ fastlane tools formatting is correct")
end
6 changes: 3 additions & 3 deletions fastlane/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

## Fastfile

The Fastfile is used to configure [fastlane](https://fastlane.tools). Open it in your favourite text editor, using Ruby syntax highlighting.
The Fastfile is used to configure [_fastlane_](https://fastlane.tools). Open it in your favourite text editor, using Ruby syntax highlighting.

Defining lanes is easy.

Expand Down Expand Up @@ -63,15 +63,15 @@ end

## Extensions

Why only use the default actions? Create your own to extend the functionality of `fastlane`.
Why only use the default actions? Create your own to extend the functionality of _fastlane_.

The build step you create will behave exactly like the built in actions.

Just run `fastlane new_action`. Then enter the name of the action and edit the generated Ruby file in `fastlane/actions/[action_name].rb`.

From then on, you can just start using your action in your `Fastfile`.

If you think your extension can be used by other developers as well, let me know, and we can bundle it with `fastlane`.
If you think your extension can be used by other developers as well, let me know, and we can bundle it with _fastlane_.

To call another action from within your action, just use the same code you would use in a `Fastfile`:

Expand Down
2 changes: 1 addition & 1 deletion fastlane/lib/fastlane/actions/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
All built-in integrations are available in this directory. Use the `fastlane new_action` command to create a new action.

`fastlane` will automatically detect the files in this folder
_fastlane_ will automatically detect the files in this folder
Loading

0 comments on commit 9cf37e6

Please sign in to comment.