<commit_before>![The App Business](./MasterFastfile.png)

# MasterFastfile

[![Release](https://img.shields.io/badge/release-2.0.0-green.svg)](https://github.com/theappbusiness/MasterFastfile/releases/tag/2.0.0)
[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/theappbusiness/MasterFastfile/blob/master/LICENSE)

To setup your project to use the TAB MasterFastfile, navigate to your project root and run the following command:

```shell
curl https://raw.githubusercontent.com/theappbusiness/MasterFastfile/master/setup.sh | sh
```

Then setup your environments using the `.env` files created for you. To complete the setup just add the missing variable values.

To use the MasterFastfile add the following command to your Fastfile:

```ruby
import_from_git(url: 'https://github.com/theappbusiness/MasterFastfile.git', branch: '2.0.0', path: 'Fastfile')
```
For more detailed instructions [see our wiki](https://github.com/theappbusiness/MasterFastfile/wiki)

## Available lanes

* `test`
  * runs tests
* `deploy_to_hockey`
  * runs tests
  * sets build number
  * adds build info to app icon
  * builds and archives project
  * generates changelog from git commits
  * uploads app to hockey
* `deploy_to_hockey_no_test`
  * sets build number
  * adds build info to app icon
  * builds and archives project
  * generates changelog from git commits
  * uploads app to hockey
* `local_build`
  * optionally adds icon overlay: e.g. `fastlane local_build icon_overlay:true`
  * builds an ipa

## Custom Actions

* `icon_overlay`
  * Adds overlay to app icon containing build information

For more detailed information on how to setup your project and environment please see our [wiki](https://github.com/theappbusiness/MasterFastfile/wiki)

## Provfiles

If you wish to support multiple extensions in your application using different provisioning profiles you will need to define a Provfile. In your Provfile you define your separate target wrapper names (aka MyApp.app, MyWatchExtension.appex) and the provisioning profile name to be used with them e.g.

```
target MyApp.app do
  "MyAppProvisioningProfileName"
end

target MyWatchExtension.appex do
  "MyWatchExtensionProvisioningProfileName"
end
```

## Dependencies

### Imagemagick
Install using brew
```shell
brew install imagemagick
```
### Ghostscript
Install using brew
```shell
brew install ghostscript
```

## License

This project is licensed under the terms of the MIT license. See the [LICENSE](LICENSE) file.<commit_msg>add example of target supporting multiple environments<commit_after>![The App Business](./MasterFastfile.png)

# MasterFastfile

[![Release](https://img.shields.io/badge/release-2.0.0-green.svg)](https://github.com/theappbusiness/MasterFastfile/releases/tag/2.0.0)
[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/theappbusiness/MasterFastfile/blob/master/LICENSE)

To setup your project to use the TAB MasterFastfile, navigate to your project root and run the following command:

```shell
curl https://raw.githubusercontent.com/theappbusiness/MasterFastfile/master/setup.sh | sh
```

Then setup your environments using the `.env` files created for you. To complete the setup just add the missing variable values.

To use the MasterFastfile add the following command to your Fastfile:

```ruby
import_from_git(url: 'https://github.com/theappbusiness/MasterFastfile.git', branch: '2.0.0', path: 'Fastfile')
```
For more detailed instructions [see our wiki](https://github.com/theappbusiness/MasterFastfile/wiki)

## Available lanes

* `test`
  * runs tests
* `deploy_to_hockey`
  * runs tests
  * sets build number
  * adds build info to app icon
  * builds and archives project
  * generates changelog from git commits
  * uploads app to hockey
* `deploy_to_hockey_no_test`
  * sets build number
  * adds build info to app icon
  * builds and archives project
  * generates changelog from git commits
  * uploads app to hockey
* `local_build`
  * optionally adds icon overlay: e.g. `fastlane local_build icon_overlay:true`
  * builds an ipa

## Custom Actions

* `icon_overlay`
  * Adds overlay to app icon containing build information

For more detailed information on how to setup your project and environment please see our [wiki](https://github.com/theappbusiness/MasterFastfile/wiki)

## Provfiles

If you wish to support multiple extensions in your application using different provisioning profiles you will need to define a Provfile. In your Provfile you define your separate target wrapper names (aka MyApp.app, MyWatchExtension.appex) and the provisioning profile name to be used with them e.g.

```
target MyApp.app do
  "MyAppProvisioningProfileName"
end

target MyWatchExtension.appex do
  "MyWatchExtensionProvisioningProfileName"
end

target MyOtherExtension.appex do
  # MY_OTHER_EXTENSION_PROFILE_NAME could be defined in a .env file allowing support for multiple environments.
  ENV['MY_OTHER_EXTENSION_PROFILE_NAME']
end
```

## Dependencies

### Imagemagick
Install using brew
```shell
brew install imagemagick
```
### Ghostscript
Install using brew
```shell
brew install ghostscript
```

## License

This project is licensed under the terms of the MIT license. See the [LICENSE](LICENSE) file.
{'fraction_non_alphanumeric': 0.09197577592732778, 'fraction_numerical': 0.0034065102195306586, 'mean_word_length': 4.938202247191011, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 16, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '159164', 'n_tokens_mistral': 1575, 'n_tokens_neox': 1507, 'n_words': 535}