fastlane-plugin-apprepo 0.1.0

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: 918bdc19bdae67a2c396557c71bcaaf6cde63c25
4
+ data.tar.gz: d226c46f604c1f7a49a97c561916c5866cf8af90
5
+ SHA512:
6
+ metadata.gz: 5c404d4f062dcdc5b5dc70cbf9e0f8665490d38c531bb560f044ebbef083fb69696bbcd267620ef29cb5d3929aeade5759a3c389e064a937fac659b334b239e5
7
+ data.tar.gz: b1591aced1d1141650dd1a947012564473cf71549bc5c6af63e63bd2654bd7c690a18636c3d293412c7037a8ee3e998354ed3c8d4bc7d7af38eea3720d698488
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'json'
4
+
5
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 fastlane
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,7 @@
1
+ [![Twitter: @igraczech](https://img.shields.io/badge/contact-%40igraczech-green.svg?style=flat)](https://twitter.com/igraczech)
2
+ [![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/suculent/fastlane-plugin-apprepo/blob/master/LICENSE)
3
+ [![Gem](https://img.shields.io/gem/v/fastlane-plugin-apprepo.svg?style=flat)](http://rubygems.org/gems/fastlane-plugin-apprepo)
4
+ [![Build Status](https://img.shields.io/circleci/project/suculent/fastlane-plugin-apprepo.svg?style=flat)](https://circleci.com/gh/suculent/fastlane-plugin-apprepo)
5
+
6
+ An experimental fastlane plugin
7
+
data/circle.yml ADDED
@@ -0,0 +1,28 @@
1
+ machine:
2
+ ruby:
3
+ version: 2.2.5
4
+
5
+ #machine:
6
+ # xcode:
7
+ # version: "7.3"
8
+
9
+ dependencies:
10
+ pre:
11
+ - gem install bundler
12
+ - gem install fastlane
13
+ - bundle update
14
+
15
+ override:
16
+ - bundle install: # note ':' here
17
+ timeout: 180 # fail if command has no output for 3 minutes
18
+
19
+ #test:
20
+ # override:
21
+ # - ruby ./lib/apprepo.rb run
22
+ # - ruby ./lib/apprepo.rb run --ipa ./sampleapp.ipa
23
+ # - RAILS_ENV=test bundle exec rspec -r rspec_junit_formatter --format RspecJunitFormatter -o $CIRCLE_TEST_REPORTS/rspec/junit.xml
24
+
25
+ ## Custom notifications
26
+ notify:
27
+ webhooks:
28
+ - url: https://hooks.slack.com/services/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?payload={"text":"<https://slack.com>"}
@@ -0,0 +1,24 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ require 'fastlane/plugin/apprepo/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'fastlane-plugin-apprepo'
9
+ spec.version = Fastlane::Apprepo::VERSION
10
+ spec.authors = ['Matej Sychra']
11
+ spec.email = ['suculent@me.com']
12
+ spec.summary = Fastlane::Apprepo::SUMMARY
13
+ spec.description = Fastlane::Apprepo::DESCRIPTION
14
+ spec.homepage = 'https://github.com/suculent/fastlane-plugin-apprepo'
15
+ spec.license = 'MIT'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.require_paths = ['lib']
19
+
20
+ spec.add_development_dependency 'json', '= 1.8.1'
21
+ spec.add_development_dependency 'rspec', '~> 3.4', '>= 3.4.0'
22
+ spec.add_development_dependency 'fastlane', '~> 1.89'
23
+ spec.add_development_dependency 'pry', '~> 0'
24
+ end
@@ -0,0 +1,17 @@
1
+ #require_relative 'apprepo/version'
2
+ require 'fastlane/plugin/apprepo/version'
3
+
4
+ module Fastlane
5
+ module Apprepo
6
+ # Return all .rb files inside the "actions" and "helper" directory
7
+ def self.all_classes
8
+ Dir[File.expand_path('*/{actions,helper}/*.rb', File.dirname(__FILE__))]
9
+ end
10
+ end
11
+ end
12
+
13
+ # By default we want to import all available actions and helpers
14
+ # A plugin can contain any number of actions and plugins
15
+ Fastlane::Apprepo.all_classes.each do |current|
16
+ require current
17
+ end
@@ -0,0 +1,127 @@
1
+ require 'fastlane'
2
+
3
+ module Fastlane
4
+ module Actions
5
+ class ApprepoAction < Action
6
+ def self.run(params)
7
+ require 'apprepo'
8
+
9
+ if defined?(::Apprepo::Command::Make)
10
+
11
+ # New `apprepo make` command
12
+ ::Apprepo::Command::Make.run
13
+
14
+ else
15
+
16
+ # Legacy `apprepo` command
17
+ ::Apprepo::Command.run
18
+ end
19
+ end
20
+
21
+ def self.description
22
+ "Runs `apprepo` for the project"
23
+ end
24
+
25
+ def self.available_options
26
+ [
27
+ FastlaneCore::ConfigItem.new(key: :ipa,
28
+ short_option: '-i',
29
+ optional: true,
30
+ env_name: 'APPREPO_IPA_PATH',
31
+ description: 'Path to your ipa file',
32
+ default_value: Dir['*.ipa'].first,
33
+ verify_block: proc do |value|
34
+ UI.user_error!("Could not find ipa file at path '#{value}'") unless File.exist?(value)
35
+ UI.user_error!("'#{value}' doesn't seem to be an ipa file") unless value.end_with?('.ipa')
36
+ end,
37
+ conflicting_options: [:pkg],
38
+ conflict_block: proc do |value|
39
+ UI.user_error!("You can't use 'ipa' and '#{value.key}' options in one run.")
40
+ end),
41
+ FastlaneCore::ConfigItem.new(key: :app_identifier,
42
+ short_option: '-b',
43
+ optional: false,
44
+ env_name: 'APPREPO_APP_ID',
45
+ description: 'Your bundle identifier',
46
+ default_value: ""),
47
+ FastlaneCore::ConfigItem.new(key: :app_code,
48
+ short_option: '-c',
49
+ optional: true,
50
+ env_name: 'APPREPO_APPCODE',
51
+ description: 'APPCODE value for apprepo'),
52
+ FastlaneCore::ConfigItem.new(key: :repo_url,
53
+ short_option: '-r',
54
+ optional: false,
55
+ env_name: 'APPREPO_URL',
56
+ description: 'URL of your Apprepo server'),
57
+ FastlaneCore::ConfigItem.new(key: :repo_user,
58
+ short_option: '-u',
59
+ optional: false,
60
+ env_name: 'APPREPO_USER',
61
+ description: 'USER of your Apprepo server'),
62
+ FastlaneCore::ConfigItem.new(key: :repo_key,
63
+ short_option: '-k',
64
+ optional: false,
65
+ env_name: 'APPREPO_KEY',
66
+ description: 'RSA key for your Apprepo server'),
67
+ FastlaneCore::ConfigItem.new(key: :repo_description,
68
+ short_option: '-d',
69
+ optional: true,
70
+ env_name: 'APPREPO_DESCRIPTION',
71
+ description: 'Long description for your Apprepo server'),
72
+ FastlaneCore::ConfigItem.new(key: :metadata_path,
73
+ short_option: '-m',
74
+ description: 'Path to the folder containing the metadata files',
75
+ optional: true),
76
+ FastlaneCore::ConfigItem.new(key: :meta_title,
77
+ short_option: '-a',
78
+ description: 'Name of the app',
79
+ optional: true),
80
+ FastlaneCore::ConfigItem.new(key: :skip_binary_upload,
81
+ description: 'Skip uploading an ipa or pkg to iTunes Connect',
82
+ is_string: false,
83
+ default_value: false),
84
+ FastlaneCore::ConfigItem.new(key: :app_version,
85
+ short_option: '-z',
86
+ description: 'The version that should be edited or created',
87
+ optional: true),
88
+ FastlaneCore::ConfigItem.new(key: :skip_metadata,
89
+ description: "Don't upload the metadata (e.g. title, description), this will still upload screenshots",
90
+ is_string: false,
91
+ default_value: false),
92
+ FastlaneCore::ConfigItem.new(key: :notify,
93
+ description: "Notify AppRepo users on update",
94
+ is_string: false,
95
+ default_value: false),
96
+ FastlaneCore::ConfigItem.new(key: :build_number,
97
+ short_option: '-n',
98
+ description: 'If set the given build number (already uploaded to iTC) will be used instead of the current built one',
99
+ optional: true,
100
+ conflicting_options: [:ipa, :pkg],
101
+ conflict_block: proc do |value|
102
+ UI.user_error!("You can't use 'build_number' and '#{value.key}' options in one run.")
103
+ end),
104
+
105
+ # App Metadata
106
+ # Non Localised
107
+ FastlaneCore::ConfigItem.new(key: :app_icon,
108
+ description: 'Metadata: The path to the app icon',
109
+ optional: true,
110
+ short_option: '-l',
111
+ verify_block: proc do |value|
112
+ UI.user_error!("Could not find png file at path '#{value}'") unless File.exist?(value)
113
+ UI.user_error!("'#{value}' doesn't seem to be a png file") unless value.end_with?('.png')
114
+ end)
115
+ ]
116
+ end
117
+
118
+ def self.is_supported?(platform)
119
+ [:ios, :mac].include? platform
120
+ end
121
+
122
+ def self.authors
123
+ ["suculent"]
124
+ end
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,7 @@
1
+ module Fastlane
2
+ module Apprepo
3
+ VERSION = '0.1.0'
4
+ SUMMARY = 'experimental fastlane plugin'
5
+ DESCRIPTION = 'experimental fastlane plugin based on https://github.com/suculent/apprepo SFTP uploader'
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,116 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fastlane-plugin-apprepo
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Matej Sychra
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-05-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: json
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 1.8.1
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 1.8.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.4'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 3.4.0
37
+ type: :development
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '3.4'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 3.4.0
47
+ - !ruby/object:Gem::Dependency
48
+ name: fastlane
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.89'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.89'
61
+ - !ruby/object:Gem::Dependency
62
+ name: pry
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ description: experimental fastlane plugin based on https://github.com/suculent/apprepo
76
+ SFTP uploader
77
+ email:
78
+ - suculent@me.com
79
+ executables: []
80
+ extensions: []
81
+ extra_rdoc_files: []
82
+ files:
83
+ - Gemfile
84
+ - LICENSE
85
+ - README.md
86
+ - circle.yml
87
+ - fastlane-plugin-apprepo.gemspec
88
+ - lib/fastlane/plugin/apprepo.rb
89
+ - lib/fastlane/plugin/apprepo/actions/apprepo_action.rb
90
+ - lib/fastlane/plugin/apprepo/version.rb
91
+ homepage: https://github.com/suculent/fastlane-plugin-apprepo
92
+ licenses:
93
+ - MIT
94
+ metadata: {}
95
+ post_install_message:
96
+ rdoc_options: []
97
+ require_paths:
98
+ - lib
99
+ required_ruby_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ requirements: []
110
+ rubyforge_project:
111
+ rubygems_version: 2.6.1
112
+ signing_key:
113
+ specification_version: 4
114
+ summary: experimental fastlane plugin
115
+ test_files: []
116
+ has_rdoc: