[轉]:xmake插件使用之宏腳本記錄

xmake 提供了一些內置的比較實用的插件,其中宏腳本插件是最具備表明性和實用性的,也是xmake比較推薦的一款插件,那它有哪些使用功能呢?linux

咱們先來看下:xmake macro --helpandroid

Usage: xmake macro|m [options] [name] [arguments]

Run the given macro.

Options: 
        --backtrace                        Print backtrace information for debugging.
        --version                          Print the version number and exit.
    -h, --help                             Print this help message and exit.

    -F FILE, --file=FILE                   Read a given xmake.lua file.
    -P PROJECT, --project=PROJECT          Change to the given project directory.
                                           Search priority:
                                               1. The Given Command Argument
                                               2. The Envirnoment Variable: XMAKE_PROJECT_DIR
                                               3. The Current Directory

    -v, --verbose                          Print lots of verbose information.
    -b, --begin                            Start to record macro.
                                           .e.g
                                           Record macro with name: test
                                               xmake macro --begin
                                               xmake config --plat=macosx
                                               xmake clean
                                               xmake -r
                                               xmake package
                                               xmake macro --end test
    -e, --end                              Stop to record macro.

        --show                             Show the content of the given macro.
    -l, --list                             List all macros.
    -d, --delete                           Delete the given macro.
    -c, --clear                            Clear the all macros.

        --import=IMPORT                    Import the given macro file or directory.
                                           .e.g
                                               xmake macro --import=/xxx/macro.lua test
                                               xmake macro --import=/xxx/macrodir
        --export=EXPORT                    Export the given macro to file or directory.
                                           .e.g
                                               xmake macro --export=/xxx/macro.lua test
                                               xmake macro --export=/xxx/macrodir

    name                                   Set the macro name. (default: .)
                                           .e.g
                                              Run the given macro:     xmake macro test
                                              Run the anonymous macro: xmake macro .
    arguments ...                          Set the macro arguments.

看幫助菜單描述,它提供了一些功能:git

  1. 手動記錄和回放多條執行過的xmake命令github

  2. 支持快速的匿名宏建立和回放macos

  3. 支持命名宏的長久記錄和重用api

  4. 支持宏腳本的批量導入和導出bash

  5. 支持宏腳本的刪除、顯示等管理功能架構

  6. 支持自定義高級宏腳本,以及參數配置iphone

看功能仍是蠻多的,那這個宏腳本主要用於哪些場景呢,好比:this

咱們須要編譯打包各個平臺的全部架構的庫,若是按照每次:

xmake f -p android --ndk=/xxx/ndk -a armv7-a
xmake p
xmake f -p mingw --sdk=/mingwsdk
xmake p
xmake f -p linux --sdk=/toolsdk --toolchains=/xxxx/bin
xmake p
xmake f -p iphoneos -a armv7
xmake p
xmake f -p iphoneos -a arm64
xmake p
xmake f -p iphoneos -a armv7s
xmake p
xmake f -p iphoneos -a i386
xmake p
xmake f -p iphoneos -a x86_64
xmake p

那仍是至關累人的,並且這些命令有可能須要重複執行,每次都這麼敲一遍多累啊,若是像交叉編譯這種,配置參數更多更復雜的狀況,那麼會更累

這個時候就須要宏腳本出場了,並且這些宏記錄下來後,你能夠導出它們,提供給其餘人使用,而不須要每次叫他們如何去配置,如何去編譯打包了

閒話少說,咱們先來看下如何記錄一個簡單宏腳本。。

# 開始記錄宏
xmake macro --begin

# 執行一些xmake命令
xmake f -p android --ndk=/xxx/ndk -a armv7-a
xmake p
xmake f -p mingw --sdk=/mingwsdk
xmake p
xmake f -p linux --sdk=/toolsdk --toolchains=/xxxx/bin
xmake p
xmake f -p iphoneos -a armv7
xmake p
xmake f -p iphoneos -a arm64
xmake p
xmake f -p iphoneos -a armv7s
xmake p
xmake f -p iphoneos -a i386
xmake p
xmake f -p iphoneos -a x86_64
xmake p

# 結束宏記錄,這裏不設置宏名字,因此記錄的是一個匿名宏
xmake macro --end

好了,接下來咱們就開始回放執行這個宏了。。

# 以前最近記錄的一次匿名宏
xmake macro .

匿名宏的好處就是快速記錄,快速回放,若是須要長久保存,就須要給宏去個名字,也很簡單:

-- 結束記錄,而且命名爲test宏
xmake macro --end test

-- 回放這個test宏
xmake macro test

宏的管理:刪除、導入、導出這些比較簡單,能夠敲:xmake macro --help 自行看下

咱們來看下宏腳本記錄下來的內容:xmake macro --show test

function main()

    os.exec("xmake f -p android --ndk=/xxx/ndk -a armv7-a")
    os.exec("xmake p")
    os.exec("xmake f -p mingw --sdk=/mingwsdk")
    os.exec("xmake p")
    os.exec("xmake f -p linux --sdk=/toolsdk --toolchains=/xxxx/bin")
    os.exec("xmake p")
    os.exec("xmake f -p iphoneos -a armv7")
    os.exec("xmake p")
    os.exec("xmake f -p iphoneos -a arm64")
    os.exec("xmake p")
    os.exec("xmake f -p iphoneos -a armv7s")
    os.exec("xmake p")
    os.exec("xmake f -p iphoneos -a i386")
    os.exec("xmake p")
    os.exec("xmake f -p iphoneos -a x86_64")
    os.exec("xmake p")  
end

其實就是個lua的腳本,裏面你可使用一切插件開發中使用的類庫和內建api,你能夠經過import導入他們來使用,並編寫一些高級的宏腳本。。

更加高級的宏腳本寫法能夠參考:插件使用之批量打包


原文出處:http://tboox.org/cn/2016/06/09/plugin-macro/

相關文章
相關標籤/搜索