omt-cli 1.6.3 → 1.6.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +8 -0
  3. data/.gitignore +24 -0
  4. data/.travis.yml +31 -0
  5. data/CHANGELOG +188 -0
  6. data/Gemfile +11 -0
  7. data/LICENSE.txt +22 -0
  8. data/README.md +35 -0
  9. data/Rakefile +10 -0
  10. data/bin/console +11 -0
  11. data/bin/fir +14 -0
  12. data/bin/setup +7 -0
  13. data/doc/build_apk.md +42 -0
  14. data/doc/build_ipa.md +66 -0
  15. data/doc/help.md +34 -0
  16. data/doc/info.md +44 -0
  17. data/doc/install.md +65 -0
  18. data/doc/login.md +19 -0
  19. data/doc/mapping.md +22 -0
  20. data/doc/publish.md +35 -0
  21. data/doc/upgrade.md +7 -0
  22. data/lib/fir.rb +28 -0
  23. data/lib/fir/api.yml +13 -0
  24. data/lib/fir/api.yml.bak +13 -0
  25. data/lib/fir/cli.rb +195 -0
  26. data/lib/fir/patches.rb +10 -0
  27. data/lib/fir/patches/blank.rb +131 -0
  28. data/lib/fir/patches/concern.rb +146 -0
  29. data/lib/fir/patches/default_headers.rb +9 -0
  30. data/lib/fir/patches/hash.rb +79 -0
  31. data/lib/fir/patches/instance_variables.rb +30 -0
  32. data/lib/fir/patches/native_patch.rb +28 -0
  33. data/lib/fir/patches/os_patch.rb +28 -0
  34. data/lib/fir/patches/try.rb +102 -0
  35. data/lib/fir/util.rb +87 -0
  36. data/lib/fir/util/build_apk.rb +76 -0
  37. data/lib/fir/util/build_common.rb +93 -0
  38. data/lib/fir/util/build_ipa.rb +240 -0
  39. data/lib/fir/util/config.rb +42 -0
  40. data/lib/fir/util/http.rb +30 -0
  41. data/lib/fir/util/info.rb +39 -0
  42. data/lib/fir/util/login.rb +18 -0
  43. data/lib/fir/util/mapping.rb +98 -0
  44. data/lib/fir/util/me.rb +19 -0
  45. data/lib/fir/util/parser/apk.rb +43 -0
  46. data/lib/fir/util/parser/bin/pngcrush +0 -0
  47. data/lib/fir/util/parser/common.rb +24 -0
  48. data/lib/fir/util/parser/ipa.rb +188 -0
  49. data/lib/fir/util/parser/pngcrush.rb +23 -0
  50. data/lib/fir/util/publish.rb +106 -0
  51. data/lib/fir/util/publish.rb.bak +185 -0
  52. data/lib/fir/version.rb +5 -0
  53. data/lib/fir/xcode_wrapper.sh +29 -0
  54. data/lib/omt-cli.rb +3 -0
  55. data/lib/omt_cli.rb +3 -0
  56. data/omt-cli.gemspec +48 -0
  57. data/test/build_ipa_test.rb +17 -0
  58. data/test/cases/test_apk.apk +0 -0
  59. data/test/cases/test_apk_txt +1 -0
  60. data/test/cases/test_ipa.ipa +0 -0
  61. data/test/cases/test_ipa_dsym +0 -0
  62. data/test/info_test.rb +36 -0
  63. data/test/login_test.rb +12 -0
  64. data/test/mapping_test.rb +18 -0
  65. data/test/me_test.rb +17 -0
  66. data/test/publish_test.rb +44 -0
  67. data/test/test_helper.rb +98 -0
  68. metadata +84 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5fa2c94f821fc185075c0e9bbee99fef2609e16e
4
- data.tar.gz: a5ec1ef2dc6d40737dc55b6cf50f3d1a4b3b9077
3
+ metadata.gz: f99eee99c61258b41e5f1619268be16fa3a7ca03
4
+ data.tar.gz: 594bc4ebe6a3729f91be1c4e0e47bc6066bf167d
5
5
  SHA512:
