gym 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8f5e3ff1dbe1ecddac3e2dd4e1602d35d6811bdd
4
- data.tar.gz: 92d74eb24a71df4fd13f26345dfb2f2cdd9cf444
3
+ metadata.gz: 60fa75fbebf2e7c9dd32e7b473a67f19a577107a
4
+ data.tar.gz: 3ebbb7c07a5ce7c8ba39cc914ccc6d9407e7dd30
5
5
  SHA512:
6
- metadata.gz: 2ece0072e1dcb0283d3ddcc147db83a424d24becbaeeae9735e0d2d495a823dabd65c95a3960c2f8fa4ec69db847cb09a62c56f621d399a76b471ad0321b6275
7
- data.tar.gz: ae7f91cc021f1cc4be8a09195d71a05687d012010d8846680acb440fe0ef4343df73484df2789326b538f0b9fa79c351994dc96a5bd8f1f4c5fce42b41917496
6
+ metadata.gz: ea18a6e63b2948fa680b5a6fce15199c70515ae08f9e885c540ec4a3b69654b0f4d138e89e8310496d05d7dd3878a4fef3837992b666b66f82874ec589a310de
7
+ data.tar.gz: 8922b95ade68033b86a7e542ce589946caecf0bc17d626a92933b1e818a725a1dbc4633a502f07d12b5a0728afada590ec1a7fd803fcec4b91f01cf34d56d608
data/README.md CHANGED
@@ -100,8 +100,6 @@ gym
100
100
 
101
101
  # Installation
102
102
 
103
- This tool is still work in progress. You can already try it by cloning the repo and running
104
-
105
103
  sudo gem install gym
106
104
 
107
105
  Make sure, you have the latest version of the Xcode command line tools installed:
