Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 17993] ファイルの概要

このコミットは、Goのソースからのインストール手順を説明するドキュメント doc/install-source.html に対する変更です。具体的には、all.bash(またはall.bat)の代わりにmake.bash(またはmake.bat)を使用することで、テストスイートの実行をスキップできることを追記しています。

コミット

commit c184940d3fb1090eba5c3747a21cfa50771e12fd
Author: Shenghou Ma <minux.ma@gmail.com>
Date:   Sun Dec 15 21:03:12 2013 -0500

    doc/install-source.html: mention make.bash to skip tests
    
    R=golang-dev, adg
    CC=golang-dev
    https://golang.org/cl/42590043

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/c184940d3fb1090eba5c3747a21cfa50771e12fd

元コミット内容

doc/install-source.html: mention make.bash to skip tests

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/42590043

変更の背景

GoのソースコードからGoをビルドする際、公式の推奨手順ではall.bash(Windowsの場合はall.bat)スクリプトを実行します。このスクリプトは、Goのビルドだけでなく、その後に広範なテストスイートを実行する設計になっています。テストスイートはGoの安定性と正確性を保証するために非常に重要ですが、その実行にはかなりの時間がかかる場合があります。

開発者やユーザーがGoの新しいバージョンを迅速にビルドして試したい場合や、テストの実行が不要な特定の環境(例えば、CI/CDパイプラインで別途テストが実行される場合や、単にビルドが成功するかどうかを確認したいだけの場合)では、テストの実行がボトルネックとなることがありました。

このコミットは、このようなシナリオに対応するため、テストをスキップしてGoをビルドする方法を公式ドキュメントに明記することを目的としています。これにより、ユーザーは自身のニーズに合わせてビルドプロセスを最適化できるようになります。

前提知識の解説

  • Goのビルドシステム: Goは、自身のコンパイラやツールチェインをGo自身で記述している(セルフホスティング)ため、ソースコードからビルドする際には特定のスクリプトを使用します。主要なビルドスクリプトとしてall.bash(Unix系)とall.bat(Windows)があります。
  • all.bash / all.bat: これらのスクリプトは、Goのソースコードをコンパイルし、その後にGoの標準ライブラリやツールチェインの広範なテストスイートを実行します。これは、ビルドされたGo環境が正しく機能することを確認するための重要なステップです。
  • make.bash / make.bat: これらのスクリプトは、all.bash / all.bat とは異なり、Goのソースコードのコンパイルとインストールのみを行い、テストスイートの実行はスキップします。これは、テストが不要な場合や、ビルド時間を短縮したい場合に有用です。
  • doc/install-source.html: これはGoの公式ドキュメントの一部であり、GoのソースコードからGoをインストールする手順を詳細に説明しています。このドキュメントは、Goのビルドプロセスを理解し、実行するための主要な情報源です。
  • コミットハッシュ (Commit Hash): Gitにおける各コミットを一意に識別するためのSHA-1ハッシュ値です。このコミットのハッシュは c184940d3fb1090eba5c3747a21cfa50771e12fd です。
  • Gerrit Change-ID (CL): Goプロジェクトでは、コードレビューシステムとしてGerritを使用しています。https://golang.org/cl/42590043 は、この変更に対応するGerritのチェンジリスト(Change List)のURLです。

技術的詳細

この変更は、Goのビルドプロセス自体に影響を与えるものではなく、そのビルドプロセスに関するドキュメントの改善です。具体的には、doc/install-source.html ファイル内のGoのビルドに関するセクションに、make.bash(またはmake.bat)を使用することでテストをスキップできるという情報が追加されました。

変更前は、ドキュメントは主にall.bashの使用に焦点を当てており、テストをスキップするオプションについては明示されていませんでした。この追加により、ユーザーはビルドの目的や環境に応じて、より適切なスクリプトを選択できるようになります。

この変更は、HTMLドキュメントに単純なテキストを追加する形で行われています。既存の段落の後に新しい<p>タグが追加され、all.bashmake.bashの違い、特にテスト実行の有無について説明されています。

コアとなるコードの変更箇所

変更は doc/install-source.html ファイルのみです。

--- a/doc/install-source.html
+++ b/doc/install-source.html
@@ -176,6 +176,10 @@ architecture, and root directory used during the install.
 <p>
 For more information about ways to control the build, see the discussion of
 <a href="#environment">environment variables</a> below.
+<code>all.bash</code> (or <code>all.bat</code>) runs important tests for Go,
+which can take more time than simply building Go. If you do not want to run
+the test suite use <code>make.bash</code> (or <code>make.bat</code>)
+instead.
 </p>
 </div>
 

コアとなるコードの解説

上記のdiffを見ると、doc/install-source.html の176行目以降に4行が追加されていることがわかります。

追加されたHTMLスニペットは以下の通りです。

+<code>all.bash</code> (or <code>all.bat</code>) runs important tests for Go,
+which can take more time than simply building Go. If you do not want to run
+the test suite use <code>make.bash</code> (or <code>make.bat</code>)
+instead.

このテキストは、既存の段落の直後に挿入されています。

  • <code>all.bash</code> (or <code>all.bat</code>) runs important tests for Go, which can take more time than simply building Go.
    • これは、all.bash(またはall.bat)がGoの重要なテストを実行し、それがGoのビルドよりも時間がかかる場合があることを説明しています。これにより、ユーザーはall.bashの実行に時間がかかる理由を理解できます。
  • If you do not want to run the test suite use <code>make.bash</code> (or <code>make.bat</code>) instead.
    • これは、テストスイートを実行したくない場合に、代わりにmake.bash(またはmake.bat)を使用することを明確に指示しています。これにより、ユーザーはテストをスキップしてGoをビルドする具体的な方法を知ることができます。

この変更は、ドキュメントの明確性とユーザビリティを向上させるための、シンプルかつ効果的な改善です。

関連リンク

  • Go言語公式サイト: https://go.dev/
  • Goのソースからのインストール手順(変更が適用された後のドキュメントの該当箇所): https://go.dev/doc/install/source (このコミットがマージされた後のバージョン)

参考にした情報源リンク