fastlane-yaml-init 0.0.1
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 +7 -0
- data/bin/fastlane-yaml-init +22 -0
- data/lib/fastlane-yaml-init.rb +7 -0
- data/lib/fastlane-yaml-init/files.rb +28 -0
- data/lib/fastlane-yaml-init/folders.rb +31 -0
- data/lib/fastlane-yaml-init/message.rb +12 -0
- data/lib/fastlane-yaml-init/version.rb +4 -0
- data/lib/templates/Appfile +6 -0
- data/lib/templates/Deliverfile +36 -0
- data/lib/templates/Fastfile +29 -0
- data/lib/templates/metadata.yml +46 -0
- data/spec/spec_files.rb +38 -0
- data/spec/spec_folders.rb +46 -0
- data/spec/spec_helper.rb +9 -0
- data/spec/spec_message.rb +16 -0
- metadata +149 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 31dd6091602ccaac24fb01849057e7a66aa8640d
|
4
|
+
data.tar.gz: a6eec5eccb0373e7596b66351c979738ff68fc4c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d02c67965d8b6792cb5c72842cf88bddb8645870d2ed67d25d902d6dcb3986f570e6ac147d75d5b2aaf22be603a298b14cc9ac441fb8f170503539df5ef148d6
|
7
|
+
data.tar.gz: 6d12cd419f41e1b9176dcb3862c61473f3e8249e8a295c62ee7a33d40a2a4579fbe4d62e9acfc83f0cea092c3720df4202a0856425754b6191659f76f3312fcb
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$LOAD_PATH.push File.expand_path('../../lib', __FILE__)
|
4
|
+
|
5
|
+
require 'fastlane-yaml-init'
|
6
|
+
|
7
|
+
class FastlaneYamlInit
|
8
|
+
include FYAML::Message
|
9
|
+
|
10
|
+
def run
|
11
|
+
begin
|
12
|
+
FYAML::Folders.setup
|
13
|
+
FYAML::Files.setup
|
14
|
+
show_okay_msg('✓ fastlane skeleton created successfully')
|
15
|
+
rescue Exception => ex
|
16
|
+
show_error_msg('✗ ' + ex.message)
|
17
|
+
raise ex
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
FastlaneYamlInit.new.run
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module FYAML
|
2
|
+
# Copies all template files
|
3
|
+
class Files
|
4
|
+
class << self
|
5
|
+
def setup
|
6
|
+
copy_files
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def files
|
12
|
+
%w(Appfile Deliverfile Fastfile metadata.yml)
|
13
|
+
end
|
14
|
+
|
15
|
+
def copy_files
|
16
|
+
root = Folders.root
|
17
|
+
fail("#{root} folder does not exist") unless File.exist?(root)
|
18
|
+
|
19
|
+
files.each do |file|
|
20
|
+
next if File.exist?(File.join(root, file))
|
21
|
+
templates_path = Gem::Specification.find_by_name('fastlane-yaml-init').gem_dir + '/lib/templates'
|
22
|
+
file_name = File.join(templates_path, file)
|
23
|
+
FileUtils.copy(file_name, root)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module FYAML
|
2
|
+
# Creates all folders
|
3
|
+
class Folders
|
4
|
+
class << self
|
5
|
+
FASTLANE_FOLDER = 'fastlane'
|
6
|
+
DELIVER_FOLDER = "#{FASTLANE_FOLDER}/deliver"
|
7
|
+
APP_ICON_FOLDER = "#{DELIVER_FOLDER}/app-icon"
|
8
|
+
RATING_FOLDER = "#{DELIVER_FOLDER}/rating"
|
9
|
+
SCREENSHOTS_FOLDER = "#{DELIVER_FOLDER}/screenshots/en-US"
|
10
|
+
|
11
|
+
def setup
|
12
|
+
create_folders
|
13
|
+
end
|
14
|
+
|
15
|
+
def root
|
16
|
+
FASTLANE_FOLDER
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def folders
|
22
|
+
[FASTLANE_FOLDER, DELIVER_FOLDER, APP_ICON_FOLDER, RATING_FOLDER, SCREENSHOTS_FOLDER]
|
23
|
+
end
|
24
|
+
|
25
|
+
def create_folders
|
26
|
+
fail("#{root} folder already exist") if File.exist?(root)
|
27
|
+
FileUtils.mkdir_p(folders)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'yaml'
|
4
|
+
|
5
|
+
# See all available metadata options here: https://github.com/KrauseFx/deliver/blob/master/Deliverfile.md
|
6
|
+
|
7
|
+
metadata = YAML.load_file('metadata.yml')
|
8
|
+
|
9
|
+
METADATA = {
|
10
|
+
default_language: metadata['DEFAULT_LANGUAGE'], # Must be first item in the hash
|
11
|
+
apple_id: metadata['APPLE_ID'],
|
12
|
+
version: metadata['VERSION'],
|
13
|
+
title: metadata['TITLE'],
|
14
|
+
description: metadata['DESCRIPTION'],
|
15
|
+
keywords: metadata['KEYWORDS'],
|
16
|
+
screenshots_path: metadata['SCREENSHOTS_PATH'],
|
17
|
+
app_icon: metadata['APP_ICON'],
|
18
|
+
marketing_url: metadata['MARKETING_URL'],
|
19
|
+
support_url: metadata['SUPPORT_URL'],
|
20
|
+
privacy_url: metadata['PRIVACY_URL'],
|
21
|
+
copyright: metadata['COPYRIGHT'],
|
22
|
+
primary_category: metadata['PRIMARY_CATEGORY'],
|
23
|
+
secondary_category: metadata['SECONDARY_CATEGORY'],
|
24
|
+
changelog: metadata['CHANGELOG'],
|
25
|
+
price_tier: metadata['PRICE_TIER'],
|
26
|
+
automatic_release: metadata['AUTOMATIC_RELEASE'],
|
27
|
+
app_review_information: metadata['APP_REVIEW_INFORMATION'],
|
28
|
+
ratings_config_path: metadata['RATINGS_CONFIG_PATH'],
|
29
|
+
ipa: ENV['IPA_OUTPUT_PATH'],
|
30
|
+
beta_ipa: ENV['IPA_OUTPUT_PATH']
|
31
|
+
}
|
32
|
+
|
33
|
+
METADATA.each do |key, value|
|
34
|
+
next if value.nil?
|
35
|
+
public_send(key, value)
|
36
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
##############################
|
4
|
+
#
|
5
|
+
# fastlane lanes
|
6
|
+
#
|
7
|
+
##############################
|
8
|
+
|
9
|
+
lane :appstore do
|
10
|
+
# TODO: Add your code here
|
11
|
+
end
|
12
|
+
|
13
|
+
##############################
|
14
|
+
#
|
15
|
+
# fastlane hooks
|
16
|
+
#
|
17
|
+
##############################
|
18
|
+
|
19
|
+
before_all do
|
20
|
+
# TODO: Add your code here
|
21
|
+
end
|
22
|
+
|
23
|
+
after_all do |lane|
|
24
|
+
# TODO: Add your code here
|
25
|
+
end
|
26
|
+
|
27
|
+
error do |lane, exception|
|
28
|
+
# TODO: Add your code here
|
29
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# metadata.yml
|
2
|
+
##YAML metadata template for App Store app submissions
|
3
|
+
---
|
4
|
+
|
5
|
+
DEFAULT_LANGUAGE:
|
6
|
+
|
7
|
+
APPLE_ID:
|
8
|
+
|
9
|
+
TITLE:
|
10
|
+
|
11
|
+
VERSION:
|
12
|
+
|
13
|
+
DESCRIPTION:
|
14
|
+
|
15
|
+
KEYWORDS:
|
16
|
+
|
17
|
+
SCREENSHOTS_PATH:
|
18
|
+
|
19
|
+
APP_ICON:
|
20
|
+
|
21
|
+
MARKETING_URL:
|
22
|
+
|
23
|
+
SUPPORT_URL:
|
24
|
+
|
25
|
+
PRIVACY_URL:
|
26
|
+
|
27
|
+
COPYRIGHT:
|
28
|
+
|
29
|
+
PRIMARY_CATEGORY:
|
30
|
+
|
31
|
+
SECONDARY_CATEGORY:
|
32
|
+
|
33
|
+
APP_REVIEW_INFORMATION:
|
34
|
+
:first_name:
|
35
|
+
:last_name:
|
36
|
+
:phone_number:
|
37
|
+
:email_address:
|
38
|
+
:demo_user:
|
39
|
+
:demo_password:
|
40
|
+
:notes:
|
41
|
+
|
42
|
+
RATINGS_CONFIG_PATH:
|
43
|
+
|
44
|
+
CHANGELOG:
|
45
|
+
|
46
|
+
AUTOMATIC_RELEASE:
|
data/spec/spec_files.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
|
3
|
+
FILE_LIST = %w(Appfile Deliverfile Fastfile metadata.yml)
|
4
|
+
|
5
|
+
# Test class for Files
|
6
|
+
class SpecFiles < Minitest::Spec
|
7
|
+
before do
|
8
|
+
@clean_root = -> { `rm -rf fastlane` }
|
9
|
+
@clean_root.call
|
10
|
+
end
|
11
|
+
|
12
|
+
after do
|
13
|
+
@clean_root.call
|
14
|
+
end
|
15
|
+
|
16
|
+
describe 'Files' do
|
17
|
+
it 'should return array of template files' do
|
18
|
+
files = FYAML::Files.send(:files)
|
19
|
+
files.must_be_instance_of(Array)
|
20
|
+
files.must_equal(FILE_LIST)
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should raise when root folder does not exist' do
|
24
|
+
proc { FYAML::Files.setup }.must_raise(RuntimeError)
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should copy template files to root folder' do
|
28
|
+
FYAML::Folders.setup
|
29
|
+
FYAML::Files.setup
|
30
|
+
|
31
|
+
root = FYAML::Folders.root
|
32
|
+
|
33
|
+
FILE_LIST.each do |file|
|
34
|
+
File.exist?("#{root}/#{file}").must_equal(true)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
|
3
|
+
FOLDER_LIST = %w(
|
4
|
+
fastlane
|
5
|
+
fastlane/deliver
|
6
|
+
fastlane/deliver/app-icon
|
7
|
+
fastlane/deliver/rating
|
8
|
+
fastlane/deliver/screenshots/en-US
|
9
|
+
)
|
10
|
+
|
11
|
+
# Test class for Folders
|
12
|
+
class SpecFolders < Minitest::Spec
|
13
|
+
before do
|
14
|
+
@clean_root = -> { `rm -rf fastlane` }
|
15
|
+
@clean_root.call
|
16
|
+
end
|
17
|
+
|
18
|
+
after do
|
19
|
+
@clean_root.call
|
20
|
+
end
|
21
|
+
|
22
|
+
describe 'Folders' do
|
23
|
+
it 'should return root folder' do
|
24
|
+
FYAML::Folders.root.must_equal('fastlane')
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should return array of folders' do
|
28
|
+
folders = FYAML::Folders.send(:folders)
|
29
|
+
folders.must_be_instance_of(Array)
|
30
|
+
folders.must_equal(FOLDER_LIST)
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'should raise when root folder already exist' do
|
34
|
+
FYAML::Folders.setup
|
35
|
+
proc { FYAML::Folders.setup }.must_raise(RuntimeError)
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should create all folders' do
|
39
|
+
FYAML::Folders.setup
|
40
|
+
|
41
|
+
FOLDER_LIST.each do |folder|
|
42
|
+
File.exist?(folder).must_equal(true)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
|
3
|
+
# Test class for Message
|
4
|
+
class SpecMessage < Minitest::Spec
|
5
|
+
include FYAML::Message
|
6
|
+
|
7
|
+
describe 'Message' do
|
8
|
+
it 'should show okay message' do
|
9
|
+
proc { show_okay_msg('my okay message') }.must_output("\e[0;32;49mmy okay message\e[0m\n")
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should show error message' do
|
13
|
+
proc { show_error_msg('my error message') }.must_output("\e[0;31;49mmy error message\e[0m\n")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
metadata
ADDED
@@ -0,0 +1,149 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fastlane-yaml-init
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jani Jegoroff
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-03-25 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: colorize
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.7'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.7'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.4'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.4'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.5'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.5'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: minitest-reporters
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubocop
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.29'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.29'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: coveralls
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.7'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.7'
|
97
|
+
description: Inits fastlane folder structure and enables metadata configuration in
|
98
|
+
YAML format
|
99
|
+
email:
|
100
|
+
- jani.jegoroff@gmail.com
|
101
|
+
executables:
|
102
|
+
- fastlane-yaml-init
|
103
|
+
extensions: []
|
104
|
+
extra_rdoc_files: []
|
105
|
+
files:
|
106
|
+
- bin/fastlane-yaml-init
|
107
|
+
- lib/fastlane-yaml-init.rb
|
108
|
+
- lib/fastlane-yaml-init/files.rb
|
109
|
+
- lib/fastlane-yaml-init/folders.rb
|
110
|
+
- lib/fastlane-yaml-init/message.rb
|
111
|
+
- lib/fastlane-yaml-init/version.rb
|
112
|
+
- lib/templates/Appfile
|
113
|
+
- lib/templates/Deliverfile
|
114
|
+
- lib/templates/Fastfile
|
115
|
+
- lib/templates/metadata.yml
|
116
|
+
- spec/spec_files.rb
|
117
|
+
- spec/spec_folders.rb
|
118
|
+
- spec/spec_helper.rb
|
119
|
+
- spec/spec_message.rb
|
120
|
+
homepage: http://github.com/JaniJegoroff/fastlane-yaml-init
|
121
|
+
licenses:
|
122
|
+
- MIT
|
123
|
+
metadata: {}
|
124
|
+
post_install_message:
|
125
|
+
rdoc_options: []
|
126
|
+
require_paths:
|
127
|
+
- lib
|
128
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
requirements: []
|
139
|
+
rubyforge_project:
|
140
|
+
rubygems_version: 2.2.2
|
141
|
+
signing_key:
|
142
|
+
specification_version: 4
|
143
|
+
summary: Fast init and YAML configuration skeleton for fastlane
|
144
|
+
test_files:
|
145
|
+
- spec/spec_files.rb
|
146
|
+
- spec/spec_folders.rb
|
147
|
+
- spec/spec_helper.rb
|
148
|
+
- spec/spec_message.rb
|
149
|
+
has_rdoc:
|