
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2017-02-08
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache OpenMeetings Project - 
		Release Guide</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta name="author" content="Apache OpenMeetings Team" />
		<meta http-equiv="content-language" content="en" />
 
		<link href=".//css/bootstrap.min.css" rel="stylesheet" />
		<link href=".//css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href=".//css/docs.css" rel="stylesheet" />
		<link href=".//css/reflow-skin.css" rel="stylesheet" />


		<link href=".//css/lightbox.css" rel="stylesheet" />

		<link href=".//css/site.css" rel="stylesheet" />
		<link href=".//css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src=".//js/html5.js"></script>
		<![endif]-->


		
	</head>

	<body class="page-releaseguide project-openmeetings-server" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="brand"><span class="color-highlight">Apache</span> OpenMeetings</div>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="demo.html" title="Demo">Demo</a></li>
							<li ><a href="downloads.html" title="Download">Download</a></li>
							<li ><a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" title="Wiki" class="externalLink">Wiki</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">General <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="Home">Home</a></li>
									<li ><a href="license.html" title="License">License</a></li>
									<li ><a href="http://www.apache.org/" title="ASF" class="externalLink">ASF</a></li>
									<li ><a href="CallForLogo.html" title="Call For Logo">Call For Logo</a></li>
									<li ><a href="NewsArchive.html" title="News archive">News archive</a></li>
									<li ><a href="security.html" title="Security">Security</a></li>
									<li ><a href="commercial-support.html" title="Commercial Support">Commercial Support</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Installation <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="installation.html" title="Installation">Installation</a></li>
									<li ><a href="Upgrade.html" title="Upgrade">Upgrade</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools" title="Tutorials" class="externalLink">Tutorials</a></li>
									<li ><a href="CommandLineAdmin.html" title="Command Line Admin">Command Line Admin</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Community <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="get-involved.html" title="Get Involved">Get Involved</a></li>
									<li ><a href="team-list.html" title="Committers">Committers</a></li>
									<li ><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li>
									<li ><a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/" title="Wiki" class="externalLink">Wiki</a></li>
								</ul>
							</li>
							<li class="dropdown active">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="source-repository.html" title="Source Code">Source Code</a></li>
									<li ><a href="issue-tracking.html" title="Bugs / Issues">Bugs / Issues</a></li>
									<li ><a href="dependencies.html" title="Dependencies">Dependencies</a></li>
									<li ><a href="integration.html" title="Continuous Integration">Continuous Integration</a></li>
									<li ><a href="BuildInstructions_3.0.x.html" title="Build Instructions 3.0.x">Build Instructions 3.0.x</a></li>
									<li ><a href="BuildInstructions.html" title="Build Instructions">Build Instructions</a></li>
									<li ><a href="JUnitTesting.html" title="JUnit Testing">JUnit Testing</a></li>
									<li ><a href="ManualTesting.html" title="Manual Testing">Manual Testing</a></li>
									<li class="active"><a href="" title="Release Guide">Release Guide</a></li>
									<li ><a href="WebsiteGuide.html" title="Website Guide">Website Guide</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Configuration <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#integration" title="Integration">Integration</a>
										<ul class="dropdown-menu">
											<li ><a href="openmeetings-webservice/apidocs/index.html" title="SOAP/REST API" target="_blank">SOAP/REST API</a></li>
											<li ><a href="RestAPISample.html" title="REST API Sample">REST API Sample</a></li>
											<li ><a href="LdapAndADS.html" title="Ldap and ADS">Ldap and ADS</a></li>
											<li ><a href="oauth2.html" title="OAuth2">OAuth2</a></li>
											<li ><a href="voip-sip-integration.html" title="VoIP and SIP">VoIP and SIP</a></li>
											<li ><a href="errorvalues.html" title="Errors table">Errors table</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#plugins" title="Plugins">Plugins</a>
										<ul class="dropdown-menu">
											<li ><a href="MoodlePlugin.html" title="Moodle Plugin">Moodle Plugin</a></li>
											<li ><a href="SakaiPlugin.html" title="Sakai Plugin">Sakai Plugin</a></li>
											<li ><a href="JiraPlugin.html" title="Jira Plugin">Jira Plugin</a></li>
											<li ><a href="JoomlaPlugin.html" title="Joomla Plugin">Joomla Plugin</a></li>
											<li ><a href="DrupalPlugin.html" title="Drupal Plugin">Drupal Plugin</a></li>
											<li ><a href="BitrixPlugin.html" title="Bitrix Plugin">Bitrix Plugin</a></li>
											<li ><a href="ConfluencePlugin.html" title="Confluence Plugin">Confluence Plugin</a></li>
											<li ><a href="SugarCRMPlugin.html" title="SugarCRM Plugin">SugarCRM Plugin</a></li>
											<li ><a href="RedminePlugin.html" title="Redmine Plugin">Redmine Plugin</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#db" title="DB Sample Configurations">DB Sample Configurations</a>
										<ul class="dropdown-menu">
											<li ><a href="ApacheDerbyConfig.html" title="Apache Derby">Apache Derby</a></li>
											<li ><a href="IBMDB2Config.html" title="IBM DB2">IBM DB2</a></li>
											<li ><a href="OracleConfig.html" title="Oracle">Oracle</a></li>
											<li ><a href="MySQLConfig.html" title="MySQL">MySQL</a></li>
											<li ><a href="PostgresConfig.html" title="Postgres">Postgres</a></li>
											<li ><a href="MSSQLConfig.html" title="MSSQL">MSSQL</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#localization" title="Localization and languages">Localization and languages</a>
										<ul class="dropdown-menu">
											<li ><a href="Internationalisation.html" title="Internationalisation">Internationalisation</a></li>
											<li ><a href="LanguageEditor.html" title="LanguageEditor">LanguageEditor</a></li>
											<li ><a href="TimeZoneHandling.html" title="TimeZoneHandling">TimeZoneHandling</a></li>
											<li ><a href="EditTemplates.html" title="EditTemplates">EditTemplates</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#port" title="NAT Port Settings">NAT Port Settings</a>
										<ul class="dropdown-menu">
											<li ><a href="PortSettings.html" title="Port settings">Port settings</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#performance" title="Performance">Performance</a>
										<ul class="dropdown-menu">
											<li ><a href="JVMPerformanceTuning.html" title="JVM performance tuning">JVM performance tuning</a></li>
											<li ><a href="NetworkCalculator.html" title="Network bandwidth calculator">Network bandwidth calculator</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#interface" title="User Interface">User Interface</a>
										<ul class="dropdown-menu">
											<li ><a href="themes-and-branding.html" title="Themes">Themes</a></li>
											<li ><a href="Dashboard.html" title="Dashboard">Dashboard</a></li>
											<li ><a href="WebcamResolutions.html" title="Webcam resolutions">Webcam resolutions</a></li>
											<li ><a href="ConferenceRoomLayoutOptions.html" title="Room layout options">Room layout options</a></li>
											<li ><a href="HotKeys.html" title="Hot Keys">Hot Keys</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#customize" title="Customization">Customization</a>
										<ul class="dropdown-menu">
											<li ><a href="WebappNamePath.html" title="Webapp name/path">Webapp name/path</a></li>
											<li ><a href="Navigation.html" title="Navigation">Navigation</a></li>
											<li ><a href="CalendarAndTimezone.html" title="Calendar and timezone">Calendar and timezone</a></li>
											<li ><a href="CustomRoomTypeHowTo.html" title="Custom room type">Custom room type</a></li>
											<li ><a href="CustomCryptMechanism.html" title="Custom crypt mechanism">Custom crypt mechanism</a></li>
											<li ><a href="GeneralConfiguration.html" title="General Configuration">General Configuration</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#security" title="Security">Security</a>
										<ul class="dropdown-menu">
											<li ><a href="RestrictedAccess.html" title="Restricted Access">Restricted Access</a></li>
											<li ><a href="RTMPSAndHTTPS.html" title="RTMPS and HTTPS">RTMPS and HTTPS</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#convert" title="Converters">Converters</a>
										<ul class="dropdown-menu">
											<li ><a href="OpenOfficeConverter.html" title="OpenOffice Converter">OpenOffice Converter</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#cluster" title="Clustering">Clustering</a>
										<ul class="dropdown-menu">
											<li ><a href="Clustering.html" title="Clustering">Clustering</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ReleaseGuide.html#misc" title="Misc">Misc</a>
										<ul class="dropdown-menu">
											<li ><a href="GetVersionInfo.html" title="Get version info">Get version info</a></li>
										</ul>
									</li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="index.html" id="bannerLeft"><img src="images/logo.png" alt='"'Apache OpenMeetings'"' /></a>
				</div>
				<div class="pull-right">
					<a href="http://apache.org" id="bannerRight"><img src="http://apache.org/img/asf_logo.png" alt='"'Apache'"' /></a>
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li class="publishDate version-date">Last Published: 2017-02-08</li>
			</ul>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span8">
			<div class="body-content">
