2017-06-22 3 views
0

私はいくつかのツールでいくつかのコードを生成しようとしています。だから、私はスクリプトを実行するディレクトリに "go generate"しますか?

package main   

//go:generate awk -v OFILE=names.go -f gen_table.awk $HOME/prj/header.h  
//go:generate gofmt -w names.go    
//go:generate ./gen_index_html.sh    

としてファイルdata.goを書く生成names.goは、私が正しい形式を強制するために、第2行を追加して、自動的にフォーマットされ、そうではないだろうしました。私はそれが後で実行されると仮定します。 これらのコマンドを実行する前に、このディレクトリにジャンプしますか?スクリプトgen_index_html.shは現在のディレクトリで作業を受け付けるためです。

the documentationパー
+0

上記の質問のうち、*このディレクトリ*はどのディレクトリですか?それは現在のディレクトリ、つまり 'go generate'を実行するディレクトリにどのように関係していますか? – putu

答えて

1

ジェネレータは、パッケージのソースディレクトリで実行されます。

したがって、generateで実行されるコマンドは、generateディレクティブを含むファイルと同じディレクトリで実行されます。

1つのファイル内に複数のgenerateディレクティブがソースコード順に1つずつ実行されます。

関連する問題