Index: DamOverall/trunk/doc/DAM - Architecture Overall/DAM - Architecture Overall.tex =================================================================== diff -u -r3994 -r4001 --- DamOverall/trunk/doc/DAM - Architecture Overall/DAM - Architecture Overall.tex (.../DAM - Architecture Overall.tex) (revision 3994) +++ DamOverall/trunk/doc/DAM - Architecture Overall/DAM - Architecture Overall.tex (.../DAM - Architecture Overall.tex) (revision 4001) @@ -31,7 +31,7 @@ \datei{Jul 2019} \author{Tom The} \organisationi{Deltares} -\documentid{Repos\textbackslash dam\textbackslash DamOverall\textbackslash trunk\textbackslash doc\textbackslash DAM - Architecture Overall\textbackslash DAM - Architecture Overall.pdf} +\documentid{DAM - Architecture Overall.pdf} \partner{Irene van der Zwan} \authori{Tom The} \revieweri{John Bokma} @@ -420,99 +420,132 @@ %------------------------------------------------------------------------------ -\chapter{Releasing a product} \label{ProductRelease} +\chapter{Releasing a product} \label{ProductRelease} -This is a description of the steps needed to create a \ProgramName release. An external release is normally a release of a \ProgramName client (\ProgramName UI or \ProgramName Live). -The order of releasing the several modules of the \ProgramName system is important because of the dependencies between the several modules. So keep the order of releasing as is specified in this chapter. \newline +This is a description of the steps needed to create a \ProgramName release. +An external release is normally a release of a \ProgramName client (\ProgramName UI or \ProgramName Live). +The order of releasing the several modules of the \ProgramName system is important because of the dependencies between the several modules. +So keep the order of releasing as is specified in this chapter. + It is not always necessary to release all modules, but a module needs to be released, when a dependent module has been released. + \section{Dam Failure Mechanisms} \label{ReleaseDamFailureMechanisms} -This chapter describes the failure mechanisms which are specifically developed for Dam. -\subsection{DamMacroStability} \label{ReleaseDamMacroStability} -This failure mechanism is a wrapper around the D-Geo Stability executable (part of the D-Serie). +This chapter describes the failure mechanisms which are specifically developed for \ProgramName. + +\subsection{Macrostability C\# Wrapper (Deterministic Only)} \label{ReleaseMacroStabilityCSharpWrapper} + +This is a wrapper around the Macrostability kernel. The following steps are needed to release this failure mechanism. \begin{itemize} - \item Update to the correct version of DGeoStability.exe (to be found in lib$\backslash$Deltares$\backslash$DGeoStability) - \item Update version number in .$\backslash$src$\backslash$Deltares.DamMacroStability.Version$\backslash$GlobalAssembly.cs.svn - \item Release binary artifacts (from Teamcity) to the directory .$\backslash$release + \item Set version number in trunk to XX.Y.1 + \item Run the signing project + \item Copy the signed artifacts to the release directory of the trunk. + \item Pin the signed artifacts on TC with XX.Y.1 (select apply on all snapshot dependencies) + \item Create a tag XX.Y.1 + \item In the trunk, reset version to XX.Y.0 + \item Remove the unwanted pin on the trunk of \url{https://dpcbuild.deltares.nl/viewType.html?buildTypeId=VtvInstrumentarium_ApplicationSupport_MacroStabilityReliabilityTrunk} + \item Remove the unwanted pin on the trunk of \url{https://dpcbuild.deltares.nl/viewType.html?buildTypeId=VtvInstrumentarium_Kernels_Macrostability_MacroStabilityTrunk} \end{itemize} + \subsection{DamPiping} \label{ReleaseDamPiping} The following steps are needed to release this failure mechanism. \begin{itemize} \item Update version number in .$\backslash$src$\backslash$Deltares.DamPiping.Version$\backslash$GlobalAssembly.cs.svn \item Release binary artifacts (from Teamcity) to the directory .$\backslash$release \end{itemize} -\section{DGSMStabDam} \label{ReleaseDGSMStabDam} -This module is responsible for creating the D-Geo Stability project files. +\section{StixWriter} \label{ReleaseStixWriter} +This module is responsible for creating the D-Stability output files. It is used by the \ProgramName Engine. -The module is written in Delphi and the sources can be found in another repository: -https://repos.deltares.nl/repos/pvcsprojects/ApplicationSupport/DAM/DGSMStabDam +The sources can be found in: +\url{https://repos.deltares.nl/repos/FailureMechanisms/ApplicationSupport/MacroStabilityStixFileWriter} The following steps are needed to release this module. \begin{itemize} - \item Update version number in .$\backslash$src$\backslash$DGSMStabDAM$\backslash$ResourceVersionInfo.rc.svn - \item Release binary artifacts (from Teamcity) to the directory .$\backslash$release + \item Make sure all libraries contain the new versions (Macrostability C\# Wrapper, StixWriter (Components.Persistence.Stability.Version2.dll)). + \item Update all File Headers for CopyRight to the current year. + \item Update documentation (FD/TD and Release Notes) + \item Create a new MacroStabilityStixFileWriter TeamCity Project by copying the entire Trunk project (with all sub projects). + \item create a branch XX.Y + \item Add/adapt the TC configuration for the subproject to use the branch. + \item Set version number in branch to XX.Y.1 in .$\backslash$src$\backslash$build$\backslash$Base.targets + \item Adapt/Correct all externals where needed to the proper tags (instead of trunk). + \item Make sure that in SVN signing branch, external current points to the current branch. + \item Run the TC Release project. + \item Run the signing project (when needed) + \item Pin the signed artifacts on TC with XX.Y.1 (select apply on all snapshot dependencies) + \item Get the artifacts and update the release folder of the branch with this. + \item Create a tag XX.Y.1 + \item In the branch, reset version to XX.Y.0 + \item With the pinned artifacts, update the release folder of the trunk. \end{itemize} + \section{Dam Engine} \label{ReleaseDamEngine} This module has the following dependencies: \begin{itemize} \item \ProgramName Failure Mechanisms - \item DGSMStabDam + \item StixFileWriter \end{itemize} The following steps are needed to release this module. \begin{itemize} - \item Make sure the following external points to the correct tag/branch: lib$\backslash$DGSMStabDam - \item Make sure the following external points to the correct tag/branch: \\ lib$\backslash$FailureMechanisms$\backslash$DamMacroStability - \item Make sure the following external points to the correct tag/branch: \\ lib$\backslash$FailureMechanisms$\backslash$DamPiping - \item Make sure the following failure mechanism contains the correct version: \\ lib$\backslash$FailureMechanisms$\backslash$WtiPipingMerged - \item Update version number in .$\backslash$src$\backslash$Deltares.DamEngine.Version$\backslash$GlobalAssembly.cs.svn - \item When the (normal) build is finished on team city, start in Team City the Dam Release, Dam Engine project by hand to trigger the signing project on Team City. - \item Download the binary artifacts (from the signing project from Teamcity) and add them to to the directory .$\backslash$release - \item Create a tag for the version. - \item Reset the third version number in .$\backslash$src$\backslash$Deltares.DamEngine.Version$\backslash$GlobalAssembly.cs.svn to 0 for the Engine project in the branch. + \item Make sure all libraries contain the new versions (MacroStability C\# wrapper and StixFileWriter). + \item Update all File Headers for CopyRight to the current year. + \item Create a new Dam Engine TeamCity Project XX.Y by copying the entire trunk project (with all sub projects). + \item Create a branch XX.Y + \item Add/adapt the TeamCity configuration for the subproject to use the branch + \item Set version number in branch to XX.Y.1 + \item Adapt/Correct all externals where needed to the proper tags (instead of trunk) + \item Make sure that in SVN signing branch, external current points to the proper branch (XX.Y) + \item Run the TeamCity Release project. + \item Run the signing project. + \item Pin the signed artifacts on TC with XX.Y.1 (select apply on all snapshot dependencies) + \item Get the artifacts and update the release folder of the branch with this. + \item Create a tag XX.Y.1 + \item In the branch, reset version to XX.Y.0 + \item With the pinned artifacts, update the release folder of the trunk. \end{itemize} \section{Dam UI} \label{ReleaseDamUI} -This application is dependent on the \ProgramName Engine. \\ +This application is dependent on the \ProgramName Engine. The following steps are needed to release this application. \begin{itemize} - \item Make sure the following folder contains the correct version of the licensing system: lib$\backslash$Authorization - \item Make sure the following folder contains the correct version of DevExpress: lib$\backslash$DevExpress - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DamEngine - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-Core - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-FormsGeo - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-FormsMap - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-FormsStandard - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-Geo - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-Geographic - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-GeoIO - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-Probabilistic - \item Update version number in .$\backslash$src$\backslash$Deltares.Dam.Version$\backslash$GlobalAssembly.cs.svn - \item Update version number in .$\backslash$src$\backslash$DamClientsLibrary$\backslash$DamClientsLibrary.Version$\backslash$GlobalAssembly.cs.svn - \item When the (normal) build is finished on team city, start in Team City the Dam Release, Dam UI project by hand to trigger the signing project on Team City. - \item Download the binary artifacts (from the signing project from Teamcity) and add them to to the directory .$\backslash$release$\backslash$InstallVersion. - \item Update the version number in Product.wxs in the Setup project to the correct version. - \item When the (normal) build of Dam UI Setup is finished on team city, start in Team City the Dam Release, Dam UI Setup project by hand to trigger the signing project on Team City. - \item Download the binary artifacts (from the Signing\_DamUISetup project from Teamcity) and add them to to the directory .$\backslash$release. - \item Create a tag for the version. - \item Reset the third version number to 0 in .$\backslash$src$\backslash$Deltares.Dam.Version$\backslash$GlobalAssembly.cs.svn - \item Reset the third version number to 0 in .$\backslash$src$\backslash$DamClientsLibrary$\backslash$DamClientsLibrary.Version$\backslash$GlobalAssembly.cs.svn - \item Reset the third version number to 0 in Product.wxs in the Setup project. + \item Make sure all libraries contain the new versions (All DSL's, DAM Engine). + \item Update all File Headers for CopyRight the current year. + \item Create a new Dam UI TeamCity Project XX.Y by copying the entire trunk project (with all sub projects). + \item create a branch XX.Y + \item Add/adapt the TeamCity configuration for the subproject to use the branch + \item Set version number in branch to XX.Y.1 + \item Adapt/Correct all externals where needed to the proper tags (instead of trunk) + \item Make sure that in SVN signing branch, external current points to the proper branch (XX.Y) + \item Run the TC Release project (this will activate/run TeamCity Signing). + \item Run the signing project (when needed). + \item Pin the signed artifacts on TC with XX.Y.1 (select apply on all snapshot dependencies) + \item Get the artifacts and update the release folder of the branch with this. + \item Create a tag XX.Y.1 + \item In the branch, reset version to XX.Y.0 + \item With the pinned artifacts, update the release folder of the trunk. \end{itemize} \section{DamLive} \label{ReleaseDamLive} This application is dependent on the \ProgramName Engine. \\ The following steps are needed to release this application. \begin{itemize} - \item Make sure the following folder contains the correct version of the licensing system: lib$\backslash$Authorization - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DamEngine - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-Core - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-Geo - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-Geographic - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-GeoIO - \item Make sure the following externals points to the correct tag/branch: lib$\backslash$DSL-Probabilistic \item Update version number in .$\backslash$src$\backslash$Deltares.DamLive.Version$\backslash$GlobalAssembly.cs.svn - \item Release binary artifacts (from Teamcity) to the directory .$\backslash$release + \item Make sure all libraries contain the new versions (All DSL's , Authorization, DAM Engine). + \item Update all File Headers for CopyRight the current year. + \item Create a new Dam Live TeamCity Project XX.Y by copying the entire trunk project (with all sub projects). + \item create a branch XX.Y + \item Add/adapt the TeamCity configuration for the subproject to use the branch + \item Set version number in branch to XX.Y.1 + \item Adapt/Correct all externals where needed to the proper tags (instead of trunk) + \item Make sure that in SVN signing branch, external current points to the proper branch (XX.Y) + \item Run the TC Release project (this will activate/run TeamCity Signing). + \item Run the signing project (when needed). + \item Pin the signed artifacts on TC with XX.Y.1 (select apply on all snapshot dependencies) + \item Get the artifacts and update the release folder of the branch with this. + \item Create a tag XX.Y.1 + \item In the branch, reset version to XX.Y.0 + \item With the pinned artifacts, update the release folder of the trunk. \end{itemize} %------------------------------------------------------------------------------