fastlane-yaml-init 0.0.1

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