6
- metadata.gz: 3519cfe47c31c5ae255aad523ec5fa78ecde31f3895fe5a8b8360095e8d8d1a106f657771d26fe1d91494f2605cd647be0e0c19aeeef5bc4b3db5375656eb1ee
7
- data.tar.gz: 29bec5c5608eab555b8b8db1f46d5e16011878a02f10ffd2b8254b238c55953106b9be3e33749b20041f6401f3e1b300f30a905988797d0e7fc64cc4f8d59793
6
+ metadata.gz: 5a2a4631c55c63932d5315364532f4e9a4203913e77a9b2d2eba2814a47b8f37d20349597d8a88bbfb87312e96912e19787a6efee24498a489bdfb225ed48144
7
+ data.tar.gz: 11cb0a6f4103eff74013ffc0be7a9f79b99c12424718f08b4430ee7c69608839b0718e199cfff540fce6d94e9040c105bf2739161abe6ac105dc358069311a1a
@@ -0,0 +1,8 @@
1
+ # Save as .codeclimate.yml (note leading .) in project root directory
2
+ languages:
3
+ Ruby: true
4
+ JavaScript: true
5
+ PHP: true
6
+ Python: true
7
+ # exclude_paths:
8
+ # - "foo/bar.rb"
@@ -0,0 +1,24 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+ /fir-cli_tmp/
10
+ /test/projects
11
+ *.bundle
12
+ *.so
13
+ *.o
14
+ *.a
15
+ mkmf.log
16
+ .tags*
17
+ *.gem
18
+ Gemfile.lock
19
+ .DS_Store
20
+ /test/cases/*.png
21
+ /build_apk_example_*
22
+ /build_ipa_example_*
23
+
24
+ .idea/
@@ -0,0 +1,31 @@
1
+ rvm:
2
+ - 1.9.2
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - 2.1
6
+ - 2.2
7
+ - 2.3
8
+ - ruby-head
9
+ - rbx-2
10
+ - jruby
11
+ - jruby-head
12
+ matrix:
13
+ allow_failures:
14
+ - rvm: ruby-head
15
+ - rvm: jruby
16
+ - rvm: jruby-head
17
+ - rvm: rbx-2
18
+ env:
19
+ matrix:
20
+ - USE_OFFICIAL_GEM_SOURCE=true
21
+ global:
22
+ secure: XiWKHPcQNB/mGv8Q5VuBqETS1bmYZ3t5xJkR/JFHrhWi30O+QWulMM5YjzkVawPjpUS/rtefDEASc4bN+a1iRVi6kf8fxjeKNFAzNc/hEKiPgANELf1JJgGAcz4oygzrH94Vqj90fuf6DoUh9r+IO+Z0PF39GL9GCnUjJeg+zao=
23
+ notifications:
24
+ recipients:
25
+ - hxy@fir.im
26
+ branches:
27
+ only:
28
+ - master
29
+ addons:
30
+ code_climate:
31
+ repo_token: 7158bd5d0218441524b8663790dd28edba8a870387ed000a1b56968e3315af2a
@@ -0,0 +1,188 @@
1
+ ## 更新记录
2
+
3
+ ### fir-cli 1.6.2.1
4
+ - 修正解压 android apk warning 的问题
5
+
6
+ ### fir-cli 1.6.2
7
+ - 修正检查 xcodeproj 的问题
8
+
9
+ ### fir-cli 1.6.1
10
+ - 修正 exportOptionsPlist 路径问题
11
+
12
+ ### fir-cli 1.6.0
13
+ - 支持 XCode 8.3 打包
14
+ * 新增参数 -E,指定 exportOptionsPlist plist 文件中的方法, 默认为 ad-hoc
15
+ * 新增参数 -O, 用户可自定义 -exportOptionsPlist 中的 plist 路径
16
+
17
+ ### fir-cli 1.5.0
18
+ - 取消 --open 默认值
19
+
20
+ ### fir-cli 1.4.9
21
+ - 修正 --password 与 --open 冲突的问题
22
+
23
+ ### fir-cli 1.4.8
24
+ - 修正 build 后直接 -p 发布的权限错误
25
+
26
+ ### fir-cli 1.4.7
27
+ - 增加 build_ipa 中的 destination 参数
28
+
29
+ ### fir-cli 1.4.6
30
+ - 上传增加设置密码及公开访问权限的参数, [Issue #62](https://github.com/FIRHQ/fir-cli/issues/62)
31
+ - 打包增加指定 `exportProvisioningProfile` 参数, [Issue #59](https://github.com/FIRHQ/fir-cli/issues/59)
32
+ - 增加 http retry 机制, [Issue #65](https://github.com/FIRHQ/fir-cli/issues/65)
33
+
34
+ ### fir-cli 1.4.5
35
+ - 增加 Android flavor 打包(感谢 [msdx](https://github.com/msdx) 的热心帮助)
36
+ - `$ fir ba <project dir> -f <flavor>`
37
+
38
+ ### fir-cli 1.4.4
39
+ - Publish 时候增加 app 相关信息
40
+
41
+ ### fir-cli 1.4.3
42
+ - 修复 @build_cmd 中的输出显示, 使用 `$?` 获取 Process::Status
43
+
44
+ ### fir-cli 1.4.2
45
+ - 修复手动提交 zip 格式符号表文件报错的 bug
46
+
47
+ ### fir-cli 1.4.1
48
+ - 支持远程 git 项目打包编译
49
+
50
+ ### fir-cli 1.4.0
51
+ - 使用 cli 转换 icon 后不再回调后台 icon 转换器
52
+
53
+ ### fir-cli 1.3.9
54
+ - 修正 build 后生成多个 dsym 文件导致上传 bughd 失败的 bug
55
+
56
+ ### fir-cli 1.3.8
57
+ - 增加安卓打包生成路径
58
+
59
+ ### fir-cli 1.3.7
60
+ - 支持直接从文件读取 changelog
61
+
62
+ ### fir-cli 1.3.6
63
+ - 增加自定义 build 后 ipa, apk 的 name
64
+
65
+ ### fir-cli 1.3.5
66
+ - 修复转换 icon 的 bug
67
+
68
+ ### fir-cli 1.3.4
69
+ - 上传增加 distribution_name 信息
70
+
71
+ ### fir-cli 1.3.3
72
+ - 修正解析 inhouse 错误的现象
73
+
74
+ ### fir-cli 1.3.2
75
+ - 支持打包提供 app watch 的应用
76
+
77
+ ### fir-cli 1.3.1
78
+ - 暂时修复多个 target 的 build 打包 app 的 bug
79
+
80
+ ### fir-cli 1.3.0
81
+ - 去掉 build multi apps 的限制
82
+
83
+ ### fir-cli 1.2.9
84
+ - 修复指定 output_path 后, publish 默认查找第一个 app 的 bug
85
+ - 暂时不支持 build multi apps
86
+
87
+ ### fir-cli 1.2.8
88
+ - 统一 build 后, ipa 和 dSYM 文件的命名
89
+
90
+ ### fir-cli 1.2.7
91
+ - publish 时增加更多信息
92
+
93
+ ### fir-cli 1.2.6
94
+ - 增加导出二维码功能
95
+ - 使用 `fir p <app file path> -Q`
96
+ - 或者 `fir bi(ba) <project dir> -p -Q` 即可导出当前 app 的二维码图片
97
+
98
+ ### fir-cli 1.2.5
99
+ - 修正解析 ipa 时候 `NoMethodError` 异常
100
+
101
+ ### fir-cli 1.2.4
102
+ - 修正 `version` 的 bug
103
+
104
+ ### fir-cli 1.2.3
105
+ - 修正 `build_apk` 无法找到 apk 的 bug
106
+ - build 完毕后, ipa 和 apk 均以 $name-$version-Build-$build 形式命名
107
+
108
+ ### fir-cli 1.2.2
109
+ - 修正不同系统非 UTF-8 编码问题
110
+
111
+ ### fir-cli 1.2.1
112
+ - fix #12, 去掉 fir-cli_tmp 目录
113
+
114
+ ### fir-cli 1.2.0
115
+ - 支持 zip 符号表文件上传
116
+
117
+ ### fir-cli 1.1.9
118
+ - 修改显示上的一些小问题
119
+
120
+ ### fir-cli 1.1.8
121
+ - 支持 gradle 打包 apk 文件并自动上传至 fir.im, `fir build_apk(alias ba)`
122
+ - `fir ba <project dir> [-o <apk output dir> -c <changelog> -p -T <your api token>]`
123
+
124
+ ### fir-cli 1.1.7
125
+ - 增加符号表上传指令, `fir mapping(alias m)`
126
+ - 有以下三种方式上传符号表(目前已经支持 dSYM 和 txt 两种格式的符号表文件上传)
127
+ - 1. 指定 version 和 build 上传: `fir m <mapping file path> -P <bughd project id> -v <app version> -b <app build> -T <your api token>`
128
+ - 2. 在 publish 的时候自动上传: `fir p <app file path> -m <mapping file path> -P <bughd project id> -T <your api token>`
129
+ - 3. 在 build_ipa 的时候自动上传: `fir b <project dir> -P <bughd project id> -M -p -T <your api token>`
130
+
131
+ ### fir-cli 1.1.6
132
+ - 不再转换 icon
133
+
134
+ ### fir-cli 1.1.5
135
+ - 增加团队成员直接上传 app
136
+
137
+ ### fir-cli 1.1.4
138
+ - 增加 `fir me` 指令查看当前登录用户
139
+
140
+ ### fir-cli 1.1.3
141
+ - 增加 Travis.ci
142
+
143
+ ### fir-cli 1.1.1
144
+ - android app 不转换 icon
145
+
146
+ ### fir-cli 1.1.0
147
+ - 完全兼容新版 API
148
+ - 请使用新版 API Token
149
+
150
+ ### fir-cli 1.0
151
+ - 重大重构
152
+ - 优化启动及运行速度
153
+ - 增加各指令的 alias
154
+ - 增加全局参数, -T, -L, -V, -q, -h, 分别为 token, log, verbose, quite, help 参数
155
+ - 增加输出 log
156
+ - 修正部分系统安装失败问题
157
+ - 修正部分服务器安装出现编码失败问题
158
+ - 修正 ipa 路径带有空格解析失败的 bug
159
+ - 重写 ipa 解析器, 去除 `miniz.c`, 增加 pngcrash
160
+ - 上传 ipa 时, 优先取 `display_name` 作为应用名称
161
+ - build_ipa 增加默认 build 路径, `fir b` 则默认 build 当前路径
162
+ - build_ipa 增加输出 dSYM 符号表文件
163
+ - build_ipa 增加输出指定 ipa 名称
164
+ - build_ipa 增加输出 xcodebuild 的信息
165
+ - 去掉输出信息颜色, 方便查看 log
166
+ - 简化 --verbose 参数, 简化为 `--verbose --no-verbose`, 默认输出为 INFO
167
+ - https://github.com/FIRHQ/fir-cli
168
+
169
+ ### fir-cli 0.2.3
170
+ - 去除重签名功能, iOS 8.1.3 之后不支持重签名
171
+
172
+ ### fir-cli 0.2.2
173
+ - 修复 WARNING: The rest_client gem is deprecated
174
+
175
+ ### fir-cli 0.2.1
176
+ - 修正解析带空格的文件出租哦问题
177
+
178
+ ### fir-cli 0.2.0
179
+ - 新指令 `build_ipa`
180
+
181
+ ### fir-cli 0.1.8
182
+ - 支持 ruby 1.9.x
183
+ - 规范输出参数选项,支持无颜色信息输出
184
+ -`--verbose=v|vv|vvv`:设置输出级别
185
+ -`--quiet` 与 `--no-quiet`:设置是否不输出辅助信息
186
+ -`--color` 与 `--no-color`:设置输出是否携带颜色信息
187
+ - 修复 ipa 应用图标不清晰问题
188
+ - 增加切换配置文件功能:使用此功能可以在多个用户中切换使用
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ # coding: utf-8
2
+ if ENV['USE_OFFICIAL_GEM_SOURCE']
3
+ source 'https://rubygems.org'
4
+ else
5
+ source 'https://ruby.taobao.org'
6
+ end
7
+
8
+ # Specify your gem's dependencies in fir.gemspec
9
+ gemspec
10
+
11
+ gem 'codeclimate-test-reporter', group: :test, require: nil
@@ -0,0 +1,22 @@
1
+ Copyright (C) 2015 Fly It Remotely LLC. <http://fir.im/>
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,35 @@
1
+ ✈ fir.im-cli
2
+ ----
3
+
4
+ ![Build Status Images](https://travis-ci.org/FIRHQ/fir-cli.svg)
5
+ [![Code Climate](https://codeclimate.com/github/FIRHQ/fir-cli/badges/gpa.svg)](https://codeclimate.com/github/FIRHQ/fir-cli)
6
+ [![Test Coverage](https://codeclimate.com/github/FIRHQ/fir-cli/badges/coverage.svg)](https://codeclimate.com/github/FIRHQ/fir-cli/coverage)
7
+ [![Gem Version](https://badge.fury.io/rb/fir-cli.svg)](http://badge.fury.io/rb/fir-cli)
8
+ [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/FIRHQ/fir-cli?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
9
+ [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/FIRHQ/fir-cli/master/LICENSE.txt)
10
+
11
+ fir.im-cli 可以通过指令查看, 上传, 编译 iOS/Android 应用.
12
+
13
+ ![fir-cli](http://7rf35s.com1.z0.glb.clouddn.com/fir-cli-new.gif)
14
+
15
+ ## 文档
16
+
17
+ - [安装及常见安装问题](https://github.com/FIRHQ/fir-cli/blob/master/doc/install.md)
18
+ - [fir help 相关指令帮助](https://github.com/FIRHQ/fir-cli/blob/master/doc/help.md)
19
+ - [fir info 查看 ipa/apk 信息](https://github.com/FIRHQ/fir-cli/blob/master/doc/info.md)
20
+ - [fir login & fir me 登录相关](https://github.com/FIRHQ/fir-cli/blob/master/doc/login.md)
21
+ - [fir publish 发布应用到 fir.im](https://github.com/FIRHQ/fir-cli/blob/master/doc/publish.md)
22
+ - [fir build_ipa 编译打包 ipa 文件](https://github.com/FIRHQ/fir-cli/blob/master/doc/build_ipa.md)
23
+ - [fir build_apk 编译打包 apk 文件](https://github.com/FIRHQ/fir-cli/blob/master/doc/build_apk.md)
24
+ - [fir mapping 上传符号表至 BugHD.com](https://github.com/FIRHQ/fir-cli/blob/master/doc/mapping.md)
25
+ - [fir upgrade 升级相关](https://github.com/FIRHQ/fir-cli/blob/master/doc/upgrade.md)
26
+
27
+ ## 提交反馈
28
+
29
+ 直接使用 Github 的 [Issue](https://github.com/FIRHQ/fir-cli/issues) 即可.
30
+
31
+ ## 捐赠支持
32
+
33
+ 如果你觉得 fir-cli 对你有所帮助, 欢迎微信打赏支持作者:smile:
34
+
35
+ ![](http://7rf35s.com1.z0.glb.clouddn.com/coffee.png)
@@ -0,0 +1,10 @@
1
+ require 'bundler/gem_tasks'
2
+ require File.expand_path('../test/test_helper', __FILE__)
3
+
4
+ desc 'Run the tests.'
5
+ task :test do
6
+ $LOAD_PATH << 'lib' << 'test'
7
+ Dir['test/*_test.rb'].each { |f| require f[5..-4] }
8
+ end
9
+
10
+ task default: :test
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ require 'bundler/setup'
5
+ require 'fir'
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ require 'pry'
11
+ Pry.start
data/bin/fir ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ require_relative '../lib/fir'
5
+
6
+ begin
7
+ OS.set_locale
8
+ FIR::CLI.start ARGV
9
+ rescue => e
10
+ raise e if $DEBUG
11
+ STDERR.puts e.message
12
+ STDERR.puts e.backtrace.join("\n")
13
+ exit 1
14
+ end
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,42 @@
1
+ #### fir build_apk
2
+
3
+ `fir build_apk` 指令用于编译用 Gradle 打包 apk, 并且支持直接从 Github/Gitlab 相关 repo 直接编译打包.
4
+
5
+ ```sh
6
+ fir build_apk --help
7
+ Usage:
8
+ fir build_apk BUILD_DIR
9
+
10
+ Options:
11
+ -B, [--branch=BRANCH] # Set branch if project is a git repo, the default is `master`
12
+ -o, [--output=OUTPUT] # APK output path, the default is: BUILD_DIR/build/outputs/apk
13
+ -p, [--publish], [--no-publish] # true/false if publish to fir.im
14
+ -f, [--flavor=FLAVOR] # Set flavor if have productFlavors
15
+ -s, [--short=SHORT] # Set custom short link if publish to fir.im
16
+ -n, [--name=NAME] # Set custom apk name when builded
17
+ -c, [--changelog=CHANGELOG] # Set changelog if publish to fir.im, support string/file
18
+ -Q, [--qrcode], [--no-qrcode] # Generate qrcode
19
+ [--open], [--no-open] # true/false if open for everyone, the default is: true
20
+ # Default: true
21
+ [--password=PASSWORD] # Set password for app
22
+ -T, [--token=TOKEN] # User's API Token at fir.im
23
+ -L, [--logfile=LOGFILE] # Path to writable logfile
24
+ -V, [--verbose], [--no-verbose] # Show verbose
25
+ # Default: true
26
+ -q, [--quiet], [--no-quiet] # Silence commands
27
+ -h, [--help], [--no-help] # Show this help message and quit
28
+ ```
29
+
30
+ ```sh
31
+ # 简单打包
32
+ $ fir build_apk path/to/project
33
+
34
+ # 打包并上传
35
+ $ fir ba <project dir> [-o <apk output dir> -c <changelog> -p -Q -T <your api token>]
36
+
37
+ # 打包指定的 flavor
38
+ $ fir ba <project dir> [-f <flavor> -o <apk output dir> -c <changelog> -p -Q -T <your api token>]
39
+
40
+ # 打包指定的 git branch
41
+ $ fir ba <git ssh url> [-B develop -o <apk output dir> -c <changelog> -p -Q -T <your api token>]
42
+ ```
@@ -0,0 +1,66 @@
1
+ ### fir build_ipa
2
+
3
+ `fir build_ipa` 对 `xcodebuild` 原生指令进行了封装, 将常用的参数名简化, 支持全部的自带参数及设置, 同时输出符号表 dSYM 文件, 并且支持直接从 Github/Gitlab 相关 repo 直接编译打包.
4
+
5
+ ```sh
6
+ $ fir build_ipa --help
7
+ fir build_ipa --help
8
+ Usage:
9
+ fir build_ipa BUILD_DIR [options] [settings]
10
+
11
+ Options:
12
+ -B, [--branch=BRANCH] # Set branch if project is a git repo, the default is `master`
13
+ -w, [--workspace], [--no-workspace] # true/false if build workspace
14
+ -S, [--scheme=SCHEME] # Set the scheme NAME if build workspace
15
+ -C, [--configuration=CONFIGURATION] # Use the build configuration NAME for building each target
16
+ -d, [--destination=DESTINATION] # Set the destinationspecifier
17
+ -t, [--target=TARGET] # Build the target specified by targetname
18
+ -E, [--export_method=METHOD] # for exportOptionsPlist method, ad-hoc as default
19
+ -O, [--optionPlistPath] # User defined exportOptionsPlist path
20
+ -f, [--profile=PROFILE] # Set the export provisioning profile
21
+ -o, [--output=OUTPUT] # IPA output path, the default is: BUILD_DIR/fir_build_ipa
22
+ -p, [--publish], [--no-publish] # true/false if publish to fir.im
23
+ -s, [--short=SHORT] # Set custom short link if publish to fir.im
24
+ -n, [--name=NAME] # Set custom ipa name when builded
25
+ -c, [--changelog=CHANGELOG] # Set changelog if publish to fir.im
26
+ -Q, [--qrcode], [--no-qrcode] # Generate qrcode
27
+ -M, [--mapping], [--no-mapping] # true/false if upload app mapping file to BugHD.com
28
+ -P, [--proj=PROJ] # Project id in BugHD.com if upload app mapping file
29
+ [--open], [--no-open] # true/false if open for everyone, the default is: true
30
+ # Default: true
31
+ [--password=PASSWORD] # Set password for app
32
+ -T, [--token=TOKEN] # User's API Token at fir.im
33
+ -L, [--logfile=LOGFILE] # Path to writable logfile
34
+ -V, [--verbose], [--no-verbose] # Show verbose
35
+ # Default: true
36
+ -q, [--quiet], [--no-quiet] # Silence commands
37
+ -h, [--help], [--no-help] # Show this help message and quit
38
+ ```
39
+
40
+ 示例:
41
+
42
+ - 编译 project, 加上 changelog, 并发布到 fir.im 上并生成二维码图片
43
+
44
+ ```
45
+ $ fir build_ipa path/to/project -o path/to/output -p -c "this is changelog" -Q -T YOUR_API_TOKEN
46
+ ```
47
+
48
+ - 编译 Github 上的 workspace
49
+
50
+ ```sh
51
+ $ fir build_ipa git@github.com:xxxx.git -o path/to/output -w -C Release -t allTargets GCC_PREPROCESSOR_DEFINITIONS="FOO=bar"
52
+ ```
53
+ 该指令在指向的目录中,找到第一个 workspace 文件, 对其进行编译. 使用 `Release` 设置,编译策略为 `allTargets`, 同时设置了预编译参数 `FOO`.
54
+
55
+ - 编译用 CocoaPods 做依赖管理的 .ipa 包
56
+
57
+ ```sh
58
+ $ fir build_ipa path/to/workspace -w -S <scheme name>
59
+ ```
60
+
61
+
62
+ **ChangeLog 1.6.0**
63
+
64
+ - 支持 XCode 8.3 打包
65
+ * 新增参数 -E,指定 exportOptionsPlist plist 文件中的方法, 默认为 ad-hoc
66
+ * 用户可自定义 -exportOptionsPlist 中的 plist 路径