<!-- Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License. --> 
<div class="section"> 
 <div class="page-header">
  <h2 id="How_to_Build_a_Release_of_OpenMeetings">How to Build a Release of OpenMeetings</h2>
 </div> 
 <div class="section"> 
  <h3 id="Required_tools">Required tools</h3> 
  <div> 
   <p>To build a binary release of OpenMeetings you need: </p> 
   <ul> 
    <li>Sun JDK8</li> 
    <li>Apache Maven 3.3.9</li> 
    <li> SVN Command line client (Subversion 1.7 required!) <a class="externalLink" href="http://subversion.apache.org/packages.html" target="_blank" rel="nofollow">http://subversion.apache.org/packages.html</a> </li> 
    <li>A text editor</li> 
    <li>You need to be online! The build process actively downloads needed libraries and dependencies.</li> 
    <li>Valid certficate to be able to enter <a class="externalLink" href="https://securesigning.websecurity.symantec.com/csportal/">https://securesigning.websecurity.symantec.com/csportal/</a> Please ask INFRA in case you need one. </li> 
   </ul> 
  </div> 
 </div> 
 <div class="section"> 
  <h3 id="Prepare_your_Apache_ID">Prepare your Apache ID</h3> 
  <div> 
   <ul> 
    <li><b>Every release package must be signed with a PGP/GPG key.</b><br /> So if you want to release a package your Apache Id must be connected with a PGP key! <br /> <br /> You might follow: <br /> <a class="externalLink" href="http://www.apache.org/dev/new-committers-guide.html#security-and-pgp" target="_blank">http://www.apache.org/dev/new-committers-guide.html#security-and-pgp </a> <br /> <br /> In short: 
     <ul> 
      <li>Create PGP key pairs (private + public) (and I recommend creating a Revoke Cert)</li> 
      <li>Upload the public key (either bei using the PGP Tool that you use to create the key) or by using the web form to: <a class="externalLink" href="http://pgp.mit.edu/" target="_blank" rel="nofollow">http://pgp.mit.edu/</a> </li> 
      <li>Add the fingerprint string (something like &quot;BF13 CF11 F9C9 0CBE 4413 09AB 0055 16BF 93A3 0395&quot;) to your profile at <a class="externalLink" href="https://id.apache.org/" target="_blank" rel="nofollow">https://id.apache.org/</a> </li> 
      <li> Wait for 6-8 hours, the server will search for a public key based on your fingerprint, if success it will create a file with your name at: <br /> <a class="externalLink" href="https://people.apache.org/keys/committer/">https://people.apache.org/keys/committer/</a> </li> 
      <li> If that is &quot;success&quot; then add your key to: <br /> <a class="externalLink" href="https://svn.apache.org/repos/asf/openmeetings/project/KEYS">https://svn.apache.org/repos/asf/openmeetings/project/KEYS</a> <br /> <br /> and follow the instructions in the file. </li> 
     </ul> </li> 
    <li><b>Maven</b><br /> 
     <ul> 
      <li>Ensure you able to login to <a class="externalLink" href="https://repository.apache.org/">https://repository.apache.org</a></li> 
      <li> Set up development environment as described here: <a class="externalLink" href="http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env">Setup development environment</a><br /> Don't forget to secure passwords as described here: <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-encryption.html#How_to_create_a_master_password">Password Encryption</a> </li> 
     </ul> </li> 
   </ul> 
  </div> 
 </div> 
 <div class="section"> 
  <h3 id="Step1_-_Prepare_files">Step1 - Prepare files</h3> 
  <ul> 
   <li> Check that all files:<br /> LICENSE, NOTICE, DISCLAIMER, CHANGELOG, README<br /> are up to date and refer to the right version. </li> 
   <li> Update following files in OM documentation:<br /> <tt>openmeetings-server/src/site/xdoc/index.xml</tt><br /> <tt>openmeetings-server/src/site/xdoc/NewsArchive.xml</tt><br /> <tt>openmeetings-server/src/site/xdoc/downloads.xml</tt><br /> </li> 
   <li> Create a TAG of the SVN tree that you would like to release<br /> Example: 
    <div class="source"> 
     <pre>
