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 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,7 @@
1
+ require 'fileutils'
2
+ require 'colorize'
3
+
4
+ require 'fastlane-yaml-init/version'
5
+ require 'fastlane-yaml-init/folders'
6
+ require 'fastlane-yaml-init/files'
7
+ require 'fastlane-yaml-init/message'
@@ -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,12 @@
1
+ module FYAML
2
+ # Prints coloured messages
3
+ module Message
4
+ def show_okay_msg(aMessage)
5
+ puts aMessage.colorize(:green)
6
+ end
7
+
8
+ def show_error_msg(aMessage)
9
+ puts aMessage.colorize(:red)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,4 @@
1
+ # Gem version
2
+ module FastlaneYaml
3
+ VERSION = '0.0.1'
4
+ end
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Add application identifier and your apple id here
4
+
5
+ app_identifier 'com.app.identifier'
6
+ apple_id 'apple@id.com'
@@ -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:
@@ -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
@@ -0,0 +1,9 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+
4
+ require 'minitest/autorun'
5
+ require 'minitest/reporters'
6
+
7
+ require 'fastlane-yaml-init'
8
+
9
+ Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
@@ -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: