blob: 8371693a5abe8c8536ff59f3c03adaef528e6dd6 [file] [log] [blame]
% Release and Deployment Procedure
\vspace{-0.5in}
{\scriptsize Last modified April 28, 2010}
\textit{Most contributors/committers do not need to read this. This explains
our entire release and deployment procedure: setting the Photran version
number, updating the Web site, etc.}
\section{Preparing for a Release Build}
\begin{enumerate}
\item Proofread the documentation on the wiki. Make sure version numbers are
correct, screenshots and step-by-step instructions are up-to-date, and
UI labels are up-to-date (e.g., if the name of a refactoring changed).
\item Regenerate the org.eclipse.photran.doc.user plug-in from the wiki.
See Appendix~\ref{app:help} for details.
\item Update the plug-in version numbers in all projects.
\item Update the feature.xml and feature.properties files for
\begin{itemize}
\item org.eclipse.photran-feature,
\item org.eclipse.photran.intel-feature,
\item org.eclipse.photran.xlf-feature, and
\item org.eclipse.rephraserengine-feature.
\end{itemize}
\begin{enumerate}
\item Change the feature version.
\item Change the versions of other features/plug-ins it depends on\dots
\begin{itemize}
\item org.eclipse.photran-feature must specify the correct versions of
\begin{itemize}
\item CDT
\item Rephraser Engine
\end{itemize}
\item org.eclipse.photran.intel-feature must specify the current version of Photran
\item org.eclipse.photran.xlf-feature must specify the current version of Photran
\end{itemize}
\item the copyright year
\item the update site URL
\end{enumerate}
\item Update URLs to reflect the new version numbers...
\begin{enumerate}
\item Update the Welcome Page URL in org.eclipse.photran.ui/intro/overviewContent.xml
\item Note that the URL for the release notes shown when the user first installs a new
version of Photran is determined by the version of the org.eclipse.photran.ui
plug-in (see ShowReleaseNotes.java for details); this is not necessarily the same
as the Welcome Page URL.
\item Be sure the Web site actually contains pages at these URLs; add them if necessary
\end{enumerate}
\item If the VPG database structure (or any of the serialized classes) have
changed, update
\begin{itemize}
\item the VPG database filename in the PhotranVPGDB class constructor and
\item the VPG log filename in the PhotranVPGLog class constructor.
\end{itemize}
For example, in Photran 4.0 beta 5, the database filename was ``photran40b5vpg''.
\item Make sure the org.eclipse.photran.cmdline JAR is up-to-date.
\item Make sure the org.eclipse.ptp.releng scripts have the correct versions.
\textit{Note that Photran is built from PTP's releng scripts; Photran's own
releng scripts are no longer used.}
\item Greg Watson will initiate a PTP build at build.eclipse.org.
\end{enumerate}
\section{After the Release Has Been Built}
\begin{enumerate}
\item Update the timeline in this guide's Release History appendix
(org.eclipse.photran-dev-docs/dev-guide/app-history.ltx-inc)
\item The PTP release engineering team will create a maintenance branch in Git.
For example, a ptp\_5\_0 branch was created after the Photran 7/PTP 5 release
and was subsequently used to build Photran 7.0.1, etc.
\item Add a Bugzilla version for the release and a target for the next expected release
\item Update the Web site. It is in the following Git
repository:\footnote{See \url{http://bugs.eclipse.org/413409}} \\
\centerline{\texttt{ssh://username@git.eclipse.org/gitroot/www.eclipse.org/photran.git}}
\begin{enumerate}
\item Update the home page to mention the release
\item Change the update site URL and archived update site link on the Downloads page
\item Update the Report a Bug URL in the nav bar to default to the new release version
\end{enumerate}
\item Announce the release, e-mailing the photran, ptp-dev, and ptp-announce mailing lists
\item Copy the Documentation pages on the wiki and update the version numbers for the next expected release
\item Update the Project Plan at the Eclipse Foundation Portal\dots
\begin{enumerate}
\item Mark the released version as ``released'' with the correct date.
\item Add a planned/tentative next release at some future date.
\end{enumerate}
\end{enumerate}