svn copy -r1453158 https://svn.apache.org/repos/asf/openmeetings/application/trunk \
	https://svn.apache.org/repos/asf/openmeetings/application/tags/3.1.0RC1 \
	-m &quot;3.1.0 Release candidate 1&quot;
						</pre> 
    </div> </li> 
   <li> <p>Get the source from your TAG: </p> 
    <div class="source"> 
     <pre>svn checkout https://svn.apache.org/repos/asf/openmeetings/application/tags/$BRANCHORTAG/</pre> 
    </div> <p>$BRANCHORTAG should be replaced with your new TAG</p> </li> 
   <li> <p>Update versions of all modules</p> 
    <div class="source"> 
     <pre>mvn versions:set -DgenerateBackupPoms=false -DnewVersion=3.1.0</pre> 
    </div> </li> 
   <li>Deploy release artifacts to Maven 
    <ul> 
     <li> 
      <div class="source"> 
       <pre>
mvn clean
mvn deploy -Pdeploy,rc
							</pre> 
      </div> </li> 
    </ul> </li> 
   <li> <p>Run the command: </p> 
    <div class="source"> 
     <pre>mvn clean install -P allModules,rc</pre> 
    </div> </li> 
   <li> <p>Test building the source on windows and OSx or Linux</p> <p>Test running the binary's</p> </li> 
   <li> <p> Commit artifacts you have created with KEYS file to the <tt>https://dist.apache.org/repos/dist/dev/openmeetings/</tt> Proposed file structure for &quot;Release Candidate 1&quot; of 3.1.0 will be: </p> 
    <div class="source"> 
     <pre>
