omt-cli 1.6.3 → 1.6.4

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.
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 路径