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 +4 -4
- data/README.md +4 -3
- data/bin/produce +2 -130
- data/lib/produce/commands_generator.rb +132 -0
- data/lib/produce/version.rb +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6e763c15fc8d5801af15fbb3263b51af9657e92e
|
|
4
|
+
data.tar.gz: d0a555c4dd008d72232dee7c431af65019a4c20a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
|
|
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
|
|
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 '
|
|
7
|
-
|
|
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
|
data/lib/produce/version.rb
CHANGED
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.
|
|
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-
|
|
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.
|
|
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.
|
|
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.
|
|
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
|