<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          golicenseGo 二進制程序許可證掃描程序

          聯(lián)合創(chuàng)作 · 2023-10-02 02:31

          golicense 是一個 Go 二進制程序的依賴項和許可證掃描工具,從已編譯的 Go 二進制文件中掃描和分析 OSS 依賴項和許可證。golicense 僅適用于使用 Go 模塊編譯的 Go 二進制文件,它可以輸出所有依賴項、依賴項的版本和它們各自的許可證(如果知道的話)。

          golicense 可以快速且準(zhǔn)確地輸出依賴項列表,因為它使用來自 Go 編譯器的元數(shù)據(jù),來確定嵌入在已編譯 Go 二進制文件中的準(zhǔn)確的依賴項集。注意:這不包括最終二進制文件中未使用的依賴項。例如,如果一個庫依賴于函數(shù)“F”中的“foo”,但從未調(diào)用過“F”,那么依賴項“foo”將不會出現(xiàn)在最終的二進制文件中。

          警告:二進制文件本身必須被信任且未被篡改,才能提供準(zhǔn)確的結(jié)果。修改已編譯二進制文件的依賴信息很簡單。這是與基于源的依賴分析相同的硬幣的另一面,其中源不能被篡改。

          特征

          • 列出依賴項及其關(guān)聯(lián)的許可證
          • 針對允許/拒絕列表的交叉引用依賴許可證
          • 以終端和 Excel (XLSX) 格式輸出報告
          • 如果檢測不正確,請手動指定特定依賴項的覆蓋。

          例子

          下面的示例golicense從最近的構(gòu)建中運行。

          golicense 示例

          安裝

          要安裝,請從版本頁面golicense下載適合您平臺的版本。

          您還可以使用 Go 1.11 或更高版本使用標(biāo)準(zhǔn)從源代碼編譯 go build。請確保啟用 Go 模塊(GOPATH 未設(shè)置或 GO111MODULE設(shè)置為“on”)。

          用法

          golicense與一個或兩個必需的參數(shù)一起使用。在單參數(shù)形式中,列出了依賴項及其許可證。在兩個參數(shù)的形式中,可以給出一個配置文件來指定一個允許/拒絕許可證列表等等。

          $ golicense [flags] [BINARY] $ golicense [flags] [CONFIG] [BINARY] 

          您還可以傳遞多個二進制文件(但前提是您提供了 CONFIG)。

          配置文件

          配置文件可以為報告指定允許/拒絕許可證列表、特定依賴項的許可證覆蓋等。配置文件格式為HCL或 JSON。

          例子:

          allow = ["MIT", "Apache-2.0"] deny = ["GNU General Public License v2.0"]
          { "allow": ["MIT", "Apache-2.0"], "deny": ["GNU General Public License v2.0"] }

          支持的配置:

          • allowarray<string>) - 允許許可證的名稱或 SPDX ID 列表。
          • denyarray<string>) - 被拒絕許可證的名稱或 SPDX ID 列表。
          • overridemap<string, string>) - Go 導(dǎo)入標(biāo)識符的映射,以通過 SPDX ID 轉(zhuǎn)換為特定許可證。這可用于設(shè)置golicense無法檢測的進口許可證,以便報告通過。
          • translatemap<string, string>) - Go 導(dǎo)入標(biāo)識符的映射以轉(zhuǎn)換為備用導(dǎo)入標(biāo)識符。示例:“gopkg.in/foo/bar.v2”到“github.com/foo/bar”。如果映射鍵開始和結(jié)束,那么它被視為正則表達(dá)式。在這種情況下,地圖值可以使用\1\2等來引用捕獲組。

          Excel (XLSX) 報告輸出

          如果-out-xlsx指定了標(biāo)志,則生成 Excel 報告并將其寫入指定路徑以及終端輸出。

          $ golicense -out-xlsx=report.xlsx ./my-program 

          Excel 報告包含依賴項列表、它們的版本、檢測到的許可證以及是否允許許可證。依賴項按字母順序列出。如果一切正常,依賴項的行將具有綠色背景,如果許可證未知,則為黃色背景,或者紅色背景是許可證被拒絕。示例屏幕截圖如下所示:

          Excel 報告

          瀏覽 17
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产成人自拍在线 | 欧美日韩高清一区二区三区 | a及亚洲无吗 | 影音先锋成人av电影 | 学生姝毛片 |