app-tools 1.0.0

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: 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: []