3.1.0
3.1.0/rc1
3.1.0/rc1/src
3.1.0/rc1/src/apache-openmeetings-3.1.0-src.zip
3.1.0/rc1/src/apache-openmeetings-3.1.0-src.tar.gz
3.1.0/rc1/src/apache-openmeetings-3.1.0-src.zip.sha
3.1.0/rc1/src/apache-openmeetings-3.1.0-src.zip.asc
3.1.0/rc1/src/apache-openmeetings-3.1.0-src.tar.gz.sha
3.1.0/rc1/src/apache-openmeetings-3.1.0-src.tar.gz.asc
3.1.0/rc1/bin
3.1.0/rc1/bin/apache-openmeetings-3.1.0.zip
3.1.0/rc1/bin/apache-openmeetings-3.1.0.tar.gz
3.1.0/rc1/bin/apache-openmeetings-3.1.0.zip.sha
3.1.0/rc1/bin/apache-openmeetings-3.1.0.zip.asc
3.1.0/rc1/bin/apache-openmeetings-3.1.0.tar.gz.sha
3.1.0/rc1/bin/apache-openmeetings-3.1.0.tar.gz.asc
3.1.0/rc1/CHANGELOG
3.1.0/rc1/KEYS
						</pre> 
    </div> </li> 
  </ul> 
 </div> 
 <div class="section"> 
  <h3 id="Step2_-_VOTE_and_RESULT_emails">Step2 - VOTE and RESULT emails</h3> 
  <p> Send a &quot;VOTE&quot; to the developer mailing list including links to release artifacts.<br /> A VOTE always contains two parts:<br /> Send an email to the developer mailing list with the subject line:<br /> [VOTE] Apache OpenMeetings x.xx release<br /> An example for such an email: <a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/openmeetings-dev/201701.mbox/%3CCAJmbs8jZ7EiXoeBbG4ynvg30FPx2nAOJMypE2Qp-v-c63ayO9A%40mail.gmail.com%3E">example Vote email</a> <a class="externalLink" href="http://s.apache.org/vote-2.0.0RC4">example Vote email (Incubator)</a> <br /> Forward (Not CC) this Vote email to: private@openmeetings.apache.org<br /> <br /> After the vote is over, send a &quot;RESULT&quot; email to the list with the subject line:<br /> [RESULT][VOTE] Apache OpenMeetings x.xx release<br /> An example for such an email: <a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/openmeetings-dev/201701.mbox/%3CCAJmbs8gyvHuarzdVma%2BF6ap7RHBhhVciZp5Oi5JogQdLR6o0NA%40mail.gmail.com%3E">example Result email</a> <br /> Forward (Not CC) this RESULT VOTE email to: private@openmeetings.apache.org<br /> <br /> Votes on whether a package is ready to be released use majority approval -- i.e., at least three PMC members must vote affirmatively for release, and there must be more positive than negative votes. Releases may not be vetoed. Before voting +1 PMC members are required to download the signed source code package, compile it as provided, and test the resulting executable on their own platform, along with also verifying that the package meets the requirements of the ASF policy on releases. </p> 
 </div> 
 <div class="section"> 
  <h3 id="Step3_-_Sign_web_start_application">Step3 - Sign web start application</h3> 
  <p>If VOTEs positive: Sign screen sharing web application and re-pack the release</p> 
  <ul> 
   <li>Go to the folder you check out: https://svn.apache.org/repos/asf/openmeetings/application/tags/$BRANCHORTAG/</li> 
   <li> <p>Run the command: </p> 
    <div class="source"> 
     <pre>
