produce 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|