@@ -144,7 +142,7 @@ Run `gym init` to create a new configuration file. Example:
144
142
  ```ruby
145
143
  scheme "Example"
146
144
 
147
- sdk "9.0"
145
+ sdk "iphoneos9.0"
148
146
 
149
147
  clean true
150
148
 
@@ -4,8 +4,7 @@
4
4
  # In general, you can use the options available
5
5
  # gym --help
6
6
 
7
- # Remove the # in front of the line to enable this
8
- # particular option
7
+ # Remove the # in front of the line to enable the option
9
8
 
10
9
  # scheme "Example"
11
10
 
@@ -48,7 +48,7 @@ module Gym
48
48
  c.action do |_args, options|
49
49
  containing = (File.directory?("fastlane") ? 'fastlane' : '.')
50
50
  path = File.join(containing, Gym.gymfile_name)
51
- raise "Gymfile already exists" if File.exist?(path)
51
+ raise "Gymfile already exists".yellow if File.exist?(path)
52
52
  template = File.read("#{Helper.gem_path('gym')}/lib/assets/GymfileTemplate")
53
53
  File.write(path, template)
54
54
  Helper.log.info "Successfully created '#{path}'. Open the file using a code editor.".green
@@ -6,15 +6,7 @@ module Gym
6
6
  def self.set_additional_default_values
7
7
  config = Gym.config
8
8
 
9
- detect_projects
10
-
11
- if config[:workspace].to_s.length > 0 and config[:project].to_s.length > 0
12
- raise "You can only pass either a workspace or a project path, not both".red
13
- end
14
-
15
- if config[:workspace].to_s.length == 0 and config[:project].to_s.length == 0
16
- raise "No project/workspace found in the current directory.".red
17
- end
9
+ FastlaneCore::Project.detect_projects(config)
18
10
 
19
11
  Gym.project = FastlaneCore::Project.new(config)
20
12
  detect_provisioning_profile
@@ -60,51 +52,6 @@ module Gym
60
52
  end
61
53
  end
62
54
 
63
- def self.detect_projects
64
- return if Gym.config[:project].to_s.length > 0
65
-
66
- if Gym.config[:workspace].to_s.length == 0
67
- workspace = Dir["./*.xcworkspace"]
68
- if workspace.count > 1
69
- puts "Select Workspace: "
70
- Gym.config[:workspace] = choose(*(workspace))
71
- else
72
- Gym.config[:workspace] = workspace.first # this will result in nil if no files were found
73
- end
74
- end
75
-
76
- return if Gym.config[:workspace].to_s.length > 0
77
-
78
- if Gym.config[:workspace].to_s.length == 0 and Gym.config[:project].to_s.length == 0
79
- project = Dir["./*.xcodeproj"]
80
- if project.count > 1
81
- puts "Select Project: "
82
- Gym.config[:project] = choose(*(project))
83
- else
84
- Gym.config[:project] = project.first # this will result in nil if no files were found
85
- end
86
- end
87
- end
88
-
89
- def self.choose_project
90
- loop do
91
- path = ask("Couldn't automatically detect the project file, please provide a path: ".yellow).strip
92
- if File.directory? path
93
- if path.end_with? ".xcworkspace"
94
- config[:workspace] = path
95
- break
96
- elsif path.end_with? ".xcodeproj"
97
- config[:project] = path
98
- break
99
- else
100
- Helper.log.error "Path must end with either .xcworkspace or .xcodeproj"
101
- end
102
- else
103
- Helper.log.error "Couldn't find project at path '#{File.expand_path(path)}'".red
104
- end
105
- end
106
- end
107
-
108
55
  def self.detect_scheme
109
56
  Gym.project.select_scheme
110
57
  end
@@ -2,7 +2,7 @@ module Gym
2
2
  # This classes methods are called when something goes wrong in the building process
3
3
  class ErrorHandler
4
4
  class << self
5
- # @param [Array] The output of the errored build (line by line)
5
+ # @param [String] The output of the errored build
6
6
  # This method should raise an exception in any case, as the return code indicated a failed build
7
7
  def handle_build_error(output)
8
8
  # The order of the handling below is import
@@ -47,7 +47,7 @@ module Gym
47
47
  print "You'll have to restart your shell session after updating the file."
48
48
  print "If you are using zshell or another shell, make sure to edit the correct bash file."
49
49
  print "For more information visit this stackoverflow answer:"
50
- print "http://stackoverflow.com/a/17031697/445598"
50
+ print "https://stackoverflow.com/a/17031697/445598"
51
51
  end
52
52
  raise "Error building the application - see the log above".red
53
53
  end
@@ -90,6 +90,8 @@ module Gym
90
90
  print "The generated archive is invalid, this can have various reasons:"
91
91
  print "Usually it's caused by the `Skip Install` option in Xcode, set it to `NO`"
92
92
  print "For more information visit https://developer.apple.com/library/ios/technotes/tn2215/_index.html"
93
+ print "Also, make sure to have a valid code signing identity and provisioning profile installed"
94
+ print "Follow this guide to setup code signing https://github.com/KrauseFx/fastlane/blob/master/docs/CodeSigning.md"
93
95
  raise "Archive invalid"
94
96
  end
95
97
 
@@ -21,12 +21,7 @@ module Gym
21
21
  # This will also include the scheme (if given)
22
22
  # @return [Array] The array with all the components to join
23
23
  def project_path_array
24
- config = Gym.config
25
- proj = []
26
- proj << "-workspace '#{config[:workspace]}'" if config[:workspace]
27
- proj << "-scheme '#{config[:scheme]}'" if config[:scheme]
28
- proj << "-project '#{config[:project]}'" if config[:project]
29
-
24
+ proj = Gym.project.xcodebuild_parameters
30
25
  return proj if proj.count > 0
31
26
  raise "No project/workspace found"
32
27
  end
@@ -1,3 +1,8 @@
1
+ # encoding: utf-8
2
+ # from http://stackoverflow.com/a/9857493/445598
3
+ # because of
4
+ # `incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string) (Encoding::CompatibilityError)`
5
+
1
6
  require 'shellwords'
2
7
 
3
8
  # The concrete implementations
@@ -1,3 +1,8 @@
1
+ # encoding: utf-8
2
+ # from http://stackoverflow.com/a/9857493/445598
3
+ # because of
4
+ # `incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string) (Encoding::CompatibilityError)`
5
+
1
6
  module Gym
2
7
  # Responsible for building the fully working xcodebuild command on Xcode < 7
3
8
  #
@@ -1,3 +1,8 @@
1
+ # encoding: utf-8
2
+ # from http://stackoverflow.com/a/9857493/445598
3
+ # because of
4
+ # `incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string) (Encoding::CompatibilityError)`
5
+
1
6
  module Gym
2
7
  # Responsible for building the fully working xcodebuild command
3
8
  class PackageCommandGeneratorXcode7
@@ -36,6 +41,7 @@ module Gym
36
41
  def ipa_path
37
42
  unless Gym.cache[:ipa_path]
38
43
  path = Dir[File.join(temporary_output_path, "*.ipa")].last
44
+ ErrorHandler.handle_empty_archive unless path
39
45
 
40
46
  Gym.cache[:ipa_path] = File.join(temporary_output_path, "#{Gym.config[:output_name]}.ipa")
41
47
  FileUtils.mv(path, Gym.cache[:ipa_path]) if File.expand_path(path).downcase != File.expand_path(Gym.cache[:ipa_path]).downcase
@@ -1,4 +1,4 @@
1
1
  module Gym
2
- VERSION = "0.9.0"
2
+ VERSION = "0.9.1"
3
3
  DESCRIPTION = "Building your iOS apps has never been easier"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gym
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-11 00:00:00.000000000 Z
11
+ date: 2015-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fastlane_core
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.20.0
19
+ version: 0.22.3
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 1.0.0
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.20.0
29
+ version: 0.22.3
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.0.0
@@ -267,7 +267,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
267
267
  version: '0'
268
268
  requirements: []
269
269
  rubyforge_project:
270
- rubygems_version: 2.4.5
270
+ rubygems_version: 2.4.8
271
271
  signing_key:
272
272
  specification_version: 4
273
273
  summary: Building your iOS apps has never been easier