ipa_install_plist_generator 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: 46b71d4621854f2d4708bd124eb4427808ac953c
4
+ data.tar.gz: d2d26944ebe0129b1b0892fad985e1ab628e1429
5
+ SHA512:
6
+ metadata.gz: 4985fd2480fa12d8d26b0e564482af2b6ccbeed8cc05708dad83769839a3a4e9e0df32b1a4573a2c0acbe44d8f243e26e1510ff4a10ed1f2860b23cc27115cd5
7
+ data.tar.gz: f61a9531165c62415150f362c1b7af95c457200d4ac3538a634216ced5e2a8f6ab47269ee9a03eac6fe2615444191862cb5b884ef3c59f6289fac2c81afadddd
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,33 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ ipa_install_plist_generator (0.1.0)
5
+ plist (~> 3.1, >= 3.1.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ diff-lcs (1.2.5)
11
+ plist (3.1.0)
12
+ rake (10.4.2)
13
+ rspec (3.2.0)
14
+ rspec-core (~> 3.2.0)
15
+ rspec-expectations (~> 3.2.0)
16
+ rspec-mocks (~> 3.2.0)
17
+ rspec-core (3.2.0)
18
+ rspec-support (~> 3.2.0)
19
+ rspec-expectations (3.2.0)
20
+ diff-lcs (>= 1.2.0, < 2.0)
21
+ rspec-support (~> 3.2.0)
22
+ rspec-mocks (3.2.0)
23
+ diff-lcs (>= 1.2.0, < 2.0)
24
+ rspec-support (~> 3.2.0)
25
+ rspec-support (3.2.1)
26
+
27
+ PLATFORMS
28
+ ruby
29
+
30
+ DEPENDENCIES
31
+ ipa_install_plist_generator!
32
+ rake
33
+ rspec
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Bitrise
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.
22
+
data/README.md ADDED
@@ -0,0 +1,6 @@
1
+ # ipa_install_plist_generator
2
+
3
+ Generates a .plist which can be used for an IPA install
4
+
5
+ **This code will be converted to a Ruby Gem
6
+ once the basic functionality is implemented**
data/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ require "bundler/setup"
2
+
3
+ gemspec = eval(File.read("ipa_install_plist_generator.gemspec"))
4
+
5
+ task :build => "#{gemspec.full_name}.gem"
6
+
7
+ file "#{gemspec.full_name}.gem" => gemspec.files + ["ipa_install_plist_generator.gemspec"] do
8
+ system "gem build ipa_install_plist_generator.gemspec"
9
+ end
data/_scripts/make.sh ADDED
@@ -0,0 +1,26 @@
1
+ #!/bin/bash
2
+
3
+ #
4
+ # Prints the given command, then executes it
5
+ # Example: print_and_do_command echo 'hi'
6
+ #
7
+ function print_and_do_command {
8
+ echo " -> $ $@"
9
+ $@
10
+ }
11
+
12
+ #
13
+ # Print the given command, execute it
14
+ # and exit if error happened
15
+ function print_and_do_command_exit_on_error {
16
+ print_and_do_command $@
17
+ if [ $? -ne 0 ]; then
18
+ echo " [!] Failed!"
19
+ exit 1
20
+ fi
21
+ }
22
+
23
+ # test
24
+ print_and_do_command_exit_on_error rspec
25
+ # build
26
+ print_and_do_command_exit_on_error gem build ipa_install_plist_generator.gemspec
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+
4
+ require "ipa_install_plist_generator/version"
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "ipa_install_plist_generator"
8
+ s.authors = ["Bitrise", "Viktor Benei"]
9
+ s.email = 'letsconnect@bitrise.io'
10
+ s.license = "MIT"
11
+ # s.homepage = "https://www.bitrise.io"
12
+ s.version = IpaInstallPlistGenerator::VERSION
13
+ s.platform = Gem::Platform::RUBY
14
+ s.summary = "iOS .ipa install Plist and link generator"
15
+ s.description = "Generate iOS .ipa (app) install Plist file and link"
16
+
17
+ s.add_runtime_dependency 'plist', '~> 3.1', '>= 3.1.0'
18
+
19
+ s.add_development_dependency "rspec"
20
+ s.add_development_dependency "rake"
21
+
22
+ s.files = Dir["./**/*"].reject { |file| file =~ /\.\/(bin|log|pkg|script|spec|test|vendor)/ }
23
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
24
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
25
+ s.require_paths = ["lib"]
26
+ end
@@ -0,0 +1,9 @@
1
+ module IpaInstallPlistGenerator
2
+ class LinkGenerator
3
+ def generate_install_link(install_plist_url)
4
+ raise "https (secure HTTP) URL is required!" unless install_plist_url.start_with? 'https://'
5
+ full_itms_install_url = "itms-services://?action=download-manifest&url=#{install_plist_url}"
6
+ return full_itms_install_url
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,42 @@
1
+ require 'plist'
2
+
3
+ module IpaInstallPlistGenerator
4
+ class PlistGenerator
5
+ def generate_plist_string(ipa_download_url, bundle_identifier, app_title, bundle_version=nil)
6
+
7
+ raise "No IPA download URL specified" unless ipa_download_url
8
+ raise "No Bundle Identifier specified" unless bundle_identifier
9
+ raise "No App Title specified" unless app_title
10
+
11
+ # - meta
12
+ meta_item = {
13
+ 'kind' => 'software',
14
+ 'bundle-identifier' => bundle_identifier,
15
+ 'title' => app_title
16
+ }
17
+ if bundle_version
18
+ meta_item['bundle-version'] = bundle_version
19
+ end
20
+
21
+ # - main download/asset content
22
+ asset_items = []
23
+
24
+ asset_items << {
25
+ kind: 'software-package',
26
+ url: ipa_download_url
27
+ }
28
+
29
+ # - create the Plist
30
+ plist_content_item = {
31
+ assets: asset_items,
32
+ metadata: meta_item
33
+ }
34
+
35
+ plist_hash = {
36
+ items: [plist_content_item]
37
+ }
38
+
39
+ return Plist::Emit.dump(plist_hash)
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,3 @@
1
+ module IpaInstallPlistGenerator
2
+ VERSION = '0.1.0'
3
+ end
@@ -0,0 +1,3 @@
1
+ require 'ipa_install_plist_generator/version'
2
+ require 'ipa_install_plist_generator/install_link_generator'
3
+ require 'ipa_install_plist_generator/install_plist_generator'
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ipa_install_plist_generator
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Bitrise
8
+ - Viktor Benei
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-02-09 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: plist
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '3.1'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 3.1.0
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: '3.1'
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 3.1.0
34
+ - !ruby/object:Gem::Dependency
35
+ name: rspec
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ type: :development
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: rake
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: Generate iOS .ipa (app) install Plist file and link
63
+ email: letsconnect@bitrise.io
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - "./Gemfile"
69
+ - "./Gemfile.lock"
70
+ - "./LICENSE"
71
+ - "./README.md"
72
+ - "./Rakefile"
73
+ - "./_scripts/make.sh"
74
+ - "./ipa_install_plist_generator.gemspec"
75
+ - "./lib/ipa_install_plist_generator.rb"
76
+ - "./lib/ipa_install_plist_generator/install_link_generator.rb"
77
+ - "./lib/ipa_install_plist_generator/install_plist_generator.rb"
78
+ - "./lib/ipa_install_plist_generator/version.rb"
79
+ homepage:
80
+ licenses:
81
+ - MIT
82
+ metadata: {}
83
+ post_install_message:
84
+ rdoc_options: []
85
+ require_paths:
86
+ - lib
87
+ required_ruby_version: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ requirements: []
98
+ rubyforge_project:
99
+ rubygems_version: 2.4.4
100
+ signing_key:
101
+ specification_version: 4
102
+ summary: iOS .ipa install Plist and link generator
103
+ test_files: []