GitHub - mono0926/LicensePlist: A license list generator of all your dependencie...
source link: https://github.com/mono0926/LicensePlist
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
LicensePlist
LicensePlist
is a command-line tool that automatically generates a Plist of all your dependencies, including files added manually(specified by YAML config file) or using Carthage
or CocoaPods
. All these licenses then show up in the Settings app.
Installation
Homebrew (Recommended)
$ brew install mono0926/license-plist/license-plist
Or
$ brew tap mono0926/license-plist $ brew install license-plist
CocoaPods (Also recommened)
pod 'LicensePlist'
Download the executable binary from Releases
Download from Releases, then copy to /usr/local/bin/license-plist
etc.
Or you can also download the latest binary and install it by one-liner.
$ curl -fsSL https://raw.githubusercontent.com/mono0926/LicensePlist/master/install.sh | sh
From Source
Clone the master branch of the repository, then run make install
.
$ git clone https://github.com/mono0926/LicensePlist.git $ make install
Usage
- On the directory same as
Cartfile
orPods
, simply executelicense-plist
. com.mono0926.LicensePlist.Output
directory will be generated.- Move the files in the output directory into your app's
Settings.bundle
.
Settings.bundle
├── Root.plist
├── com.mono0926.LicensePlist
│ ├── APIKit.plist
│ ├── Alamofire.plist
│ └── EditDistance.plist
├── com.mono0926.LicensePlist.plist
├── en.lproj
│ └── Root.strings
└── ja.lproj
└── Root.strings
Options
You can see options by license-plist --help
.
--cartfile-path
- Default:
Cartfile
--pods-path
- Default:
Pods
--output-path
- Default:
com.mono0926.LicensePlist.Output
- Recommended:
--output-path YOUR_PRODUCT_DIR/Settings.bundle
--github-token
- Default: None.
LicensePlist
uses GitHub API, so sometimes API limit error occures. You can avoid it by using github-token .- You can generate token here
repo
scope is needed.
--config-path
- Default:
license_plist.yml
- You can specify GitHub libraries(introduced by hand) and excluded libraries
--force
- Default: false
LicensePlist
saves latest result summary, so if there are no changes, the program interrupts.- In this case, excecution time is less than 100ms for the most case, so you can run
LicensePlist
atRun Script Phase
every time ?
- In this case, excecution time is less than 100ms for the most case, so you can run
- You can run all the way anyway, by using
--force
flag.
--add-version-numbers
- Default: false
- When the library name is
SomeLibrary
, by adding--add-version-numbers
flag, the name will be changed toSomeLibrary (X.Y.Z)
.X.Y.Z
is parsed from CocoaPods and Cartfile information, and GitHub libraries specified at Config YAML also support this flag.
--suppress-opening-directory
- Default: false
- Only when the files are created or updated, the terminal or the finder opens. By adding
--suppress-opening-directory
flag, this behavior is suppressed.
Integrate into build
Add a Run Script Phase
to Build Phases
:
if [ $CONFIGURATION = "Debug" ]; then /usr/local/bin/license-plist --output-path $PRODUCT_NAME/Settings.bundle --github-token YOUR_GITHUB_TOKEN fi
Alternatively, if you've installed LicensePlist via CocoaPods the script should look like this:
if [ $CONFIGURATION = "Debug" ]; then ${PODS_ROOT}/LicensePlist/license-plist --output-path $PRODUCT_NAME/Settings.bundle --github-token YOUR_GITHUB_TOKEN fi
Q&A
How to generate Xcode project?
Execute swift package generate-xcodeproj
or make xcode
.
Related Articles
- LicensePlist というiOSアプリ利用ライブラリのライセンス一覧生成するツールを作りました – Swift・iOSコラム – Medium
- Swift Package Manager(SwiftPM)で作ったコマンドラインツールをHomebrewに登録する方法 - Qiita
寄付(Donation)
Donations are welcome if you like LicensePlist?
- PayPal.Me
- Transfer commission will be charged (40 yen + 3.6%)
- mono is creating LicensePlist | Patreon
- Amazonギフト券- Eメールタイプ
- メールアドレス: [email protected]
- ほしい物リスト
Send Money by ウォレットアプリ Kyash
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK