produce 0.6.5 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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