% MakeReport.tex
%	Last update: 2017/03/13 F.Kanehori
\newpage
\subsection{MakeReport.bat}
\label{subsec:MakeReport}

タスクMakeReportを実行するためのスクリプト(Windows batch file)。
DailyBuildの結果(ログファイル)から、
基準とするレビジョンの実行結果との差分情報をレポートファイルとして作成する。
この情報はWikiの``開発者向け情報''のページから参照できる。
\begin{narrow}
	\small{URL:}\hspace{5pt}\URL{http://springhead.info/wiki/index.php?devel}\\
	\small{[開発版] － [今朝のビルド] － [レビジョン \CDOTS との比較]}
\end{narrow}

\medskip
\noindent
\bf{オプション引数}：
\begin{narrow}[\WID]
	\begin{tabular}{l@{\hspace{15pt}}l}
	    \tt{-c}	& \small{レポートファイルをウェブにコピーする}\\
	    \tt{-k}	& \small{作業ファイルを残す}\\
	    \tt{-t}	& \small{コピー元ディレクトリ指定}\\
			& \small{デフォルト：}\hspace{5pt}
			\verb|"D:\DailyBuild\Springhead2\test\report"|\\
	    \tt{-h}	& \small{Usageの表示}\\
	    \tt{-v}	& \small{バーバスモード(デフォルト)}\\
	    \tt{-V}	& \small{詳細バーバスモード}\\
	    \tt{-s}	& \small{サイレントモード}\\
	    \tt{-D n}	& \small{デバッグレベル}\\
	    \tt{xxxx:yyyy}
			& \small{svnレビジョン番号の組}\\
	\end{tabular}
	\begin{narrow}\begin{tabular}{ll}
	    \tt{xxxx}：	& \small{比較対象レビジョン
			  (ファイル\FILE{revision.old}の内容が優先)}\\
	    \tt{yyyy}：	& \small{レポート対象レビジョン
			  (ファイル\FILE{revision.new}の内容が優先)}\\
	\end{tabular}\end{narrow}
\end{narrow}

\bigskip
\noindent
\bf{関連ファイル}：
\begin{narrow}[\WID]
	\begin{narrow}[20pt]\begin{minipage}{.8\textwidth}
	\dirtree{%
		.1 {\hspace{-10mm}D:\YEN DailyBuild\YEN}.
		.2 Springhead2\YEN.
		.3 test\YEN.
		.4 Monitoring\YEN.
		.5 etc\YEN.
		.6 \it{revision.old}.
		.6 \it{revision.new}.
	}
	\end{minipage}\end{narrow}
	\medskip
	\small{%
		これらのファイルにはsvnのレビジョン番号を記述する。\\
		記述形式は\tt{"HEAD"}または\tt{"r[0-9]+"} (ファイルのコメントを参照)
	}
	\medskip
\end{narrow}

\medskip
\noindent
\bf{関連スクリプト}：
\begin{narrow}[\WID]
	\begin{narrow}[20pt]\begin{minipage}{.8\textwidth}
	\dirtree{%
		.1 {\hspace{-10mm}D:\YEN DailyBuild\YEN}.
		.2 Springhead2\YEN.
		.3 test\YEN.
		.4 \it{MakeReport.bat}.
		.4 Monitoring\YEN.
		.5 bin\YEN.
		.6 \it{build_monitor.bat}.
		.6 \it{base_lib.pm}.
		.6 \it{dailybuild_lib.pm}.
		.6 \it{filter.pl}.
		.6 \it{mydiff.pl}.
		.6 \it{order.pl}.
		.6 \it{exclude.awk}.
		.6 \it{field.awk}.
		.6 \it{grep.awk}.
		.6 \it{head.awk}.
		.6 \it{line.awk}.
	}
	\end{minipage}\end{narrow}
	\medskip
\end{narrow}

\medskip
\noindent
\bf{関連プログラム}：
\begin{narrow}[\WID]
	\begin{narrow}[20pt]\begin{minipage}{.8\textwidth}
	\dirtree{%
		.1 {\hspace{-10mm}D:\YEN DailyBuild\YEN}.
		.2 Springhead2\YEN.
		.3 test\YEN.
		.4 Monitoring\YEN.
		.5 bin\YEN.
		.6 \it{gawk.exe}.
		.6 \it{nkf.exe} \small{\rm{(mail機能を活かす場合に必要)}}.
	}
	\end{minipage}\end{narrow}
	\medskip
\end{narrow}

\bigskip
\noindent
\bf{処理の説明}：
\begin{narrow}[15pt]\begin{enumerate}
  \item	ローカルホスト上でコマンドを実行\\
        ディレクトリ\FILE{Monitoring}に移動して\FILE{build_monitor.bat}を実行し、
	レポートファイルを作成する。\\
        引数は、次のオプション引数のうち指定のあったもの。
	\begin{narrow}[\WID]
	\vspace{-1.5ex}
	\small{\begin{longtable}{@{\hspace{-75pt}}ll}
	    \tt{xxxx:yyyy}	& svnレビジョン番号の組\\
	    \tt{-k}		& 作業ファイルを残す\\
	    \tt{-v}		& バーバスモード(デフォルト)\\
	    \tt{-V}		& 詳細バーバスモード\\
	    \tt{-D n}		& デバッグレベル\\
	\end{longtable}}
	\vspace{-28pt}
	\end{narrow}
        詳細は``\ref{subsubsec:BuildMonitor} build_monitor.bat''を参照のこと。

  \item	コピー元/先のディレクトリの定義\\
	コピー先ディレクトリ
	\begin{narrow}
		\tt{REPBASE} \LARROW \ 
		\verb|D:\DailyBuild\Springhead2\test\report|\\
		\tt{WABBASE} \LARROW \ 
		\verb|\\haselab\HomeDirs\WWW\docroots\springhead\daily_build|
	\end{narrow}

  \item	\label{subsec:MakeReport:FileDef}
	ウェブにコピーするファイルの定義\\
	コピーするファイルのローカルでの名称とウェブ上での名称は次のとおり。
	\begin{narrow}[\WID]
	\vspace{-2ex}
	\small{\begin{longtable}{@{\hspace{25pt}}l@{\ \RARROW\ }l}
		\FILE{[日付].report}	  &
			\FILE{[WEBBASE]\YEN Test.report}\\
		\FILE{[日付].bldlog.diff} &
			\FILE{[WEBBASE]\YEN report\YEN Build.log.diff}\\
		\FILE{[日付].stblog.diff} &
			\FILE{[WEBBASE]\YEN rerpot\YEN StubBuild.log.diff}\\
		\FILE{[日付].runlog.diff} &
			\FILE{[WEBBASE]\YEN rerpot\YEN Run.log.diff}\\
		\FILE{[日付].spllog.diff} &
			\FILE{[WEBBASE]\YEN rerpot\YEN SamplesBuild.log.diff}\\
	\end{longtable}}
	\vspace{-28pt}
	\end{narrow}

  \item	ウェブにコピー\\
	\ref{subsec:MakeReport:FileDef} に示したとおり、
	ファイルをウェブサーバにコピーする。

  \item	ローカルのファイルを削除\\
	オプション引数\tt{-k}が指定されていない限り、
	ローカルに作成したファイルを削除する。

\end{enumerate}\end{narrow}

% end: MakeReport.tex
