From 50a6bf11b06b5424ba3f498218ae1ef04cc33cad Mon Sep 17 00:00:00 2001
From: Allan Blanchard <allan.blanchard@cea.fr>
Date: Mon, 6 Mar 2023 11:27:21 +0100
Subject: [PATCH] [doc] update release manual - added set-version.sh script

---
 doc/release/branch.tex     | 65 +++++++++-----------------------------
 doc/release/deploy.tex     |  4 ---
 doc/release/validation.tex | 17 ----------
 3 files changed, 15 insertions(+), 71 deletions(-)

diff --git a/doc/release/branch.tex b/doc/release/branch.tex
index 7313f46e5b9..3c3f9d5943d 100644
--- a/doc/release/branch.tex
+++ b/doc/release/branch.tex
@@ -61,63 +61,28 @@ Check public issue tracker at \url{https://git.frama-c.com/pub/frama-c/issues/}.
 All issues should have been at least acknowledged: at least they should be
 assigned to someone, preferably tagged appropriately.
 
-Send a message to the Frama-C channel on LSL's Mattermost.
-Each developer should have a
-look at their own assigned/monitored/reported issues. Depending on their severity,
-the issues should be tagged with the current release, or with the next one.
+Send a message to the Frama-C channel on LSL's Mattermost. Each developer should
+have a look at their own assigned/monitored/reported issues. Depending on their
+severity, the issues should be tagged with the current release, or with the next
+one.
 
-\section{Changelog}
+\section{Version}
 
-Create headers in the Changelog(s). This is to avoid some merge conflicts,
-but also so that merge requests add information in the proper part of
-the Changelog.
-
-\begin{itemize}
-\item Add the following in the Changelogs, in \texttt{stable/element}
-\begin{verbatim}
- ####################################
- Open Source Release <nb> (<element>)
- ####################################
-\end{verbatim}
-
-This should go directly below
-\begin{verbatim}
- ##################################
- Open Source Release <next-release>
- ##################################
-\end{verbatim}
-
-The changelogs to update are the global Frama-C changelog and each plugin
-changelog in \texttt{src/plugins}.
-
-\item Check the manuals if they contain a changelog, usually in files named
-\texttt{changes.tex} or a variation of it. Add the following in
-\texttt{stable/element}
-\begin{verbatim}
-\section*{<nb> (<element>)}
-\end{verbatim}
-
-This should go directly below
+Execute the script:
 \begin{verbatim}
-\section*{\framacversion}
+./dev/set-version.sh NN.M # to be replaced with actual major/minor version
 \end{verbatim}
-and this line should be commented out.
-
+This will:
 \begin{itemize}
-  \item \emph{Take care to adapt the format of the version according to the
-        content of the file}.
-  \item \emph{Check for manual changelogs in \texttt{doc/}, but also in
-        \texttt{src/plugins/**/doc}}.
-\end{itemize}
-
-\item Merge this branch in \texttt{master}
+  \item update the \texttt{Changelog}s
+  \item update the changes in the manuals (excluding ACSL and E-ACSL references)
+  \item update the \texttt{VERSION} and \texttt{VERSION\_CODENAME} files
+  \item update the \texttt{opam} file
+  \item update the API doc
 \end{itemize}
 
-From now on, Changelog items corresponding to MR merged into \texttt{master}
-must be placed between these two banners. This should minimize conflicts when
-merging back \texttt{stable/element} into \texttt{master}.
-
-\todo{Can we simplify this?}
+Merge the branch in \texttt{master} and add a commit to \texttt{master} by
+adding \texttt{"+dev"} in the \texttt{VERSION} file.
 
 \section{Copyright}
 
diff --git a/doc/release/deploy.tex b/doc/release/deploy.tex
index 1de8304b27d..962db136ff2 100644
--- a/doc/release/deploy.tex
+++ b/doc/release/deploy.tex
@@ -150,10 +150,6 @@ Check if other \FramaC (and related) repositories need to be updated:
 \item other \texttt{pub} repositories related to Frama-C...
 \end{itemize}
 
-\section{Preparing the Next Release}
-
-Just update the \texttt{VERSION} file in \texttt{master}, by adding \texttt{"+dev"}.
-
 \section{Docker image preparation}
 
 \textbf{Note:} you need access to the \texttt{framac} Docker Hub account to be
diff --git a/doc/release/validation.tex b/doc/release/validation.tex
index fd9ccc5fe0b..bc6ee9d90e1 100644
--- a/doc/release/validation.tex
+++ b/doc/release/validation.tex
@@ -46,25 +46,8 @@ Change version and codename in the following files:
   \end{itemize}
 \end{itemize}
 
-Also check the headers in Changelogs :
-\begin{itemize}
-  \item \texttt{Changelog}
-  \item \texttt{src/plugins/wp/Changelog}
-  \item \texttt{src/plugins/e-acsl/doc/Changelog}
-\end{itemize}
-
 \subsection{Versions in source: API documentation}
 
-To update the \textsf{API} documentation, you must update the \texttt{@since}
-tags. This involves the following script (\texttt{sed -i} must work for this
-purpose):
-\begin{shell}
-./dev/update_api_doc.sh <NEXT>
-\end{shell}
-\verb+<NEXT>+ is the long name of the final release, i.e.
-\verb+`cat VERSION`-`VERSION_CODENAME`+
-(without the \verb+beta+ suffix, if any).
-
 Check that no \verb|+dev| suffix remains inside comments:
 
 \begin{shell}
-- 
GitLab