produce 0.6.5 → 1.0.0

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: 40c16a9a8ccff4ea0fe8b651f34b5473c8b2b45c
4
- data.tar.gz: ff88934366327beae6635700b2e38d10f72276c6
3
+ metadata.gz: 3d9f8a09d876d2fb75d994382d402f422244f3e9
4
+ data.tar.gz: d8d8c71fdd8e1137671a90fb15c7827508e0da9b
5
5
  SHA512:
6
- metadata.gz: 600ef2b07a9f2d641774dc3930995a5b7442fd9a46ace70817e8b2ab81551133a33419879a0f74b30b46f7a6043f2537147e30ee4ef7abaf9c0dfa957f99e424
7
- data.tar.gz: ee664d9c4dc23126f22fe5fb58e1a3e2e72135eb163408937a1b95b28c0caab5fa2b405f8a158abde0ab728b67eaab054af708021473a2c28fe950f67819db05
6
+ metadata.gz: 889cec48380d6fe8df7536d3514d089e6b047eb9a498ec5c05dd31a7258f3eb5f51f4bb1594a021a23f547114ca26ffb52eccb7f40ba7a251baee663dc4822f7
7
+ data.tar.gz: c1934c32075328661ef88275ab46dcb4b59ba2b76f16a69d414e97600c97ba8dcbd4ff164a58fb33e988c4b88692872efac0838523a8115d0c14690c3979c939
data/README.md CHANGED
@@ -34,12 +34,8 @@ produce
34
34
 
35
35
  ###### Create new iOS apps on iTunes Connect and Dev Portal using your command line
36
36
 