cd openmeetings-screenshare
mvn clean install -Prc,release
						</pre> 
    </div> </li> 
   <li>Go to <a class="externalLink" href="https://securesigning.websecurity.symantec.com/csportal/">https://securesigning.websecurity.symantec.com/csportal/</a></li> 
   <li>Select &quot;Signing Sets&quot;</li> 
   <li>Select &quot;Add signing set&quot;</li> 
   <li>Enter &quot;Signing set name&quot; (must include &quot;Apache OpenMeetings&quot; and version) for ex. &quot;Apache OpenMeetings 3.1.0-RELEASE&quot;</li> 
   <li>Enter &quot;Version&quot; for ex. &quot;3.1.0-RELEASE&quot;</li> 
   <li>Select &quot;Java Signing Sha256&quot; as &quot;Signing service&quot;</li> 
   <li>Select &quot;Upload files&quot; and add all <b>jar</b> files from <tt>target/jnlp</tt></li> 
   <li>Select &quot;Sign now&quot;</li> 
   <li>Select &quot;Type of signing&quot; -&gt; &quot;Production&quot;</li> 
   <li>Select &quot;Sign&quot;</li> 
   <li>Select &quot;Download set&quot;</li> 
   <li>Open binary artifacts of OM created on previous step (both <b>tar.gz</b> and <b>zip</b>)</li> 
   <li>Replace jar files inside artifacts <tt>webapps/openmeetings/screenshare</tt> with the signed ones</li> 
   <li> Re-create artifact signatures <p>Create sha256sum checksums</p> 
    <div class="source"> 
     <pre>
