app-tools 1.0.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: 9c9ce1fc27fcc35dacc124691e588ab78cdcc6d2
4
+ data.tar.gz: 7632d47b6203b4e1a875bd74e0f6a785844363d2
5
+ SHA512:
6
+ metadata.gz: 2db5217e9c927a98d142155e0fdd392031fa384d57092c5b80d1b99255746022d5edc15b24b58d47c6c48ae9d66ebf3f9207ec3aeee7c047481a51037c8c1797
7
+ data.tar.gz: 8218058a0fa74dbe869bf74b892e8d6ee3b388da6d23c0035418182c5d2fd60d9bd8bae13605e382820430822fb8b3d13b9aeda19b95729f0361d8d4628dc65a
data/bin/app-tools ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env ruby
2
+ puts "xcarchive2ipa - Generate IPA from XCArchive"
data/bin/xcarchive2ipa ADDED
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'bundler/setup'
5
+ require 'methadone'
6
+ require 'app_tools/version'
7
+ require 'fileutils'
8
+
9
+ #
10
+ # This project is an extraction and rewrite in Ruby of
11
+ # https://github.com/drewcrawford/CaveJohnson/blob/master/cavejohnson/__init__.py#L84
12
+ #
13
+
14
+ module AppTools
15
+ module Xcarchive2ipa
16
+ include Methadone::Main
17
+ include Methadone::CLILogging
18
+ include Methadone::ExitNow
19
+
20
+ main do |xcarchive_path|
21
+ if xcarchive_path.nil? or !File.exist?(xcarchive_path)
22
+ exit_now! "Must supply a .xcarchive path to process"
23
+ end
24
+
25
+ # Creating working variables
26
+ xcarchive_path = File.expand_path(xcarchive_path)
27
+ app_name = Dir.entries(xcarchive_path + '/Products/Applications')[2]
28
+ app_base_name = app_name[0...-4]
29
+ tmp_path = File.dirname(xcarchive_path) + '/' + app_base_name + '.tmp'
30
+
31
+ if Dir.exists?(tmp_path)
32
+ FileUtils.rm_rf tmp_path
33
+ end
34
+
35
+ FileUtils.mkdir tmp_path
36
+
37
+ # Copy the app tree
38
+ FileUtils.cp_r xcarchive_path + '/Products/Applications', tmp_path + '/Payload'
39
+
40
+ # Copy the SwiftSupport tree
41
+ FileUtils.cp_r xcarchive_path + '/SwiftSupport', tmp_path + '/SwiftSupport'
42
+
43
+ # Fix up the symbols
44
+ app_binary = xcarchive_path + '/Products/Applications/' + app_name + '/' + app_base_name
45
+ FileUtils.mkdir tmp_path + '/Symbols'
46
+ xcode_path = `xcode-select -p`.chop
47
+ symbols_path = xcode_path + '/usr/bin/symbols'
48
+ `#{symbols_path} -noTextInSOD -noDaemon -arch all -symbolsPackageDir #{tmp_path + '/Symbols'} #{app_binary}`
49
+ ipa_rel_path = '../' + app_base_name + '.ipa'
50
+ ipa_path = File.expand_path(ipa_rel_path, tmp_path)
51
+
52
+ if File.exist?(ipa_path)
53
+ FileUtils.rm ipa_path
54
+ end
55
+
56
+ `cd #{tmp_path}; zip #{ipa_rel_path} *`
57
+ FileUtils.rm_rf tmp_path
58
+ puts ipa_path
59
+ end
60
+
61
+ description 'xcharchive2ipa - Create an iTunesConnect uploadable .ipa files from your .xcarchive'
62
+ version AppTools::VERSION
63
+
64
+ arg :xcarchive_path, "An XCArchive path", :require
65
+
66
+ use_log_level_option :toggle_debug_on_signal => 'USR1'
67
+
68
+ go!
69
+ end
70
+ end
@@ -0,0 +1,3 @@
1
+ module AppTools
2
+ VERSION = "1.0.0"
3
+ end
metadata ADDED
@@ -0,0 +1,108 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: app-tools
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - John Lyon-Smith
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.10'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.10'
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.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: code-tools
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 5.0.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 5.0.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: methadone
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 1.9.2
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 1.9.2
69
+ description: |
70
+ Generate IPA files with correct Swift and symbol files for uploading to iTunesConnect.
71
+ Resign IPA files with correct certificate and provisioning profiles for distribution. Upload IPA files to iTunesConnect.
72
+ These tools are based the CaveJohnson toolset.
73
+ email:
74
+ - john@jamoki.com
75
+ executables:
76
+ - app-tools
77
+ - xcarchive2ipa
78
+ extensions: []
79
+ extra_rdoc_files: []
80
+ files:
81
+ - lib/app_tools/version.rb
82
+ - bin/app-tools
83
+ - bin/xcarchive2ipa
84
+ homepage: http://github.com/jlyonsmith/app-tools
85
+ licenses:
86
+ - MIT
87
+ metadata: {}
88
+ post_install_message:
89
+ rdoc_options: []
90
+ require_paths:
91
+ - lib
92
+ required_ruby_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.0'
97
+ required_rubygems_version: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ requirements: []
103
+ rubyforge_project:
104
+ rubygems_version: 2.0.14
105
+ signing_key:
106
+ specification_version: 4
107
+ summary: Tools for creating iPhone apps
108
+ test_files: []