produce 1.1.2 → 1.1.3

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: 7a19cb660ed63ad2eee87a62cee016900683ad1a
4
- data.tar.gz: dfe64f1ddfadd9fe16444cc81a65f8690013dfc2
3
+ metadata.gz: 6e763c15fc8d5801af15fbb3263b51af9657e92e
4
+ data.tar.gz: d0a555c4dd008d72232dee7c431af65019a4c20a
5
5
  SHA512:
6
- metadata.gz: aa9565dd0715645ebf97329501205c51df44e3695d219faaaf07855711aa121cb070135574a2d4c4331811f84f3ffd5f978d1b27f67aa0edf7637205faea9857
7
- data.tar.gz: 1f7cdb8f03dc918fca8ce5d4b1adee4d6e01d6b392948e3e81473503ab3d004a30cb2d8f0a76fc59ffa62de20742cf54ffa531494a6b959e1ecf19a8b918711a
6
+ metadata.gz: d0331aebb18a1a88602877a2c47ad125fc89ea9ab2e80b5c6f7324fe537f50b8515a62d4ca02b1a7298023136463f4c705f62938796edeafe369f7611b8d6c3a
7
+ data.tar.gz: aa8a9772cf8174706debebb88758da922aa15ced1a1624b3046f4317cbec5d0e47e113141cfe3a7c3f2833952d85339f06a2f7cc65fe8f5a0c8d17463736c241
data/README.md CHANGED
@@ -35,7 +35,9 @@ produce
35
35
 
36
36
  ###### Create new iOS apps on iTunes Connect and Dev Portal using your command line
37
37
 