37
- ##### This tool was sponsored by [AppInstitute](http://appinstitute.co.uk/).
38
-
39
37
  Get in contact with the developer on Twitter: [@KrauseFx](https://twitter.com/KrauseFx)
40
38
 
41
-
42
-
43
39
  -------
44
40
  <p align="center">
45
41
  <a href="#features">Features</a> &bull;
@@ -79,20 +75,29 @@ To get a list of all available parameters:
79
75
  produce --help
80
76
 
81
77
  ```
78
+ Commands:
79
+ associate_group Associate with a group, which is create if needed or simply located otherwise
80
+ create Creates a new app on iTunes Connect and the Apple Developer Portal
81
+ disable_services Disable specific Application Services for a specific app on the Apple Developer Portal
82
+ enable_services Enable specific Application Services for a specific app on the Apple Developer Portal
83
+ group Ensure that a specific App Group exists
84
+ help Display global or [command] help documentation
85
+
86
+ Global Options:
82
87
  -u, --username STRING Your Apple ID Username (PRODUCE_USERNAME)
83
88
  -a, --app_identifier STRING App Identifier (Bundle ID, e.g. com.krausefx.app) (PRODUCE_APP_IDENTIFIER)
84
- -b, --bundle_identifier_suffix STRING App Identifier Suffix (Ignored if App Identifier does not ends with .*)
85
- (PRODUCE_APP_IDENTIFIER_SUFFIX)
89
+ -e, --bundle_identifier_suffix STRING App Identifier Suffix (Ignored if App Identifier does not ends with .*) (PRODUCE_APP_IDENTIFIER_SUFFIX)
86
90
  -q, --app_name STRING App Name (PRODUCE_APP_NAME)
87
91
  -z, --app_version STRING Initial version number (e.g. '1.0') (PRODUCE_VERSION)
88
- -s, --sku SKU Number (e.g. '1234') (PRODUCE_SKU)
92
+ -y, --sku STRING SKU Number (e.g. '1234') (PRODUCE_SKU)
89
93
  -m, --language STRING Primary Language (e.g. 'English', 'German') (PRODUCE_LANGUAGE)
90
- -c, --company_name STRING The name of your comapny. Only required if it's the first app you create
91
- (PRODUCE_COMPANY_NAME)
94
+ -c, --company_name STRING The name of your comapny. Only required if it's the first app you create (PRODUCE_COMPANY_NAME)
92
95
  -i, --skip_itc Skip the creation of the app on iTunes Connect (PRODUCE_SKIP_ITC)
93
96
  -d, --skip_devcenter Skip the creation of the app on the Apple Developer Portal (PRODUCE_SKIP_DEVCENTER)
94
- -t, --team_id STRING The ID of your team if you're in multiple teams (PRODUCE_TEAM_ID)
97
+ -b, --team_id STRING The ID of your team if you're in multiple teams (PRODUCE_TEAM_ID)
95
98
  -l, --team_name STRING The name of your team if you're in multiple teams (PRODUCE_TEAM_NAME)
99
+ -h, --help Display help documentation
100
+ -v, --version Display version information
96
101
  ```
97
102
 
98
103
  ## Enabling / Disabling Application Services
@@ -150,21 +155,8 @@ Get a list of all available options using
150
155
  ```
151
156
 
152
157
  ## Environment Variables
153
- In case you want to pass more information to `produce` using environment variables:
154
-
155
- - `PRODUCE_USERNAME` (your iTunes Connect username)
156
- - `PRODUCE_APP_IDENTIFIER` (the bundle identifier of the new app)
157
- - `PRODUCE_APP_NAME` (the name of the new app)
158
- - `PRODUCE_GROUP_IDENTIFIER` (the group identifier of the new app group)
159
- - `PRODUCE_GROUP_NAME` (the name of the new app group)
160
- - `PRODUCE_LANGUAGE` (the language you want your app to use, e.g. `English`, `German`)
161
- - `PRODUCE_VERSION` (the initial app version)
162
- - `PRODUCE_SKU` (the SKU you want to use, which must be a unique number)
163
- - `PRODUCE_SKIP_ITC` (should iTunes Connect app be created)
164
- - `PRODUCE_SKIP_DEVCENTER` (should Apple Developer Portal app be created)
165
- - `PRODUCE_TEAM_ID` (the Team ID, e.g. `Q2CBPK58CA`)
166
- - `PRODUCE_TEAM_NAME` (the Team Name, e.g. `Felix Krause`)
167
158
 
159
+ All available values can also be passed using environment variables, run `produce --help` to get a list of all available parameters.
168
160
 
169
161
  ## [`fastlane`](https://github.com/KrauseFx/fastlane) Integration
170
162
 
data/bin/produce CHANGED
@@ -5,13 +5,14 @@ $:.push File.expand_path("../../lib", __FILE__)
5
5
  require 'produce'
6
6
  require 'commander'
7
7
  require 'credentials_manager/appfile_config'
8
- require 'produce/options'
9
8
 
10
9
  HighLine.track_eof = false
11
10
 
12
11
  class ProduceApplication
13
12
  include Commander::Methods
14
13
 
14
+ # rubocop:disable Metrics/MethodLength
15
+ # rubocop:disable Metrics/AbcSize
15
16
  def run
16
17
  program :version, Produce::VERSION
17
18
  program :description, 'CLI for \'produce\''
@@ -12,7 +12,7 @@ module Produce
12
12
  ENV["CREATED_NEW_APP_ID"] = Time.now.to_i.to_s
13
13
 
14
14
  if app_exists?
15
- Helper.log.info "[DevCenter] App '#{Produce.config[:app_name]}' already exists, nothing to do on the Dev Center".green
15
+ Helper.log.info "[DevCenter] App '#{Produce.config[:app_identifier]}' already exists, nothing to do on the Dev Center".green
16
16
  ENV["CREATED_NEW_APP_ID"] = nil
17
17
  # Nothing to do here
18
18
  else
data/lib/produce/group.rb CHANGED
@@ -15,11 +15,11 @@ module Produce
15
15
  ENV["CREATED_NEW_GROUP_ID"] = nil
16
16
  # Nothing to do here
17
17
  else
18
- unless options.group_name
18
+ if options.group_name
19
+ group_name = valid_name_for(options.group_name)
20
+ else
19
21
  group_name = group_identifier.split(".").map(&:capitalize).reverse.join(' ')
20
22
  group_name = valid_name_for(group_name)
21
- else
22
- group_name = valid_name_for(options.group_name)
23
23
  end
24
24
 
25
25
  Helper.log.info "Creating new app group '#{group_name}' with identifier '#{group_identifier}' on the Apple Dev Center".green
@@ -52,8 +52,8 @@ module Produce
52
52
 
53
53
  Helper.log.info "Validating groups before association"
54
54
 
55
- for group_identifier in args
56
- if !app_group_exists? group_identifier
55
+ args.each do |group_identifier|
56
+ if !app_group_exists?(group_identifier)
57
57
  Helper.log.info "[DevCenter] App group '#{group_identifier}' does not exist, please create it first, skipping for now".red
58
58
  else
59
59
  new_groups.push(Spaceship.app_group.find(group_identifier))
@@ -14,7 +14,7 @@ module Produce
14
14
  def create_new_app
15
15
  application = fetch_application
16
16
  if application
17
- Helper.log.info "[iTC] App '#{Produce.config[:app_name]}' already exists (#{application.apple_id}), nothing to do on iTunes Connect".green
17
+ Helper.log.info "[iTC] App '#{Produce.config[:app_identifier]}' already exists (#{application.apple_id}), nothing to do on iTunes Connect".green
18
18
  # Nothing to do here
19
19
  else
20
20
  Helper.log.info "Creating new app '#{Produce.config[:app_name]}' on iTunes Connect".green
@@ -38,6 +38,10 @@ module Produce
38
38
  options.__hash__.select { |key, value| allowed_keys.include? key }
39
39
  end
40
40
 
41
+ # rubocop:disable Metrics/PerceivedComplexity
42
+ # rubocop:disable Metrics/MethodLength
43
+ # rubocop:disable Metrics/CyclomaticComplexity
44
+ # rubocop:disable Metrics/AbcSize
41
45
  def update(on, app, options)
42
46
  updated = valid_services_for(options).count
43
47
 
@@ -1,3 +1,3 @@
1
1
  module Produce
2
- VERSION = "0.6.5"
2
+ VERSION = "1.0.0"
3
3
  end
data/lib/produce.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'json'
2
2
  require 'produce/version'
3
3
  require 'produce/manager'
4
- require 'produce/dependency_checker'
4
+ require 'produce/options'
5
5
  require 'produce/developer_center'
6
6
  require 'produce/itunes_connect'
7
7
  require 'produce/available_default_languages'
@@ -17,6 +17,4 @@ module Produce
17
17
 
18
18
  ENV['FASTLANE_TEAM_ID'] ||= ENV["PRODUCE_TEAM_ID"]
19
19
  ENV['DELIVER_USER'] ||= ENV["PRODUCE_USERNAME"]
20
-
21
- DependencyChecker.check_dependencies
22
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: produce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 1.0.0
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-05 00:00:00.000000000 Z
11
+ date: 2015-10-15 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.16.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.16.0
29
+ version: 0.22.3
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.0.0
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 0.6.0
39
+ version: 0.12.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 0.6.0
46
+ version: 0.12.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -129,7 +129,7 @@ dependencies:
129
129
  - !ruby/object:Gem::Version
130
130
  version: 1.19.0
131
131
  - !ruby/object:Gem::Dependency
132
- name: codeclimate-test-reporter
132
+ name: coveralls
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - ">="
@@ -142,6 +142,34 @@ dependencies:
142
142
  - - ">="
143
143
  - !ruby/object:Gem::Version
144
144
  version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: fastlane
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: rubocop
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '0.34'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '0.34'
145
173
  description: Create new iOS apps on iTunes Connect and Dev Portal using the command
146
174
  line
147
175
  email:
@@ -156,7 +184,6 @@ files:
156
184
  - bin/produce
157
185
  - lib/produce.rb
158
186
  - lib/produce/available_default_languages.rb
159
- - lib/produce/dependency_checker.rb
160
187
  - lib/produce/developer_center.rb
161
188
  - lib/produce/group.rb
162
189
  - lib/produce/itunes_connect.rb
@@ -184,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
211
  version: '0'
185
212
  requirements: []
186
213
  rubyforge_project:
187
- rubygems_version: 2.4.5
214
+ rubygems_version: 2.4.8
188
215
  signing_key:
189
216
  specification_version: 4
190
217
  summary: Create new iOS apps on iTunes Connect and Dev Portal using the command line
@@ -1,18 +0,0 @@
1
- module Produce
2
- class DependencyChecker
3
- def self.check_dependencies
4
- self.check_xcode_select unless Helper.is_test?
5
- end
6
-
7
- def self.check_xcode_select
8
- unless `xcode-select -v`.include? "xcode-select version "
9
- Helper.log.fatal '#############################################################'
10
- Helper.log.fatal "# You have to install the Xcode commdand line tools to use produce"
11
- Helper.log.fatal "# Install the latest version of Xcode from the AppStore"
12
- Helper.log.fatal "# Run xcode-select --install to install the developer tools"
13
- Helper.log.fatal '#############################################################'
14
- raise "Run 'xcode-select --install' and start produce again"
15
- end
16
- end
17
- end
18
- end