github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/runtime/debug/mod.go (about) 1 // Copyright 2018 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package debug 6 7 // ReadBuildInfoは実行中のバイナリに埋め込まれたビルド情報を返します。 8 // この情報はモジュールサポートでビルドされたバイナリでのみ利用可能です。 9 func ReadBuildInfo() (info *BuildInfo, ok bool) 10 11 // BuildInfoはGoバイナリから読み取られるビルド情報を表します。 12 type BuildInfo struct { 13 14 // GoVersionはバイナリをビルドしたGoツールチェーンのバージョンです 15 // (例: "go1.19.2"). 16 GoVersion string 17 18 // Pathはバイナリのメインパッケージのパッケージパスです 19 // (例:「golang.org/x/tools/cmd/stringer」)。 20 Path string 21 22 // Mainはバイナリのmainパッケージを含むモジュールを説明します。 23 Main Module 24 25 // Depsは、このバイナリのビルドに寄与したパッケージの直接および間接の依存モジュールをすべて説明します。 26 Deps []*Module 27 28 // Settingsはバイナリのビルドに使用されるビルド設定を記述しています。 29 Settings []BuildSetting 30 } 31 32 // Moduleはビルドに含まれる単一のモジュールを記述します。 33 type Module struct { 34 Path string 35 Version string 36 Sum string 37 Replace *Module 38 } 39 40 // BuildSettingはビルドに影響を与える1つの設定を表すキーと値のペアです。 41 // 42 // 定義されたキーには以下のものがあります: 43 // 44 // - -buildmode: 使用されたビルドモードフラグ(通常は "exe") 45 // - -compiler: 使用されたコンパイラツールチェーンフラグ(通常は "gc") 46 // - CGO_ENABLED: 有効なCGO_ENABLED環境変数 47 // - CGO_CFLAGS: 有効なCGO_CFLAGS環境変数 48 // - CGO_CPPFLAGS: 有効なCGO_CPPFLAGS環境変数 49 // - CGO_CXXFLAGS: 有効なCGO_CXXFLAGS環境変数 50 // - CGO_LDFLAGS: 有効なCGO_LDFLAGS環境変数 51 // - GOARCH: アーキテクチャターゲット 52 // - GOAMD64/GOARM/GO386/etc: GOARCHのアーキテクチャ機能レベル 53 // - GOOS: オペレーティングシステムターゲット 54 // - vcs: ビルドが実行されたソースツリーのバージョン管理システム 55 // - vcs.revision: 現在のコミットまたはチェックアウトのリビジョン識別子 56 // - vcs.time: vcs.revisionに関連付けられた修正時刻(RFC3339形式) 57 // - vcs.modified: ローカルの変更があるかどうかを示すtrueまたはfalse 58 type BuildSetting struct { 59 60 // KeyとValueはビルド設定を説明します。 61 // Keyには等号、スペース、タブ、改行を含めることはできません。 62 // Valueには改行('\n')を含めることはできません。 63 Key, Value string 64 } 65 66 func (bi *BuildInfo) String() string 67 68 func ParseBuildInfo(data string) (bi *BuildInfo, err error)