38
- Get in contact with the developer on Twitter: [@FastlaneTools](https://twitter.com/FastlaneTools)
38
+ `produce` creates new iOS apps on both the Apple Developer Portal and iTunes Connect with the minimum required information.
39
+
40
+ Get in contact with the developers on Twitter: [@FastlaneTools](https://twitter.com/FastlaneTools)
39
41
 
40
42
  -------
41
43
  <p align="center">
@@ -51,7 +53,6 @@ Get in contact with the developer on Twitter: [@FastlaneTools](https://twitter.c
51
53
 
52
54
  <h5 align="center"><code>produce</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>
53
55
 
54
-
55
56
  # Features
56
57
 
57
58
  - **Create** new apps on both iTunes Connect and the Apple Developer Portal
@@ -107,7 +108,7 @@ If you want to enable Application Services for an App ID (HomeKit and HealthKit
107
108
 
108
109
  produce enable_services --homekit --healthkit
109
110
 
110
- If you want to disable Application Servies for an App ID (iCloud in this case):
111
+ If you want to disable Application Services for an App ID (iCloud in this case):
111
112
 
112
113
  produce disable_services --icloud
113
114
 
data/bin/produce CHANGED
@@ -1,134 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
-
3
2
  $:.push File.expand_path("../../lib", __FILE__)
4
3
 
5
4
  require 'produce'
6
- require 'commander'
7
- require 'credentials_manager/appfile_config'
8
-
9
- HighLine.track_eof = false
10
-
11
- class ProduceApplication
12
- include Commander::Methods
13
-
14
- # rubocop:disable Metrics/MethodLength
15
- # rubocop:disable Metrics/AbcSize
16
- def run
17
- program :version, Produce::VERSION
18
- program :description, 'CLI for \'produce\''
19
- program :help, 'Author', 'Felix Krause <produce@krausefx.com>'
20
- program :help, 'Website', 'https://fastlane.tools'
21
- program :help, 'GitHub', 'https://github.com/fastlane/produce'
22
- program :help_formatter, :compact
23
-
24
- global_option('--verbose') { $verbose = true }
25
-
26
- FastlaneCore::CommanderGenerator.new.generate(Produce::Options.available_options)
27
-
28
- command :create do |c|
29
- c.syntax = 'produce create'
30
- c.description = 'Creates a new app on iTunes Connect and the Apple Developer Portal'
31
-
32
- c.action do |args, options|
33
- Produce.config = FastlaneCore::Configuration.create(Produce::Options.available_options, options.__hash__)
34
-
35
- puts Produce::Manager.start_producing
36
- end
37
- end
38
-
39
- command :enable_services do |c|
40
- c.syntax = 'produce enable_services -a APP_IDENTIFIER SERVICE1, SERVICE2, ...'
41
- c.description = 'Enable specific Application Services for a specific app on the Apple Developer Portal'
42
- c.example 'Enable HealthKit, HomeKit and Passbook', 'produce enable_services -a com.example.app --healthkit --homekit --passbook'
43
-
44
- c.option '--app-group', 'Enable App Groups'
45
- c.option '--associated-domains', 'Enable Associated Domains'
46
- c.option '--data-protection STRING', String, 'Enable Data Protection, suitable values are "complete", "unlessopen" and "untilfirstauth"'
47
- c.option '--healthkit', 'Enable HealthKit'
48
- c.option '--homekit', 'Enable HomeKit'
49
- c.option '--wireless-conf', 'Enable Wireless Accessory Configuration'
50
- c.option '--icloud STRING', String, 'Enable iCloud, suitable values are "legacy" and "cloudkit"'
51
- c.option '--inter-app-audio', 'Enable Inter-App-Audio'
52
- c.option '--passbook', 'Enable Passbook'
53
- c.option '--push-notification', 'Enable Push notification (only enables the service, does not configure certificates)'
54
- c.option '--vpn-conf', 'Enable VPN Configuration'
55
-
56
- c.action do |args, options|
57
- # Filter the options so that we can still build the configuration
58
- allowed_keys = Produce::Options.available_options.collect(&:key)
59
- Produce.config = FastlaneCore::Configuration.create(Produce::Options.available_options, options.__hash__.select { |key, value| allowed_keys.include? key })
60
-
61
- require 'produce/service'
62
- Produce::Service.enable(options, args)
63
- end
64
- end
65
-
66
- command :disable_services do |c|
67
- c.syntax = 'produce disable_services -a APP_IDENTIFIER SERVICE1, SERVICE2, ...'
68
- c.description = 'Disable specific Application Services for a specific app on the Apple Developer Portal'
69
- c.example 'Disable HealthKit', 'produce disable_services -a com.example.app --healthkit'
70
-
71
- c.option '--app-group', 'Disable App Groups'
72
- c.option '--associated-domains', 'Disable Associated Domains'
73
- c.option '--data-protection', 'Disable Data Protection'
74
- c.option '--healthkit', 'Disable HealthKit'
75
- c.option '--homekit', 'Disable HomeKit'
76
- c.option '--wireless-conf', 'Disable Wireless Accessory Configuration'
77
- c.option '--icloud', 'Disable iCloud'
78
- c.option '--inter-app-audio', 'Disable Inter-App-Audio'
79
- c.option '--passbook', 'Disable Passbook'
80
- c.option '--push-notification', 'Disable Push notifications'
81
- c.option '--vpn-conf', 'Disable VPN Configuration'
82
-
83
- c.action do |args, options|
84
- # Filter the options so that we can still build the configuration
85
- allowed_keys = Produce::Options.available_options.collect(&:key)
86
- Produce.config = FastlaneCore::Configuration.create(Produce::Options.available_options, options.__hash__.select { |key, value| allowed_keys.include? key })
87
-
88
- require 'produce/service'
89
- Produce::Service.disable(options, args)
90
- end
91
- end
92
-
93
- command :group do |c|
94
- c.syntax = 'produce group'
95
- c.description = 'Ensure that a specific App Group exists'
96
- c.example 'Create group', 'produce group -g group.example.app -n "Example App Group"'
97
-
98
- c.option '-n', '--group_name STRING', String, 'Name for the group that is created (PRODUCE_GROUP_NAME)'
99
- c.option '-g', '--group_identifier STRING', String, 'Group identifier for the group (PRODUCE_GROUP_IDENTIFIER)'
100
-
101
- c.action do |args, options|
102
- allowed_keys = Produce::Options.available_options.collect(&:key)
103
- Produce.config = FastlaneCore::Configuration.create(Produce::Options.available_options, options.__hash__.select { |key, value| allowed_keys.include? key })
104
-
105
- require 'produce/group'
106
- Produce::Group.new.create(options, args)
107
- end
108
- end
109
-
110
- command :associate_group do |c|
111
- c.syntax = 'produce associate_group -a APP_IDENTIFIER GROUP_IDENTIFIER1, GROUP_IDENTIFIER2, ...'
112
- c.description = 'Associate with a group, which is create if needed or simply located otherwise'
113
- c.example 'Associate with group', 'produce associate-group -a com.example.app group.example.com'
114
-
115
- c.action do |args, options|
116
- Produce.config = FastlaneCore::Configuration.create(Produce::Options.available_options, options.__hash__)
117
-
118
- require 'produce/group'
119
- Produce::Group.new.associate(options, args)
120
- end
121
- end
122
-
123
- default_command :create
124
-
125
- run!
126
- end
127
- end
128
-
129
- begin
130
- FastlaneCore::UpdateChecker.start_looking_for_update('produce')
131
- ProduceApplication.new.run
132
- ensure
133
- FastlaneCore::UpdateChecker.show_update_status('produce', Produce::VERSION)
134
- end
5
+ require 'produce/commands_generator'
6
+ Produce::CommandsGenerator.start
@@ -0,0 +1,132 @@
1
+ require 'commander'
2
+
3
+ HighLine.track_eof = false
4
+
5
+ module Produce
6
+ class CommandsGenerator
7
+ include Commander::Methods
8
+
9
+ def self.start
10
+ FastlaneCore::UpdateChecker.start_looking_for_update('produce')
11
+ self.new.run
12
+ ensure
13
+ FastlaneCore::UpdateChecker.show_update_status('produce', Produce::VERSION)
14
+ end
15
+
16
+ # rubocop:disable Metrics/AbcSize
17
+ # rubocop:disable Metrics/MethodLength
18
+ def run
19
+ program :version, Produce::VERSION
20
+ program :description, 'CLI for \'produce\''
21
+ program :help, 'Author', 'Felix Krause <produce@krausefx.com>'
22
+ program :help, 'Website', 'https://fastlane.tools'
23
+ program :help, 'GitHub', 'https://github.com/fastlane/produce'
24
+ program :help_formatter, :compact
25
+
26
+ global_option('--verbose') { $verbose = true }
27
+
28
+ FastlaneCore::CommanderGenerator.new.generate(Produce::Options.available_options)
29
+
30
+ command :create do |c|
31
+ c.syntax = 'produce create'
32
+ c.description = 'Creates a new app on iTunes Connect and the Apple Developer Portal'
33
+
34
+ c.action do |args, options|
35
+ Produce.config = FastlaneCore::Configuration.create(Produce::Options.available_options, options.__hash__)
36
+
37
+ puts Produce::Manager.start_producing
38
+ end
39
+ end
40
+
41
+ command :enable_services do |c|
42
+ c.syntax = 'produce enable_services -a APP_IDENTIFIER SERVICE1, SERVICE2, ...'
43
+ c.description = 'Enable specific Application Services for a specific app on the Apple Developer Portal'
44
+ c.example 'Enable HealthKit, HomeKit and Passbook', 'produce enable_services -a com.example.app --healthkit --homekit --passbook'
45
+
46
+ c.option '--app-group', 'Enable App Groups'
47
+ c.option '--associated-domains', 'Enable Associated Domains'
48
+ c.option '--data-protection STRING', String, 'Enable Data Protection, suitable values are "complete", "unlessopen" and "untilfirstauth"'
49
+ c.option '--healthkit', 'Enable HealthKit'
50
+ c.option '--homekit', 'Enable HomeKit'
51
+ c.option '--wireless-conf', 'Enable Wireless Accessory Configuration'
52
+ c.option '--icloud STRING', String, 'Enable iCloud, suitable values are "legacy" and "cloudkit"'
53
+ c.option '--inter-app-audio', 'Enable Inter-App-Audio'
54
+ c.option '--passbook', 'Enable Passbook'
55
+ c.option '--push-notification', 'Enable Push notification (only enables the service, does not configure certificates)'
56
+ c.option '--vpn-conf', 'Enable VPN Configuration'
57
+
58
+ c.action do |args, options|
59
+ # Filter the options so that we can still build the configuration
60
+ allowed_keys = Produce::Options.available_options.collect(&:key)
61
+ Produce.config = FastlaneCore::Configuration.create(Produce::Options.available_options, options.__hash__.select { |key, value| allowed_keys.include? key })
62
+
63
+ require 'produce/service'
64
+ Produce::Service.enable(options, args)
65
+ end
66
+ end
67
+
68
+ command :disable_services do |c|
69
+ c.syntax = 'produce disable_services -a APP_IDENTIFIER SERVICE1, SERVICE2, ...'
70
+ c.description = 'Disable specific Application Services for a specific app on the Apple Developer Portal'
71
+ c.example 'Disable HealthKit', 'produce disable_services -a com.example.app --healthkit'
72
+
73
+ c.option '--app-group', 'Disable App Groups'
74
+ c.option '--associated-domains', 'Disable Associated Domains'
75
+ c.option '--data-protection', 'Disable Data Protection'
76
+ c.option '--healthkit', 'Disable HealthKit'
77
+ c.option '--homekit', 'Disable HomeKit'
78
+ c.option '--wireless-conf', 'Disable Wireless Accessory Configuration'
79
+ c.option '--icloud', 'Disable iCloud'
80
+ c.option '--inter-app-audio', 'Disable Inter-App-Audio'
81
+ c.option '--passbook', 'Disable Passbook'
82
+ c.option '--push-notification', 'Disable Push notifications'
83
+ c.option '--vpn-conf', 'Disable VPN Configuration'
84
+
85
+ c.action do |args, options|
86
+ # Filter the options so that we can still build the configuration
87
+ allowed_keys = Produce::Options.available_options.collect(&:key)
88
+ Produce.config = FastlaneCore::Configuration.create(Produce::Options.available_options, options.__hash__.select { |key, value| allowed_keys.include? key })
89
+
90
+ require 'produce/service'
91
+ Produce::Service.disable(options, args)
92
+ end
93
+ end
94
+
95
+ command :group do |c|
96
+ c.syntax = 'produce group'
97
+ c.description = 'Ensure that a specific App Group exists'
98
+ c.example 'Create group', 'produce group -g group.example.app -n "Example App Group"'
99
+
100
+ c.option '-n', '--group_name STRING', String, 'Name for the group that is created (PRODUCE_GROUP_NAME)'
101
+ c.option '-g', '--group_identifier STRING', String, 'Group identifier for the group (PRODUCE_GROUP_IDENTIFIER)'
102
+
103
+ c.action do |args, options|
104
+ allowed_keys = Produce::Options.available_options.collect(&:key)
105
+ Produce.config = FastlaneCore::Configuration.create(Produce::Options.available_options, options.__hash__.select { |key, value| allowed_keys.include? key })
106
+
107
+ require 'produce/group'
108
+ Produce::Group.new.create(options, args)
109
+ end
110
+ end
111
+
112
+ command :associate_group do |c|
113
+ c.syntax = 'produce associate_group -a APP_IDENTIFIER GROUP_IDENTIFIER1, GROUP_IDENTIFIER2, ...'
114
+ c.description = 'Associate with a group, which is create if needed or simply located otherwise'
115
+ c.example 'Associate with group', 'produce associate-group -a com.example.app group.example.com'
116
+
117
+ c.action do |args, options|
118
+ Produce.config = FastlaneCore::Configuration.create(Produce::Options.available_options, options.__hash__)
119
+
120
+ require 'produce/group'
121
+ Produce::Group.new.associate(options, args)
122
+ end
123
+ end
124
+
125
+ default_command :create
126
+
127
+ run!
128
+ end
129
+ # rubocop:enable Metrics/AbcSize
130
+ # rubocop:enable Metrics/MethodLength
131
+ end
132
+ end
@@ -1,3 +1,3 @@
1
1
  module Produce
2
- VERSION = "1.1.2"
2
+ VERSION = "1.1.3"
3
3
  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: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-04 00:00:00.000000000 Z
11
+ date: 2016-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fastlane_core
@@ -36,7 +36,7 @@ dependencies:
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 0.16.0
39
+ version: 0.29.1
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
42
  version: 1.0.0
@@ -46,7 +46,7 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 0.16.0
49
+ version: 0.29.1
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: 1.0.0
@@ -204,6 +204,7 @@ files:
204
204
  - bin/produce
205
205
  - lib/produce.rb
206
206
  - lib/produce/available_default_languages.rb
207
+ - lib/produce/commands_generator.rb
207
208
  - lib/produce/developer_center.rb
208
209
  - lib/produce/group.rb
209
210
  - lib/produce/itunes_connect.rb
@@ -231,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
232
  version: '0'
232
233
  requirements: []
233
234
  rubyforge_project:
234
- rubygems_version: 2.4.5.1
235
+ rubygems_version: 2.2.2
235
236
  signing_key:
236
237
  specification_version: 4
237
238
  summary: Create new iOS apps on iTunes Connect and Dev Portal using the command line