Compare commits
14 Commits
deploy_whi
...
release_wh
Author | SHA1 | Date | |
---|---|---|---|
|
68fa5ab7e5 | ||
|
3bacd46cda | ||
|
bed76e55aa | ||
|
ddefac3f65 | ||
|
eab74f64e5 | ||
|
e9af178104 | ||
|
0dadfe3253 | ||
|
5bb283a6ed | ||
|
417a6966c3 | ||
|
64bda9fe50 | ||
|
44bb058368 | ||
|
7e5040e734 | ||
|
ebd59ef6c8 | ||
|
22a389e98c |
12
Makefile
12
Makefile
@@ -3,15 +3,12 @@ SRC := config/$(basename $(MAIN)).tex
|
||||
DEP := \
|
||||
config/headfoot.tex \
|
||||
config/sourcelst.tex \
|
||||
content.tex \
|
||||
config/titlepage.tex \
|
||||
Makefile
|
||||
|
||||
all: $(MAIN)
|
||||
DEP += $(wildcard ./*.tex)
|
||||
|
||||
one_page: $(DEP)
|
||||
@latex config/framework_one_page.tex
|
||||
latex config/framework_one_page.tex
|
||||
dvipdf framework_one_page.dvi framework_one_page.pdf
|
||||
all: $(MAIN)
|
||||
|
||||
clean:
|
||||
rm -f \
|
||||
@@ -20,8 +17,7 @@ clean:
|
||||
$(basename $(MAIN)).log \
|
||||
$(basename $(MAIN)).out \
|
||||
$(basename $(MAIN)).toc \
|
||||
$(MAIN) \
|
||||
framework_one_page.*
|
||||
$(MAIN)
|
||||
|
||||
$(MAIN): $(DEP)
|
||||
@latex $(SRC)
|
||||
|
@@ -1,4 +1,5 @@
|
||||
\documentclass[a4paper,12pt,twoside]{article}%
|
||||
\documentclass[12pt]{article}%
|
||||
\usepackage[a3paper]{geometry}
|
||||
\usepackage[utf8]{inputenc}%
|
||||
\usepackage[T1]{fontenc}%
|
||||
\usepackage{caption}%
|
||||
@@ -26,23 +27,25 @@ citecolor = black]{hyperref}%
|
||||
\usepackage{pstricks}
|
||||
\usepackage{colortbl}
|
||||
|
||||
\newcommand*\euler{\mathrm{e}}
|
||||
\input{title.tex}
|
||||
%\newcommand*\euler{\mathrm{e}}
|
||||
%\input{title.tex}
|
||||
\input{config/font.tex}
|
||||
\input{config/sourcelst.tex}
|
||||
%\input{config/sourcelst.tex}
|
||||
|
||||
\begin{document}
|
||||
\clearscrheadfoot
|
||||
\clearscrplain
|
||||
\clearscrheadings
|
||||
\pagestyle{scrplain} % switch off head and foot line
|
||||
\input{config/titlepage.tex}
|
||||
\pagestyle{scrheadings} % switch on head and foot line
|
||||
\newpage
|
||||
\tableofcontents
|
||||
\input{config/headfoot.tex}
|
||||
\newpage
|
||||
%\input{config/titlepage.tex}
|
||||
%\pagestyle{scrheadings} % switch on head and foot line
|
||||
%\newpage
|
||||
%\tableofcontents
|
||||
%\listoffigures
|
||||
%\listoftables
|
||||
%\lstlistoflistings
|
||||
%\input{config/headfoot.tex}
|
||||
%\newpage
|
||||
\input{content.tex}
|
||||
\lstsetdefault
|
||||
\end{document}
|
||||
|
||||
|
@@ -1,40 +0,0 @@
|
||||
\documentclass[a4paper,12pt,oneside]{article}%
|
||||
\usepackage[utf8]{inputenc}%
|
||||
\usepackage[T1]{fontenc}%
|
||||
\usepackage{caption}%
|
||||
\usepackage{placeins}%
|
||||
\usepackage{graphicx}%
|
||||
\usepackage[colorlinks,
|
||||
pdfpagelabels,
|
||||
pdfstartview = FitH,
|
||||
bookmarksopen = true,
|
||||
bookmarksnumbered = true,
|
||||
linkcolor = black,
|
||||
plainpages = false,
|
||||
hypertexnames = false,
|
||||
citecolor = black]{hyperref}%
|
||||
|
||||
\usepackage{amsmath}%
|
||||
\usepackage{amssymb}%
|
||||
\usepackage{amstext}%
|
||||
\usepackage{amsfonts}%
|
||||
\usepackage{mathrsfs}%
|
||||
\usepackage{hyperref}%
|
||||
\usepackage{xcolor}%
|
||||
\usepackage{scrpage2}%
|
||||
|
||||
\newcommand*\euler{\mathrm{e}}
|
||||
%\input{title.tex}
|
||||
\input{config/font.tex}
|
||||
\input{config/sourcelst.tex}
|
||||
|
||||
\begin{document}
|
||||
\clearscrheadfoot
|
||||
\clearscrplain
|
||||
\clearscrheadings
|
||||
\pagestyle{scrheadings} % switch on head and foot line
|
||||
\input{config/headfoot.tex}
|
||||
\lstsetdefault
|
||||
\input{content.tex}
|
||||
\end{document}
|
||||
|
@@ -2,6 +2,6 @@
|
||||
%\ihead{\includegraphics[scale=0.16]{config/novero_logo_web_500px.eps}}
|
||||
\ohead{\today}
|
||||
\setheadsepline{1pt}
|
||||
%\ofoot{\pagemark}
|
||||
%\setfootsepline{1pt}
|
||||
\ofoot{\pagemark}
|
||||
\setfootsepline{1pt}
|
||||
|
||||
|
@@ -1,18 +1,6 @@
|
||||
\usepackage{listings}%
|
||||
\usepackage{courier}%
|
||||
|
||||
\newcommand{\lstsetdefault}
|
||||
{\lstset
|
||||
{
|
||||
language=bash,
|
||||
tabsize=4,
|
||||
frame=single,
|
||||
basicstyle=\ttfamily\small,
|
||||
commentstyle=\color{black},
|
||||
keywordstyle=\color{black}
|
||||
}
|
||||
}
|
||||
|
||||
\newcommand{\lstsetc}
|
||||
{\lstset
|
||||
{
|
||||
|
222
content.tex
222
content.tex
@@ -1,216 +1,8 @@
|
||||
\section{Bootloader}
|
||||
To build a bootloader for the project \textit{moray white 2} you have to do the
|
||||
following steps:\\
|
||||
\begin{enumerate}
|
||||
\item check/edit build job file
|
||||
\item check/edit configuration file
|
||||
\item create release tag in gitlab
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Build job file}
|
||||
The build job file (\texttt{.gitlab-ci.yml}) could be found in the root
|
||||
directory of the repository. Here only the build configuration is done. In the
|
||||
\texttt{variables} Section the variable \texttt{PROJECT} contains the current
|
||||
build configuration.\\
|
||||
Possible build configurations:
|
||||
|
||||
\captionof{table}{Values for build configutation}
|
||||
\label{tab:var_build_confs}
|
||||
\begin{tabular}{l l}
|
||||
\cellcolor{black}\color{white}build config & \cellcolor{black}\color{white}meaning \\
|
||||
white2-dbg & use the debug configuration to build the release\\
|
||||
white2-rel & use the release configuration to build the release\\\\
|
||||
\end{tabular}
|
||||
|
||||
\textbf{Example}
|
||||
\lstsetbash
|
||||
\begin{lstlisting}
|
||||
variables:
|
||||
PROJECT: "white2-dbg"
|
||||
...
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}
|
||||
variables:
|
||||
PROJECT: "white2-rel"
|
||||
...
|
||||
\end{lstlisting}
|
||||
|
||||
\subsection{Configuration file}
|
||||
The configuration file (\texttt{configuration.xml}) depends on the build
|
||||
configuration (\texttt{white2-dbg} or \texttt{white2-rel}) and could be found
|
||||
in following folder (relative to the repositories root folder):\\
|
||||
\begin{lstlisting}
|
||||
moray/config/<build_config>/
|
||||
\end{lstlisting}
|
||||
Amongst others informations regarding version numbers, deploy file names and
|
||||
deploy locations are encapsulated in the \texttt{postlink} target.
|
||||
|
||||
\captionof{table}{Release relevant attributes in configuration file}
|
||||
\label{tab:conf_vars}
|
||||
\begin{tabular}{l l}
|
||||
\cellcolor{black}\color{white}attributes & \cellcolor{black}\color{white}meaning \\
|
||||
OUT\_EXECUTABLE\_NAME & file name for the bootloader executable\\
|
||||
REL\_VERSION & version numbering scheme\\
|
||||
OUT\_DEPLOY\_PATH & subversion link to deploy the release to\\\\
|
||||
\end{tabular}
|
||||
|
||||
It's usually enough to change \texttt{OUT\_EXECUTABLE\_NAME} and
|
||||
\texttt{REL\_VERSION} according to the release numbering scheme.\\\\
|
||||
|
||||
\textbf{Example}
|
||||
\begin{lstlisting}
|
||||
...
|
||||
<attribute name="OUT_EXECUTABLE_NAME"
|
||||
value="MO_BL_42_3.0.6_dbg.S19"/>
|
||||
<attribute name="REL_VERSION"
|
||||
value="42.3.0.6"/>
|
||||
<attribute name="OUT_DEPLOY_PATH"
|
||||
value="http://dabsvn01.internal.novero.com/svn/\
|
||||
0_31X_P0521_moray_white2/trunk/development/\
|
||||
software/releases/WTC/"/>
|
||||
...
|
||||
\end{lstlisting}
|
||||
\subsection{Create release tag in gitlab}
|
||||
To create a release candidate a tag in gitlab has to be created. Of course this
|
||||
could be done either locally (don't forget to push the tag) or by using the
|
||||
gitlab ui.
|
||||
\subsubsection{Release candidate}
|
||||
To create a release candidate the tag name must match the following regular
|
||||
expression:
|
||||
\begin{lstlisting}
|
||||
^release/white2/MO_BL_42_[0-9]+\.[0-9]+\.[0-9]+_RC[0-9]+
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Example}
|
||||
\begin{lstlisting}
|
||||
release/white2/MO_BL_42_0.0.0_RC0
|
||||
release/white2/MO_BL_42_255.255.255_RC255
|
||||
\end{lstlisting}
|
||||
|
||||
\subsubsection{Release}
|
||||
To create a release the tag name must match the following regular expression:
|
||||
\begin{lstlisting}
|
||||
^release/white2/MO_BL_42_[0-9]+\.[0-9]+\.[0-9]+
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Example}
|
||||
\begin{lstlisting}
|
||||
release/white2/MO_BL_42_0.0.0
|
||||
release/white2/MO_BL_42_255.255.255
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Note:} Any tag which shouldn't trigger a release build must not match
|
||||
these regular expression rules.
|
||||
|
||||
\section{Application}
|
||||
For application building in the project \textit{moray white 2} the same steps as
|
||||
for bootloader building are necessary:\\
|
||||
\begin{enumerate}
|
||||
\item check/edit build job file
|
||||
\item check/edit configuration file
|
||||
\item create release tag in gitlab
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Build job file}
|
||||
The build job file (\texttt{.gitlab-ci.yml}) could be found in the root
|
||||
directory of the repository. Here only the build configuration is done. In the
|
||||
\texttt{variables} Section the variable \texttt{PROJECT} contains the current
|
||||
build configuration.\\
|
||||
Possible build configurations:
|
||||
|
||||
\captionof{table}{Values for build configutation}
|
||||
\label{tab:var_build_confs}
|
||||
\begin{tabular}{l l}
|
||||
\cellcolor{black}\color{white}build config & \cellcolor{black}\color{white}meaning \\
|
||||
white2-dbg & use the debug configuration to build the release\\
|
||||
white2-rel & use the release configuration to build the release\\\\
|
||||
\end{tabular}
|
||||
|
||||
\textbf{Example}
|
||||
\lstsetbash
|
||||
\begin{lstlisting}
|
||||
variables:
|
||||
PROJECT: "white2-dbg"
|
||||
...
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}
|
||||
variables:
|
||||
PROJECT: "white2-rel"
|
||||
...
|
||||
\end{lstlisting}
|
||||
|
||||
\subsection{Configuration file}
|
||||
The configuration file (\texttt{configuration.xml}) depends on the build
|
||||
configuration (\texttt{white2-dbg} or \texttt{white2-rel}) and could be found
|
||||
in following folder (relative to the repositories root folder):\\
|
||||
\begin{lstlisting}
|
||||
config/<build_config>/
|
||||
\end{lstlisting}
|
||||
Amongst others informations regarding version numbers, bootloader location,
|
||||
deploy file names and deploy locations are encapsulated in the \texttt{postlink}
|
||||
target.
|
||||
|
||||
\captionof{table}{Release relevant attributes in configuration file}
|
||||
\label{tab:conf_vars}
|
||||
\begin{tabular}{l l}
|
||||
\cellcolor{black}\color{white}attributes & \cellcolor{black}\color{white}meaning \\
|
||||
OUT\_EXECUTABLE\_NAME & file name for the bootloader executable\\
|
||||
REL\_VERSION & version numbering scheme\\
|
||||
IN\_BOOTLOADER\_URL & path to the bootloader url containing the\\
|
||||
& regarding bootloader executable\\
|
||||
OUT\_DEPLOY\_PATH & subversion link to deploy the release to\\\\
|
||||
\end{tabular}
|
||||
|
||||
It's usually enough to change \texttt{OUT\_EXECUTABLE\_NAME} and
|
||||
\texttt{REL\_VERSION} according to the release numbering scheme. Only in case of
|
||||
a changed bootloader the \texttt{IN\_BOOTLOADER\_URL} has to be changed.\\\\
|
||||
|
||||
\textbf{Example}
|
||||
\begin{lstlisting}
|
||||
...
|
||||
<attribute name="OUT_EXECUTABLE_NAME"
|
||||
value="MO_BL_42_3.0.6_dbg.S19"/>
|
||||
<attribute name="REL_VERSION"
|
||||
value="42.3.0.6"/>
|
||||
<attribute name="IN_BOOTLOADER_URL" value="http://\
|
||||
dabsvn01/svn/0_31X_P0521_moray_white2/trunk/\
|
||||
development/software/releases/WTC/Bootloader/\
|
||||
MO_BL_42_3.1.6.S19"/>
|
||||
<attribute name="OUT_DEPLOY_PATH"
|
||||
value="http://dabsvn01.internal.novero.com/svn/\
|
||||
0_31X_P0521_moray_white2/trunk/development/\
|
||||
software/releases/WTC/"/>
|
||||
...
|
||||
\end{lstlisting}
|
||||
\subsection{Create release tag in gitlab}
|
||||
To create a release candidate a tag in gitlab has to be created. Of course this
|
||||
could be done either locally (don't forget to push the tag) or by using the
|
||||
gitlab ui.
|
||||
\subsubsection{Release candidate}
|
||||
To create a release candidate the tag name must match the following regular
|
||||
expression:
|
||||
\begin{lstlisting}
|
||||
^release/white2/MO_WC_42_[0-9]+\.[0-9]+\.[0-9]+_RC[0-9]+
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Example}
|
||||
\begin{lstlisting}
|
||||
release/white2/MO_WC_42_0.0.0_RC0
|
||||
release/white2/MO_WC_42_255.255.255_RC255
|
||||
\end{lstlisting}
|
||||
|
||||
\subsubsection{Release}
|
||||
To create a release the tag name must match the following regular expression:
|
||||
\begin{lstlisting}
|
||||
^release/white2/MO_WC_42_[0-9]+\.[0-9]+\.[0-9]+
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Example}
|
||||
\begin{lstlisting}
|
||||
release/white2/MO_WC_42_0.0.0
|
||||
release/white2/MO_WC_42_255.255.255
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Note:} Any tag which shouldn't trigger a release build must not match
|
||||
these regular expression rules.
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\input{img_workflow.tex}
|
||||
% \caption{Gitlab workflow}
|
||||
% \label{fig:gitlab_workflow}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
297
img_workflow.tex
Normal file
297
img_workflow.tex
Normal file
@@ -0,0 +1,297 @@
|
||||
\psset{griddots=0,gridlabels=8pt,subgriddiv=5}
|
||||
\psset{xunit=13mm,yunit=13mm}
|
||||
\begin{pspicture}(14,26)
|
||||
% \psgrid
|
||||
\newcommand{\clr}{black}
|
||||
\newcommand{\masterx}{8}
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\masterx,1)(\masterx,26)
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,2)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,6)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,7)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,8)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,11)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,12)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,13)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,15)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,16)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,17)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,18)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,23)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,24)
|
||||
\rput(\masterx,0.5){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{white2\_master}}
|
||||
}
|
||||
\renewcommand{\clr}{ForestGreen}
|
||||
\newcommand{\featurex}{4}
|
||||
\psset{fillcolor=\clr}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\masterx,2)(\featurex,3)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\featurex,3)(\featurex,11)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\featurex,11)(\masterx,12)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\featurex,2.5)(\featurex,8.5)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,3)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,7)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,11)
|
||||
\rput(3.5,2){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{release/white2/I320/RB1}}
|
||||
}
|
||||
\psset{fillcolor=\clr}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\masterx,12)(\featurex,13)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\featurex,13)(\featurex,17)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\featurex,17)(\masterx,18)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\featurex,12.5)(\featurex,17.5)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,13)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,17)
|
||||
\rput(3.5,12){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{release/white2/I320/RB2}}
|
||||
}
|
||||
\psset{fillcolor=\clr}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\masterx,18)(\featurex,19)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\featurex,19)(\featurex,23)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\featurex,23)(\masterx,24)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\featurex,18.5)(\featurex,23.5)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,19)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,23)
|
||||
\rput(3.5,18){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{release/white2/I320/RB3}}
|
||||
}
|
||||
\renewcommand{\clr}{Maroon}
|
||||
\newcommand{\fixx}{6}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\featurex,3)(\fixx,4)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\fixx,4)(\fixx,6)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,6)(\featurex,7)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt,linestyle=dashed]{->}(\fixx,6)(\masterx,7)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,3.5)(\fixx,6.5)
|
||||
\multido{\nA=4+2}{2}{
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,\nA)
|
||||
}
|
||||
\rput(6.5,3.3){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{fix/white2/e\_1}}
|
||||
}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\featurex,7)(\fixx,8)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\fixx,8)(\fixx,10)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,10)(\featurex,11)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt,linestyle=dashed]{->}(\fixx,10)(\masterx,11)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,7.5)(\fixx,10.5)
|
||||
\multido{\nA=8+2}{2}{
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,\nA)
|
||||
}
|
||||
\rput(6.5,7.3){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{fix/white2/e\_2}}
|
||||
}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\featurex,13)(\fixx,14)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\fixx,14)(\fixx,16)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,16)(\featurex,17)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt,linestyle=dashed]{->}(\fixx,16)(\masterx,17)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,13.5)(\fixx,16.5)
|
||||
\multido{\nA=14+2}{2}{
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,\nA)
|
||||
}
|
||||
\rput(6.5,13.3){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{fix/white2/e\_3}}
|
||||
}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\featurex,19)(\fixx,20)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\fixx,20)(\fixx,22)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,22)(\featurex,23)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt,linestyle=dashed]{->}(\fixx,22)(\masterx,23)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,19.5)(\fixx,22.5)
|
||||
\multido{\nA=20+2}{2}{
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,\nA)
|
||||
}
|
||||
\rput(6.5,19.3){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{fix/white2/e\_4}}
|
||||
}
|
||||
\renewcommand{\clr}{RoyalBlue}
|
||||
\renewcommand{\fixx}{12}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\masterx,2)(\fixx,3)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\fixx,3)(\fixx,5)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,5)(\masterx,6)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,2.5)(\fixx,5.5)
|
||||
\rput(13,2){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{feature/white2/f\_1}}
|
||||
}
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,3)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,5)
|
||||
\renewcommand{\fixx}{10}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\masterx,2)(\fixx,3)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\fixx,3)(\fixx,7)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,7)(\masterx,8)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,2.5)(\fixx,7.5)
|
||||
\rput(\fixx,2){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{feature/white2/f\_2}}
|
||||
}
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,3)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,5)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,7)
|
||||
\renewcommand{\fixx}{12}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\masterx,7)(\fixx,8)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\fixx,8)(\fixx,12)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,12)(\masterx,13)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,7.5)(\fixx,12.5)
|
||||
\rput(13,7){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{feature/white2/f\_3}}
|
||||
}
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,8)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,10)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,12)
|
||||
\renewcommand{\fixx}{10}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\masterx,11)(\fixx,12)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\fixx,12)(\fixx,14)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,14)(\masterx,15)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,11.5)(\fixx,14.5)
|
||||
\rput(\fixx,11){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{feature/white2/f\_4}}
|
||||
}
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,12)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,14)
|
||||
\renewcommand{\clr}{Magenta}
|
||||
\renewcommand{\fixx}{12}
|
||||
\psline[linewidth=2pt,linecolor=\clr](\masterx,12)(\fixx,13)
|
||||
\psline[linewidth=2pt,linecolor=\clr](\fixx,13)(\fixx,15)
|
||||
\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,15)(\masterx,16)
|
||||
\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,12.5)(\fixx,15.5)
|
||||
\rput(12.5,12.5){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{fix/white2/e\_5}}
|
||||
}
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,13)
|
||||
\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,15)
|
||||
\renewcommand{\clr}{RedOrange}
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=5pt,dotstyle=o,linecolor=\clr](4,23)
|
||||
\rput(3,24){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{release/white2/MO\_WC\_42\_x.y.z}}
|
||||
}
|
||||
\renewcommand{\clr}{DarkOrchid}
|
||||
\psset{fillcolor=\clr}
|
||||
\psdot[dotsize=5pt,dotstyle=o,linecolor=\clr](4,3)
|
||||
\rput(0.7,3){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{release/white2/MO\_WC\_42\_x.y.z\_RC1}}
|
||||
}
|
||||
\psdot[dotsize=5pt,dotstyle=o,linecolor=\clr](4,11)
|
||||
\rput(0.7,11){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{release/white2/MO\_WC\_42\_x.y.z\_RC2}}
|
||||
}
|
||||
\psdot[dotsize=5pt,dotstyle=o,linecolor=\clr](4,13)
|
||||
\rput(0.7,13){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{release/white2/MO\_WC\_42\_x.y.z\_RC3}}
|
||||
}
|
||||
\psdot[dotsize=5pt,dotstyle=o,linecolor=\clr](4,17)
|
||||
\rput(0.7,17){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{release/white2/MO\_WC\_42\_x.y.z\_RC4}}
|
||||
}
|
||||
\psdot[dotsize=5pt,dotstyle=o,linecolor=\clr](4,19)
|
||||
\rput(0.7,19){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{release/white2/MO\_WC\_42\_x.y.z\_RC5}}
|
||||
}
|
||||
\rput(0.7,23){
|
||||
\psset{fillcolor=white}
|
||||
\psset{fillstyle=solid}
|
||||
\psset{linecolor=\clr}
|
||||
\psset{framearc=.5}
|
||||
\psframebox{\textcolor{\clr}{release/white2/MO\_WC\_42\_x.y.z\_RC6}}
|
||||
}
|
||||
\psset{linecolor=white}
|
||||
\rput(11.5,25){
|
||||
\psframebox{\textcolor{ForestGreen}{Release branch}}
|
||||
}
|
||||
\rput(11.5,24.5){
|
||||
\psframebox{\textcolor{DarkOrchid}{Release candidate}}
|
||||
}
|
||||
\rput(11.5,24){
|
||||
\psframebox{\textcolor{RedOrange}{Customer release}}
|
||||
}
|
||||
\rput(11.5,23.5){
|
||||
\psframebox{\textcolor{Maroon}{Error dedected by system test}}
|
||||
}
|
||||
\rput(11.5,23){
|
||||
\psframebox{\textcolor{Magenta}{Error detected while development}}
|
||||
}
|
||||
\rput(11.5,22.5){
|
||||
\psframebox{\textcolor{RoyalBlue}{Feature implementation}}
|
||||
}
|
||||
\end{pspicture}
|
Reference in New Issue
Block a user