#On OSX you might use this command to make a SHA checksum and store it to a file
shasum -a 256 -r apache-openmeetings-XXX-src.zip &gt;apache-openmeetings-XXX-src.zip.sha256
						</pre> 
    </div> 
    <div class="source"> 
     <pre>

#To create SHA hashes On Ubuntu:
for f in `ls -1 *.tar.gz *.zip`; do sha256sum $f &gt; $f.sha256; done

#To check SHA hashes On Ubuntu:
for f in `ls -1 *.tar.gz *.zip`; do sha256sum -c $f.sha256; done

						</pre> 
    </div> <p> Create signatures with the your KEY for every file, the KEY must be available at:<br /> <a class="externalLink" href="https://svn.apache.org/repos/asf/openmeetings/project/KEYS"> https://svn.apache.org/repos/asf/openmeetings/project/KEYS </a> </p> 
    <div class="source"> 
     <pre>

#To create signatures On Ubuntu:
for f in `ls -1 *.tar.gz *.zip`; do gpg --armor --output $f.asc --detach-sig $f; done

#To check signatures On Ubuntu:
for f in `ls -1 *.tar.gz *.zip`; do gpg --verify $f.asc; done

						</pre> 
    </div> </li> 
  </ul> 
  <p>NOTE: &quot;Type of signing&quot; can be selected as &quot;Test&quot; to check everything works as expected</p> 
 </div> 
 <div class="section"> 
  <h3 id="Step4_-_Distribute_and_announce">Step4 - Distribute and announce</h3> 
  <p>If VOTEs positive: Upload the release </p> 
  <ul> 
   <li>Upload Artifacts with signatures created on the previous steps to https://dist.apache.org/repos/dist/release/openmeetings/CURRENT_VERSION </li> 
   <li>Close staging repo: 
    <ul> 
     <li>Go to: <a class="externalLink" href="https://repository.apache.org/#stagingRepositories">Staging Repositories</a></li> 
     <li>Select openmeetings staging repo and Close it with valid message:<br /> for ex. &quot;The VOTE about 3.1.2 release was successful&quot; </li> 
     <li>Select openmeetings staging repo and Release it with valid message:<br /> for ex. &quot;The VOTE about 3.1.2 release was successful&quot; </li> 
    </ul> </li> 
   <li> Wait 24 hours (until all Apache mirrors have synced the packages) and send an announcement to the mailing list + blog and any other channel. </li> 
   <li> Email announcements should have the subject line:<br /> [ANNOUNCE] Apache OpenMeetings x.xx released </li> 
   <li> Update release section of DOAP file <tt>site/trunk/doap.rdf (https://svn.apache.org/repos/asf/openmeetings/site/trunk/doap.rdf)</tt> </li> 
   <li> Add a section to <a href="downloads.html">downloads</a> website.<br /> Make sure that the binary packages are linked using the mirror URL as base path ( <b>not</b> http://www.apache.org/dist):<br /> Mirror URL: <a class="externalLink" href="http://www.apache.org/dyn/closer.lua/openmeetings/">http://www.apache.org/dyn/closer.lua/openmeetings/</a> </li> 
   <li> Release candidates should be deleted from <tt>https://dist.apache.org/repos/dist/dev/openmeetings/</tt><br /> Old releases should be deleted from <tt>https://dist.apache.org/repos/dist/release/openmeetings/</tt> </li> 
  </ul> 
 </div> 
</div>
			</div>
		</div>
		<div class="span4">
			<div id="toc-sidebar">
				<div class="well">
					<ul class="nav nav-list">
						<li class="nav-header">Table of Contents</li>
		<li class="dropdown"><a href="#How_to_Build_a_Release_of_OpenMeetings" title="How to Build a Release of OpenMeetings">How to Build a Release of OpenMeetings <b class="caret"></b></a>
			<ul class="nav nav-list">
		<li><a href="#Required_tools" title="Required tools">Required tools</a>
		<li><a href="#Prepare_your_Apache_ID" title="Prepare your Apache ID">Prepare your Apache ID</a>
		<li><a href="#Step1_-_Prepare_files" title="Step1 - Prepare files">Step1 - Prepare files</a>
		<li><a href="#Step2_-_VOTE_and_RESULT_emails" title="Step2 - VOTE and RESULT emails">Step2 - VOTE and RESULT emails</a>
		<li><a href="#Step3_-_Sign_web_start_application" title="Step3 - Sign web start application">Step3 - Sign web start application</a>
		<li><a href="#Step4_-_Distribute_and_announce" title="Step4 - Distribute and announce">Step4 - Distribute and announce</a>
				<li class="divider"></li>
			</ul>
		</li>
					</ul>
				</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">General</li>
						<li >
							<a href="index.html" title="Home">Home</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
						<li >
							<a href="http://www.apache.org/" title="ASF" class="externalLink">ASF</a>
						</li>
						<li >
							<a href="CallForLogo.html" title="Call For Logo">Call For Logo</a>
						</li>
						<li >
							<a href="NewsArchive.html" title="News archive">News archive</a>
						</li>
						<li >
							<a href="security.html" title="Security">Security</a>
						</li>
						<li >
							<a href="commercial-support.html" title="Commercial Support">Commercial Support</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Installation</li>
						<li >
							<a href="installation.html" title="Installation">Installation</a>
						</li>
						<li >
							<a href="Upgrade.html" title="Upgrade">Upgrade</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools" title="Tutorials" class="externalLink">Tutorials</a>
						</li>
						<li >
							<a href="CommandLineAdmin.html" title="Command Line Admin">Command Line Admin</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Community</li>
						<li >
							<a href="get-involved.html" title="Get Involved">Get Involved</a>
						</li>
						<li >
							<a href="team-list.html" title="Committers">Committers</a>
						</li>
						<li >
							<a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
						</li>
						<li >
							<a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/" title="Wiki" class="externalLink">Wiki</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Development</li>
						<li >
							<a href="source-repository.html" title="Source Code">Source Code</a>
						</li>
						<li >
							<a href="issue-tracking.html" title="Bugs / Issues">Bugs / Issues</a>
						</li>
						<li >
							<a href="dependencies.html" title="Dependencies">Dependencies</a>
						</li>
						<li >
							<a href="integration.html" title="Continuous Integration">Continuous Integration</a>
						</li>
						<li >
							<a href="BuildInstructions_3.0.x.html" title="Build Instructions 3.0.x">Build Instructions 3.0.x</a>
						</li>
						<li >
							<a href="BuildInstructions.html" title="Build Instructions">Build Instructions</a>
						</li>
						<li >
							<a href="JUnitTesting.html" title="JUnit Testing">JUnit Testing</a>
						</li>
						<li >
							<a href="ManualTesting.html" title="Manual Testing">Manual Testing</a>
						</li>
						<li class="active">
							<a href="#" title="Release Guide">Release Guide</a>
						</li>
						<li >
							<a href="WebsiteGuide.html" title="Website Guide">Website Guide</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2012-2017 <a href="http://apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src=".//js/jquery.min.js"></script>

	<script src=".//js/bootstrap.min.js"></script>
	<script src=".//js/lightbox.min.js"></script>
	<script src=".//js/reflow-scroll.js"></script>
	
<script src=".//js/jquery-ui.min.js" type="text/javascript"></script>
<script src=".//js/netcalc.js" type="text/javascript"></script>
	<script src=".//js/reflow-skin.js"></script>

	</body>
</html>
