Skip to content

Commit

Permalink
Merge branch 'master_original'
Browse files Browse the repository at this point in the history
* master_original: (286 commits)
  [fastlane] Don’t ask for clipboard on non-interactive shell (fastlane#6782)
  [spaceship] Fix access control of `mac?` method in upload_file (fastlane#6783)
  [scan] Handle single scheme Xcode projects (fastlane#6637)
  spaceship doesn't have access to FastlaneCore::Helper (fastlane#6778)
  [snapshot] Version Bump (fastlane#6777)
  Update "spaceship in use" section (fastlane#6763)
  Add instructions for `fastlane env` in fastlane issue reporter (fastlane#6775)
  [spaceship] Add instructions on how to use 2factor on non-interactive shells (fastlane#6764)
  Improve grammar for gym message, and provide sample usage (fastlane#6776)
  [spaceship] Skips removing of alpha channel on non-Mac hosts (fastlane#6767)
  make sure that languages are available on iTC if you have localized screenshots (fastlane#6760)
  make use of the rollout option when promoting from a track to the sta… (fastlane#6502)
  [fastlane] Remove extra * in env printer (fastlane#6745)
  Add missing device names for iPhone7 and iPhone7Plus (fastlane#6741)
  [deliver] Version bump (fastlane#6744)
  [fastlane] Improve code style of xcversion (fastlane#6740)
  [fastlane] Version bump (fastlane#6723)
  Update internal dependencies (fastlane#6724)
  Fix spelling mistake (fastlane#6713)
  Add `SPACESHIP_TIMEOUT` environment variable to change the default timeout (fastlane#6712)
  ...

# Conflicts:
#	match/lib/match/git_helper.rb
#	match/lib/match/runner.rb
#	match/lib/match/version.rb
  • Loading branch information
Naresh SVS committed Oct 28, 2016
2 parents 54a6bbd + 8b17343 commit bd9ef68
Show file tree
Hide file tree
Showing 393 changed files with 13,098 additions and 2,924 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ coverage/
rspec_logs.json
test_output/
.DS_STORE
.keys

## Specific to Android
.gradle/
Expand Down
36 changes: 36 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,42 @@
Style/ClassCheck:
EnforcedStyle: kind_of?

# .length == 0 is also good, we don't always want .zero?
Style/NumericPredicate:
Enabled: false

# this would cause errors with long lanes
Metrics/BlockLength:
Enabled: false

# certificate_1 is an okay variable name
Style/VariableNumber:
Enabled: false

# This is used a lot across the fastlane code base for config files
Style/MethodMissing:
Enabled: false

#
# File.chmod(0777, f)
#
# is easier to read than
#
# File.chmod(0o777, f)
#
Style/NumericLiteralPrefix:
Enabled: false

#
# command = (!clean_expired.nil? || !clean_pattern.nil?) ? CLEANUP : LIST
#
# is easier to read than
#
# command = !clean_expired.nil? || !clean_pattern.nil? ? CLEANUP : LIST
#
Style/TernaryParentheses:
Enabled: false

# It's better to be more explicit about the type
Style/BracesAroundHashParameters:
Enabled: false
Expand Down
6 changes: 4 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,14 @@ If you're considering contributing new functionality, please open a new issue ex

- Adding automated tests that cover your changes and/or new functionality is important!
- `fastlane` has a lot of moving parts and receives contributions from many developers. The best way to ensure that your contributions keep working is to ensure that there will be failing tests if something accidentally gets broken.
- You can run the tests by executing `bundle install` and then `bundle exec rspec`.
- You can run the tests by executing `bundle install`, then:
- Run tests only for a given tool by `cd` in that tool subdirectory (e.g. `cd pilot`) then running `bundle exec rspec`,
- Or test all `fastlane` tools by running `rake test_all` from the root of your working copy.
- Your code editor should indent using spaces with a tab size of 2 spaces.

To submit the changes to the fastlane repo, you have to do the following:

- Run `git push upstream master`.
- Run `git push origin master` (replace `master` with the name of the branch you made your modifications onto in your fork when appropriate).
- Open `https://github.com/fastlane/fastlane` in your browser and click the green "Create Pull Request" button

## What Do All These Labels Mean?
Expand Down
17 changes: 3 additions & 14 deletions ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,11 @@
##### Complete output when running fastlane, including the stack trace and command used

```
INSERT OUTPUT HERE
```

### Configuration Files

Please copy the complete content of your `Fastfile` and any other configuration files you use below:

Fastfile:
```ruby
# INSERT CONTENT HERE
[INSERT OUTPUT HERE]
```

### Environment

fastlane version (run `fastlane -v`):

Do you use bundler to execute fastlane (i.e. `bundle exec fastlane`)?
Please run `fastlane env` and copy the output below. This will help us help you :+1:

Do you use a Ruby environment manager (e.g. `chruby`, `rbenv`, `rvm`)?
[INSERT OUTPUT HERE]
5 changes: 3 additions & 2 deletions PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
Thanks for contributing to _fastlane_! Before you submit your pull request, please make sure to check the following boxes:

- [ ] Run `rspec` for all tools you modified
- [ ] Run `rubocop -a` to ensure the code style is valid
- [ ] Run `bundle exec rspec` from the subdirectory of each tool you modified. Alternatively, run `rake test_all` from the root directory.
- [ ] Run `bundle exec rubocop -a` to ensure the code style is valid
- [ ] Read the [Contribution Guidelines](https://github.com/fastlane/fastlane/blob/master/CONTRIBUTING.md)
- [ ] We currently don't accept new actions, please publish a plugin instead, more information in [Plugins.md](https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Plugins.md)

Before submitting a pull request, we appreciate if you create an issue first to discuss the change :+1:
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,11 @@ Then to deploy a new 'beta' version of your app just run
:computer: | Support for iOS, Mac, and Android apps
:octocat: | Full Git and Mercurial support

Check out the new [docs.fastlane.tools](https://docs.fastlane.tools).
<hr />
<h4 align="center">
Check out the new <a href="https://docs.fastlane.tools/">fastlane docs</a>
</h4>
<hr />

##### Like this tool? [Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx).

Expand Down Expand Up @@ -89,6 +93,13 @@ Typically you'll use `fastlane` by triggering individual lanes:
- `fastlane lanes`: Lists all available lanes with description
- `fastlane list`: Lists all available lanes without description
- `fastlane new_action`: Create a new action *(integration)* for fastlane
- `fastlane env`: Print out the fastlane ruby environment when submitting an issue

<hr />
<h4 align="center">
Check out the new <a href="https://docs.fastlane.tools/">fastlane docs</a>
</h4>
<hr />

## [`fastlane`](https://fastlane.tools) Toolchain

Expand Down
32 changes: 31 additions & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ SECONDS_PER_DAY = 60 * 60 * 24
desc 'Setup the fastlane development environment'
task :bootstrap do
system('gem install bundler') unless system('which bundle')
Rake::Task[:clone].invoke
Rake::Task[:install].invoke

box 'You are up and running'
Expand Down Expand Up @@ -39,6 +38,37 @@ task :rubygems_admins do
end
end

task :update_dependencies do
puts "Updating all internal fastlane dependencies"

# This requires all version numbers to be x.x.x (3 components)
regex = %r{spec.add_dependency .(.+).\, .\>\= (\d+\.\d+\.\d+).\, .\< \d+\.\d+\.\d+.}

Dir["./**/*.gemspec"].each do |current_gemspec_path|
content = File.read(current_gemspec_path)

content.gsub!(regex) do |full_match|
gem_name = $1
current_version_number = Gem::Version.new($2) # used to detect if we actually changed something

version_path = "./#{gem_name}/lib/#{gem_name}/version.rb"
if File.exist?(version_path) && gem_name != "screengrab" # internal dependency
version = Gem::Version.new(File.read(version_path).match(/VERSION.=..(\d+\.\d+\.\d+)./)[1])
next_major_version = Gem::Version.new("#{version.segments[0] + 1}.0.0")

puts "🚀 Updating #{gem_name} from #{current_version_number} to #{version} for #{gem_name}" if version != current_version_number

"spec.add_dependency \"#{gem_name}\", \">= #{version}\", \"< #{next_major_version}\""
else
full_match # external dependency
end
end

puts "✅ Writing to #{current_gemspec_path}"
File.write(current_gemspec_path, content)
end
end

#####################################################
# @!group Helper Methods
#####################################################
Expand Down
4 changes: 2 additions & 2 deletions cert/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Get in contact with the developers on Twitter: [@FastlaneTools](https://twitter.

-------

<h5 align="center"><code>cert</code> is part of <a href="https://fastlane.tools">fastlane</a>: The easiest way to automate building and releasing your iOS and Android apps.</h5>
<h5 align="center"><code>cert</code> is part of <a href="https://fastlane.tools">fastlane</a>: The easiest way to automate beta deployments and releases for your iOS and Android apps.</h5>



Expand Down Expand Up @@ -132,7 +132,7 @@ This will result in `sigh` always using the correct signing certificate, which i

## [`fastlane`](https://fastlane.tools) Toolchain

- [`fastlane`](https://fastlane.tools): The easiest way to automate building and releasing your iOS and Android apps
- [`fastlane`](https://fastlane.tools): The easiest way to automate beta deployments and releases for your iOS and Android apps
- [`deliver`](https://github.com/fastlane/fastlane/tree/master/deliver): Upload screenshots, metadata and your app to the App Store
- [`snapshot`](https://github.com/fastlane/fastlane/tree/master/snapshot): Automate taking localized screenshots of your iOS app on every device
- [`frameit`](https://github.com/fastlane/fastlane/tree/master/frameit): Quickly put your screenshots into the right device frames
Expand Down
6 changes: 3 additions & 3 deletions cert/cert.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ Gem::Specification.new do |spec|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]

spec.add_dependency 'fastlane_core', '>= 0.52.0', '< 1.0.0' # all shared code and dependencies
spec.add_dependency 'spaceship', '>= 0.32.1', '< 1.0.0' # access to the Dev Portal
spec.add_dependency "fastlane_core", ">= 0.53.0", "< 1.0.0" # all shared code and dependencies
spec.add_dependency "spaceship", ">= 0.36.2", "< 1.0.0" # access to the Dev Portal

# Development only
spec.add_development_dependency 'bundler'
Expand All @@ -35,5 +35,5 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'webmock', '~> 1.19.0'
spec.add_development_dependency 'coveralls'
spec.add_development_dependency 'fastlane'
spec.add_development_dependency "rubocop", '~> 0.38.0'
spec.add_development_dependency 'rubocop', '~> 0.44.0'
end
8 changes: 4 additions & 4 deletions cert/lib/cert/options.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,19 @@ def self.available_options
short_option: "-b",
env_name: "CERT_TEAM_ID",
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
description: "The ID of your team if you're in multiple teams",
description: "The ID of your Developer Portal team if you're in multiple teams",
optional: true,
verify_block: proc do |value|
ENV["FASTLANE_TEAM_ID"] = value
ENV["FASTLANE_TEAM_ID"] = value.to_s
end),
FastlaneCore::ConfigItem.new(key: :team_name,
short_option: "-l",
env_name: "CERT_TEAM_NAME",
description: "The name of your team if you're in multiple teams",
description: "The name of your Developer Portal team if you're in multiple teams",
optional: true,
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_name),
verify_block: proc do |value|
ENV["FASTLANE_TEAM_NAME"] = value
ENV["FASTLANE_TEAM_NAME"] = value.to_s
end),
FastlaneCore::ConfigItem.new(key: :output_path,
short_option: "-o",
Expand Down
2 changes: 1 addition & 1 deletion cert/lib/cert/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module Cert
VERSION = "1.4.2"
VERSION = "1.4.3"
end
2 changes: 1 addition & 1 deletion credentials_manager/credentials_manager.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,5 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'webmock', '~> 1.19.0'
spec.add_development_dependency 'coveralls'
spec.add_development_dependency 'fastlane'
spec.add_development_dependency "rubocop", '~> 0.38.0'
spec.add_development_dependency 'rubocop', '~> 0.44.0'
end
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,14 @@ def ask_for_login
puts "-------------------------------------------------------------------------------------".green

if @user.to_s.length == 0
raise "Missing username, and running in non-interactive shell" if $stdout.isatty == false
@user = ask("Username: ") while @user.to_s.length == 0
# we return here, as only the username was asked for now, we'll get called for the pw again anyway
return
end

while @password.to_s.length == 0
raise "Missing password for user #{@user}, and running in non-interactive shell" if $stdout.isatty == false
@password = ask("Password (for #{@user}): ") { |q| q.echo = "*" }
end

Expand Down
27 changes: 26 additions & 1 deletion credentials_manager/lib/credentials_manager/appfile_config.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ module CredentialsManager
# Access the content of the app file (e.g. app identifier and Apple ID)
class AppfileConfig
def self.try_fetch_value(key)
# We need to load the file every time we call this method
# to support the `for_lane` keyword
begin
return self.new.data[key]
rescue => ex
Expand All @@ -20,7 +22,7 @@ def self.default_path

def initialize(path = nil)
if path
raise "Could not find Appfile at path '#{path}'".red unless File.exist?(path)
raise "Could not find Appfile at path '#{path}'".red unless File.exist?(File.expand_path(path))
end

path ||= self.class.default_path
Expand All @@ -41,12 +43,35 @@ def initialize(path = nil)
# rubocop:disable Lint/Eval
eval(content)
# rubocop:enable Lint/Eval

print_debug_information(path: full_path) if $verbose
end
end

fallback_to_default_values
end

def print_debug_information(path: nil)
self.class.already_printed_debug_information ||= {}
return if self.class.already_printed_debug_information[self.data]
# self.class.already_printed_debug_information is a hash, we use to detect if we already printed this data
# this is necessary, as on the course of a fastlane run, the values might change, e.g. when using
# the `for_lane` keyword.

puts "Successfully loaded Appfile at path '#{path}'".yellow

self.data.each do |key, value|
puts "- #{key.to_s.cyan}: '#{value.to_s.green}'"
end
puts "-------"

self.class.already_printed_debug_information[self.data] = true
end

def self.already_printed_debug_information
@already_printed_debug_information ||= {}
end

def fallback_to_default_values
data[:apple_id] ||= ENV["FASTLANE_USER"] || ENV["DELIVER_USER"]
end
Expand Down
2 changes: 1 addition & 1 deletion credentials_manager/lib/credentials_manager/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module CredentialsManager
VERSION = "0.16.0"
VERSION = "0.16.2"
end
3 changes: 2 additions & 1 deletion danger-device_grid/danger-device_grid.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@ Gem::Specification.new do |spec|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ['lib']

spec.add_dependency 'fastlane', '>= 1.94.0', '< 2.0.0'
spec.add_dependency "fastlane", ">= 1.106.1", "< 2.0.0"

spec.add_development_dependency 'bundler', '~> 1.3'
spec.add_development_dependency 'rake'
spec.add_development_dependency 'rspec', '~> 3.1.0'
spec.add_development_dependency 'rspec_junit_formatter', '~> 0.2.3'
spec.add_development_dependency 'rubocop', '~> 0.44.0'
end
5 changes: 2 additions & 3 deletions deliver/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ deliver
[![Twitter: @FastlaneTools](https://img.shields.io/badge/contact-@FastlaneTools-blue.svg?style=flat)](https://twitter.com/FastlaneTools)
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/deliver/LICENSE)
[![Gem](https://img.shields.io/gem/v/deliver.svg?style=flat)](http://rubygems.org/gems/deliver)
[![Build Status](https://img.shields.io/circleci/project/fastlane/fastlane/master.svg?style=flat)](https://circleci.com/gh/fastlane/fastlane)

###### Upload screenshots, metadata and your app to the App Store using a single command

Expand All @@ -52,7 +51,7 @@ Get in contact with the developer on Twitter: [@FastlaneTools](https://twitter.c

-------

<h5 align="center"><code>deliver</code> is part of <a href="https://fastlane.tools">fastlane</a>: The easiest way to automate building and releasing your iOS and Android apps.</h5>
<h5 align="center"><code>deliver</code> is part of <a href="https://fastlane.tools">fastlane</a>: The easiest way to automate beta deployments and releases for your iOS and Android apps.</h5>

# Features
- Upload hundreds of localised screenshots completely automatically
Expand Down Expand Up @@ -162,7 +161,7 @@ Before actually uploading anything to iTunes, ```deliver``` will generate a HTML

## [`fastlane`](https://fastlane.tools) Toolchain

- [`fastlane`](https://fastlane.tools): The easiest way to automate building and releasing your iOS and Android apps
- [`fastlane`](https://fastlane.tools): The easiest way to automate beta deployments and releases for your iOS and Android apps
- [`snapshot`](https://github.com/fastlane/fastlane/tree/master/snapshot): Automate taking localized screenshots of your iOS 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 profiles
Expand Down

0 comments on commit bd9ef68

Please sign in to comment.