blob: f812a4f19bf98dbabfdb7bfd76684fdb535ff2fa [file] [log] [blame]
<!doctype html>
<!--
Generated by Apache Maven Doxia at $dateFormat.format( $currentDate ) Rendered using Reflow Maven Skin 2.3.0 (http://devacfr.github.io/reflow-maven-skin)
-->
<html xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<title>Apache OpenMeetings Project &#x2013; 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/themes/cerulean/bootstrap.min.css" rel="stylesheet" />
<link href="./css/fontawesome/all.min.css" rel="stylesheet" />
<link href="./css/reflow-skin.css" rel="stylesheet" />
<link rel="stylesheet" href="./js/styles/github.min.css" />
<link href="./css/lightbox.css" rel="stylesheet" />
<link href="./css/site.css" rel="stylesheet" />
<link href="./css/print.css" rel="stylesheet" media="print" />
<link rel="stylesheet" href="./css/site.css"/>
</head> <!-- end : head -->
<body class="page-releaseguide project-openmeetings-server anchorjs-enabled scrolltop-smooth-enabled m-toc-sidebar-enabled m-toc-sidebar-expanded m-toc-sidebar-autoexpandable toc-sidebar-fixed">
<nav id="m-top-navbar" class="navbar navbar-expand-lg fixed-top navbar-dark bg-primary">
<div class="container"> <a class="navbar-brand mb-0 h1" href="index.html">
<span class="color-highlight">Apache</span> OpenMeetings
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#top-navbar-collapse-1" aria-controls="top-navbar-collapse-1" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="top-navbar-collapse-1">
<ul class="nav navbar-nav ml-auto">
<li class="nav-item " ><a href="demo.html" title="Demo" class="nav-link" >Demo</a></li>
<li class="nav-item " ><a href="downloads.html" title="Download" class="nav-link" >Download</a></li>
<li class="nav-item " ><a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" title="Wiki" class="externalLink nav-link" >Wiki</a></li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">General <b class="caret"></b></a>
<div class="dropdown-menu">
<a href="index.html" title="Home" class="dropdown-item ">Home</a>
<a href="https://www.apache.org/licenses/" title="License" class="dropdown-item ">License</a>
<a href="https://www.apache.org/" title="ASF" class="dropdown-item ">ASF</a>
<a href="https://www.apache.org/foundation/sponsorship" title="Sponsorship" class="dropdown-item ">Sponsorship</a>
<a href="https://www.apache.org/foundation/thanks" title="Thanks" class="dropdown-item ">Thanks</a>
<a href="CallForLogo.html" title="Call For Logo" class="dropdown-item ">Call For Logo</a>
<a href="NewsArchive.html" title="News archive" class="dropdown-item ">News archive</a>
<a href="security.html" title="Security" class="dropdown-item ">Security</a>
<a href="commercial-support.html" title="Commercial Support" class="dropdown-item ">Commercial Support</a>
</div>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Installation <b class="caret"></b></a>
<div class="dropdown-menu">
<a href="installation.html" title="Installation" class="dropdown-item ">Installation</a>
<a href="Upgrade.html" title="Upgrade" class="dropdown-item ">Upgrade</a>
<a href="InstallMediaServer.html" title="Media Server Installation" class="dropdown-item ">Media Server Installation</a>
<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools" title="Tutorials" class="dropdown-item ">Tutorials</a>
<a href="CommandLineAdmin.html" title="Command Line Admin" class="dropdown-item ">Command Line Admin</a>
</div>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Community <b class="caret"></b></a>
<div class="dropdown-menu">
<a href="get-involved.html" title="Get Involved" class="dropdown-item ">Get Involved</a>
<a href="team.html" title="Committers" class="dropdown-item ">Committers</a>
<a href="OurUsers.html" title="Our Users" class="dropdown-item ">Our Users</a>
<a href="mailing-lists.html" title="Mailing Lists" class="dropdown-item ">Mailing Lists</a>
<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/" title="Wiki" class="dropdown-item ">Wiki</a>
</div>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Configuration <b class="caret"></b></a>
<div class="dropdown-menu">
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#integration" title="Integration" class="dropdown-item" >Integration</a> <div class="dropdown-menu">
<a href="swagger" title="REST API Swagger" target="_blank" class="dropdown-item ">REST API Swagger</a>
<a href="openmeetings-webservice/apidocs/index.html" title="SOAP/REST API JavaDoc" target="_blank" class="dropdown-item ">SOAP/REST API JavaDoc</a>
<a href="RestAPISample.html" title="REST API Sample" class="dropdown-item ">REST API Sample</a>
<a href="LdapAndADS.html" title="Ldap and ADS" class="dropdown-item ">Ldap and ADS</a>
<a href="oauth2.html" title="OAuth2" class="dropdown-item ">OAuth2</a>
<a href="AsteriskIntegration.html" title="VoIP and SIP" class="dropdown-item ">VoIP and SIP</a>
<a href="errorvalues.html" title="Errors table" class="dropdown-item ">Errors table</a>
<a href="CalDAVandGCal.html" title="CalDAV and Google Calendar integration" class="dropdown-item ">CalDAV and Google Calendar integration</a>
<a href="ExternalVideo.html" title="External Video/Camera" class="dropdown-item ">External Video/Camera</a>
</div>
</div>
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#plugins" title="Plugins" class="dropdown-item" >Plugins</a> <div class="dropdown-menu">
<a href="MoodlePlugin.html" title="Moodle Plugin" class="dropdown-item ">Moodle Plugin</a>
<a href="SakaiPlugin.html" title="Sakai Plugin" class="dropdown-item ">Sakai Plugin</a>
<a href="JiraPlugin.html" title="Jira Plugin" class="dropdown-item ">Jira Plugin</a>
<a href="JoomlaPlugin.html" title="Joomla Plugin" class="dropdown-item ">Joomla Plugin</a>
<a href="DrupalPlugin.html" title="Drupal Plugin" class="dropdown-item ">Drupal Plugin</a>
<a href="BitrixPlugin.html" title="Bitrix Plugin" class="dropdown-item ">Bitrix Plugin</a>
<a href="ConfluencePlugin.html" title="Confluence Plugin" class="dropdown-item ">Confluence Plugin</a>
<a href="SugarCRMPlugin.html" title="SugarCRM Plugin" class="dropdown-item ">SugarCRM Plugin</a>
<a href="RedminePlugin.html" title="Redmine Plugin" class="dropdown-item ">Redmine Plugin</a>
</div>
</div>
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#db" title="DB Sample Configurations" class="dropdown-item" >DB Sample Configurations</a> <div class="dropdown-menu">
<a href="H2Config.html" title="H2" class="dropdown-item ">H2</a>
<a href="IBMDB2Config.html" title="IBM DB2" class="dropdown-item ">IBM DB2</a>
<a href="OracleConfig.html" title="Oracle" class="dropdown-item ">Oracle</a>
<a href="MySQLConfig.html" title="MySQL" class="dropdown-item ">MySQL</a>
<a href="PostgresConfig.html" title="Postgres" class="dropdown-item ">Postgres</a>
<a href="MSSQLConfig.html" title="MSSQL" class="dropdown-item ">MSSQL</a>
</div>
</div>
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#localization" title="Localization and languages" class="dropdown-item" >Localization and languages</a> <div class="dropdown-menu">
<a href="Internationalisation.html" title="Internationalisation" class="dropdown-item ">Internationalisation</a>
<a href="LanguageEditor.html" title="LanguageEditor" class="dropdown-item ">LanguageEditor</a>
<a href="TimeZoneHandling.html" title="TimeZoneHandling" class="dropdown-item ">TimeZoneHandling</a>
<a href="EditTemplates.html" title="EditTemplates" class="dropdown-item ">EditTemplates</a>
</div>
</div>
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#port" title="NAT Port Settings" class="dropdown-item" >NAT Port Settings</a> <div class="dropdown-menu">
<a href="PortSettings.html" title="Port settings" class="dropdown-item ">Port settings</a>
</div>
</div>
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#performance" title="Performance" class="dropdown-item" >Performance</a> <div class="dropdown-menu">
<a href="JVMPerformanceTuning.html" title="JVM performance tuning" class="dropdown-item ">JVM performance tuning</a>
<a href="NetworkCalculator.html" title="Network bandwidth calculator" class="dropdown-item ">Network bandwidth calculator</a>
</div>
</div>
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#interface" title="User Interface" class="dropdown-item" >User Interface</a> <div class="dropdown-menu">
<a href="LogoAndIcons.html" title="Logo and icons" class="dropdown-item ">Logo and icons</a>
<a href="themes-and-branding.html" title="Themes" class="dropdown-item ">Themes</a>
<a href="Dashboard.html" title="Dashboard" class="dropdown-item ">Dashboard</a>
<a href="WebcamResolutions.html" title="Webcam resolutions" class="dropdown-item ">Webcam resolutions</a>
<a href="ConferenceRoomLayoutOptions.html" title="Room layout options" class="dropdown-item ">Room layout options</a>
<a href="HotKeys.html" title="Hot Keys" class="dropdown-item ">Hot Keys</a>
</div>
</div>
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#customize" title="Customization" class="dropdown-item" >Customization</a> <div class="dropdown-menu">
<a href="WebappNamePath.html" title="Webapp name/path" class="dropdown-item ">Webapp name/path</a>
<a href="CalendarAndTimezone.html" title="Calendar and timezone" class="dropdown-item ">Calendar and timezone</a>
<a href="CustomRoomTypeHowTo.html" title="Custom room type" class="dropdown-item ">Custom room type</a>
<a href="CustomCryptMechanism.html" title="Custom crypt mechanism" class="dropdown-item ">Custom crypt mechanism</a>
<a href="GeneralConfiguration.html" title="General Configuration" class="dropdown-item ">General Configuration</a>
<a href="PrivacyStatement.html" title="Privacy Statement" class="dropdown-item ">Privacy Statement</a>
</div>
</div>
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#security" title="Security" class="dropdown-item" >Security</a> <div class="dropdown-menu">
<a href="RestrictedAccess.html" title="Restricted Access" class="dropdown-item ">Restricted Access</a>
<a href="HTTPS.html" title="HTTPS" class="dropdown-item ">HTTPS</a>
</div>
</div>
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#convert" title="Converters" class="dropdown-item" >Converters</a> <div class="dropdown-menu">
<a href="OpenOfficeConverter.html" title="OpenOffice Converter" class="dropdown-item ">OpenOffice Converter</a>
</div>
</div>
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#cluster" title="Clustering" class="dropdown-item" >Clustering</a> <div class="dropdown-menu">
<a href="Clustering.html" title="Clustering" class="dropdown-item ">Clustering</a>
</div>
</div>
<div class="dropdown-submenu">
<a href="ReleaseGuide.html#misc" title="Misc" class="dropdown-item" >Misc</a> <div class="dropdown-menu">
<a href="GetVersionInfo.html" title="Get version info" class="dropdown-item ">Get version info</a>
</div>
</div>
</div>
</li>
<li class="nav-item dropdown active">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Development <b class="caret"></b></a>
<div class="dropdown-menu">
<a href="scm.html" title="Source Code" class="dropdown-item ">Source Code</a>
<a href="issue-management.html" title="Bugs / Issues" class="dropdown-item ">Bugs / Issues</a>
<a href="dependencies.html" title="Dependencies" class="dropdown-item ">Dependencies</a>
<a href="ci-management.html" title="Continuous Integration" class="dropdown-item ">Continuous Integration</a>
<a href="BuildInstructions.html" title="Build Instructions" class="dropdown-item ">Build Instructions</a>
<a href="JUnitTesting.html" title="JUnit Testing" class="dropdown-item ">JUnit Testing</a>
<a href="ManualTesting.html" title="Manual Testing" class="dropdown-item ">Manual Testing</a>
<a href="" title="Release Guide" class="dropdown-item active">Release Guide</a>
<a href="WebsiteGuide.html" title="Website Guide" class="dropdown-item ">Website Guide</a>
</div>
</li>
</ul><!--/ul.navbar-nav -->
</div><!--/.nav-collapse -->
</div> <!--/.container --> </nav> <!--/.navbar -->
<div class="main-body">
<div class="header text-light bg-secondary" role="main">
<div class="container container-fluid">
<div id="banner" class="header--banner">
<div class="row m-1">
<div class="col-md-12">
<div class="float-left header--banner--left bannerLeft">
<a href="index.html">
<img class="float-left m-2 img-fluid" src="images/logo.png" alt="Apache OpenMeetings" />
</a>
</div>
<div class="float-right header--banner--right bannerRight">
<a href="https://apache.org">
<img class="float-left m-2 img-fluid" src="https://apache.org/img/asf_logo.png" alt="Apache" />
</a>
</div>
</div>
</div>
</div>
</div>
</div> <!-- end : header -->
<div class="row mt-5">
<div class="d-xs-none d-sm-none d-md-none d-lg-block col-lg-2">
</div>
<main class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-8" role="main">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="publishDate version-date">$dateFormat.applyPattern( $format ) $i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</li>
</ol>
</nav>
<section>
<div class="page-header">
<h2 id="how-to-build-a-release-of-openmeetings">How to Build a Release of OpenMeetings</h2>
</div>
<section>
<h3 id="required-tools">Required tools</h3>
<div>
<p>To build a binary release of OpenMeetings you need: </p>
<ul>
<li>JDK11</li>
<li>Apache Maven 3.5.0</li>
<li>Git Command line client</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.pki.digicert.com/csportal">https://securesigning.pki.digicert.com/csportal</a> Please ask INFRA in case you need one. </li>
</ul>
</div>
</section>
<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 "BF13 CF11 F9C9 0CBE 4413 09AB 0055 16BF 93A3 0395") 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 "success" then add your key to: <br> <a class="externalLink" href="https://github.com/apache/openmeetings/blob/master/KEYS">https://github.com/apache/openmeetings/blob/master/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>
</section>
<section>
<h3 id="step1---prepare-files">Step1 - Prepare files</h3>
<ul>
<li> Check that all files:<br> LICENSE, NOTICE.md, CHANGELOG.md, README.md<br> are up to date and refer to the right version. </li>
<li> Check site is <code>green</code> here <a class="externalLink" href="https://whimsy.apache.org/site/project/openmeetings">https://whimsy.apache.org/site/project/openmeetings</a> </li>
<li> Ensure All contributed translations are imported to our codebase<br> (More info and examples <a class="externalLink" href="https://github.com/solomax/om-poeditor">are here</a>)) </li>
<li> Update following files in OM documentation:<br> <code>openmeetings-server/src/site/xdoc/index.xml</code><br> <code>openmeetings-server/src/site/xdoc/NewsArchive.xml</code><br> <code>openmeetings-server/src/site/xdoc/downloads.xml</code><br>
<div class="bd-callout bd-callout-danger">
<div class="h4">
Download links in NewsArchive.xml and README.md should be updated
</div>
</div> </li>
<li>Switch to the necessary branch:
<div class="source">
<pre>git checkout master</pre>
</div> </li>
<li>Create temporary local branch
<div class="source">
<pre>git checkout -b release-5.0.1</pre>
</div> </li>
<li>Update versions of all modules
<div class="source">
<pre>mvn versions:set -DgenerateBackupPoms=false -DnewVersion=5.0.1</pre>
</div> </li>
<li>Update final SCM URL located at <code>pom.xml</code> and <code>openmeetings-server/pom.xml</code>
<div class="source">
<pre>&lt;scm&gt;
&lt;url&gt;https://github.com/apache/openmeetings.git&lt;/url&gt;
SET https://github.com/apache/openmeetings/tree/5.0.1
</pre>
</div> </li>
<li> Create a TAG and commit it to the Git<br>
<div class="source">
<pre>git commit -a -m "5.0.1 Release Candidate 1"
git tag -s 5.0.1-RC1 -m "5.0.1 Release Candidate 1 tag"
git push origin 5.0.1-RC1
</pre>
</div> </li>
<li> <p>Deploy release artifacts to Maven</p>
<div class="source">
<pre>mvn clean &amp;&amp; mvn deploy -Pdeploy,rc</pre>
</div> </li>
<li> <p>Run the command: </p>
<div class="source">
<pre>mvn clean &amp;&amp; mvn install -PallModules,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 <code>https://dist.apache.org/repos/dist/dev/openmeetings/</code> Proposed file structure for "Release Candidate 1" of 5.0.1 will be: </p>
<div class="source">
<pre>5.0.1
5.0.1/rc1
5.0.1/rc1/src
5.0.1/rc1/src/apache-openmeetings-5.0.1-src.zip
5.0.1/rc1/src/apache-openmeetings-5.0.1-src.tar.gz
5.0.1/rc1/src/apache-openmeetings-5.0.1-src.zip.sha
5.0.1/rc1/src/apache-openmeetings-5.0.1-src.zip.asc
5.0.1/rc1/src/apache-openmeetings-5.0.1-src.tar.gz.sha
5.0.1/rc1/src/apache-openmeetings-5.0.1-src.tar.gz.asc
5.0.1/rc1/bin
5.0.1/rc1/bin/apache-openmeetings-5.0.1.zip
5.0.1/rc1/bin/apache-openmeetings-5.0.1.tar.gz
5.0.1/rc1/bin/apache-openmeetings-5.0.1.zip.sha
5.0.1/rc1/bin/apache-openmeetings-5.0.1.zip.asc
5.0.1/rc1/bin/apache-openmeetings-5.0.1.tar.gz.sha
5.0.1/rc1/bin/apache-openmeetings-5.0.1.tar.gz.asc
5.0.1/rc1/CHANGELOG
</pre>
</div> <p><b>NOTE</b> KEYS file is located at https://www.apache.org/dist/openmeetings/KEYS and should be just updated</p> </li>
</ul>
</section>
<section>
<h3 id="step2---vote-and-result-emails">Step2 - VOTE and RESULT emails</h3>
<p> Send a "VOTE" 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="https://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="https://s.apache.org/vote-2.0.0RC4">example Vote email (Incubator)</a> <br> After the vote is over, send a "RESULT" 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="https://mail-archives.apache.org/mod_mbox/openmeetings-dev/201701.mbox/%3CCAJmbs8gyvHuarzdVma%2BF6ap7RHBhhVciZp5Oi5JogQdLR6o0NA%40mail.gmail.com%3E">example Result email</a> <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>
</section>
<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 your $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.pki.digicert.com/csportal">https://securesigning.pki.digicert.com/csportal</a></li>
<li>Select "Signing Sets"</li>
<li>Select "Add signing set"</li>
<li>Enter "Signing set name" (must include "Apache OpenMeetings" and version) for ex. "Apache OpenMeetings 5.0.1-RELEASE"</li>
<li>Enter "Version" for ex. "5.0.1-RELEASE"</li>
<li>Select "Java Signing Sha256" as "Signing service"</li>
<li>Select "Upload files" and add all <b>jar</b> files from <code>target/jnlp</code></li>
<li>Select "Sign now"</li>
<li>Select "Type of signing" -&gt; "Production"</li>
<li>Select "Sign"</li>
<li>Select "Download set"</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 <code>webapps/openmeetings/screenshare</code> with the signed ones</li>
<li> Re-create artifact signatures <p>Create sha512sum 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 512 -r apache-openmeetings-XXX-src.zip &gt;apache-openmeetings-XXX-src.zip.sha512
</pre>
</div>
<div class="source">
<pre>#To create SHA hashes On Ubuntu:
for f in `ls -1 *.tar.gz *.zip`; do sha512sum $f &gt; $f.sha512; done
#To check SHA hashes On Ubuntu:
for f in `ls -1 *.tar.gz *.zip`; do sha512sum -c $f.sha512; 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://github.com/apache/openmeetings/blob/master/KEYS"> https://github.com/apache/openmeetings/blob/master/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: "Type of signing" can be selected as "Test" to check everything works as expected</p>
</section>
<section>
<h3 id="step4---create-release-tag">Step4 - Create release tag</h3>
<p>Release tag based on RCXX should finally be created</p>
<div class="source">
<pre>git checkout 5.0.0-M1-RC1
git tag 5.0.0-M1
git push origin 5.0.0-M1
</pre>
</div>
</section>
<section>
<h3 id="step5---distribute-and-announce">Step5 - 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. "The VOTE about 3.1.2 release was successful" </li>
<li>Select openmeetings staging repo and Release it with valid message:<br> for ex. "The VOTE about 3.1.2 release was successful" </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 <code>openmeetings-site/doap.rdf (https://github.com/apache/openmeetings-site/blob/asf-site/doap.rdf)</code> </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 <code>https://dist.apache.org/repos/dist/dev/openmeetings/</code><br> Old releases should be deleted from <code>https://dist.apache.org/repos/dist/release/openmeetings/</code> </li>
</ul>
</section>
</section> </main>
<div class="d-none d-sm-none d-md-none d-lg-none d-xl-block col-xl-2">
<div id="m-toc-sidebar" class="d-print-none m-toc-sidebar-enabled m-toc-sidebar-expanded m-toc-sidebar-autoexpandable toc-sidebar-fixed">
<nav id="m-toc-sidebar-nav flex-column">
<ul class="m-nav--sidebar nav flex-column flex-nowrap">
<li class="h2">
<a class="nav-link" href="#how-to-build-a-release-of-openmeetings" title="How to Build a Release of OpenMeetings">How to Build a Release of OpenMeetings</a>
</li>
<ul class="nav flex-column flex-nowrap nav-collapsible">
<li class="h3">
<a class="nav-link" href="#required-tools" title="Required tools">Required tools</a>
</li>
<li class="h3">
<a class="nav-link" href="#prepare-your-apache-id" title="Prepare your Apache ID">Prepare your Apache ID</a>
</li>
<li class="h3">
<a class="nav-link" href="#step1---prepare-files" title="Step1 - Prepare files">Step1 - Prepare files</a>
</li>
<li class="h3">
<a class="nav-link" href="#step2---vote-and-result-emails" title="Step2 - VOTE and RESULT emails">Step2 - VOTE and RESULT emails</a>
</li>
<li class="h3">
<a class="nav-link" href="#step3---sign-web-start-application" title="Step3 - Sign web start application">Step3 - Sign web start application</a>
</li>
<li class="h3">
<a class="nav-link" href="#step4---create-release-tag" title="Step4 - Create release tag">Step4 - Create release tag</a>
</li>
<li class="h3">
<a class="nav-link" href="#step5---distribute-and-announce" title="Step5 - Distribute and announce">Step5 - Distribute and announce</a>
</li>
</ul>
</ul>
</nav>
</div>
</div>
</div> <!-- row: end -->
</div> <!-- .main-body: end -->
<div id="m_scrolltop" class="m-scrolltop">
<i class="fa fa-arrow-up"></i>
</div>
<!-- Footer -->
<footer class="footer-light bg-light">
<div class="container">
<div class="row">
<div class="col bottom-nav">
<ul class="nav flex-column nav-list">
<li class="nav-header">
General
</li>
<li class="nav-item "><a href="index.html" title="Home" class="nav-link" >Home</a></li>
<li class="nav-item "><a href="https://www.apache.org/licenses/" title="License" class="externalLink nav-link" >License</a></li>
<li class="nav-item "><a href="https://www.apache.org/" title="ASF" class="externalLink nav-link" >ASF</a></li>
<li class="nav-item "><a href="https://www.apache.org/foundation/sponsorship" title="Sponsorship" class="externalLink nav-link" >Sponsorship</a></li>
<li class="nav-item "><a href="https://www.apache.org/foundation/thanks" title="Thanks" class="externalLink nav-link" >Thanks</a></li>
<li class="nav-item "><a href="CallForLogo.html" title="Call For Logo" class="nav-link" >Call For Logo</a></li>
<li class="nav-item "><a href="NewsArchive.html" title="News archive" class="nav-link" >News archive</a></li>
<li class="nav-item "><a href="security.html" title="Security" class="nav-link" >Security</a></li>
<li class="nav-item "><a href="commercial-support.html" title="Commercial Support" class="nav-link" >Commercial Support</a></li>
</ul>
</div>
<div class="col bottom-nav">
<ul class="nav flex-column nav-list">
<li class="nav-header">
Installation
</li>
<li class="nav-item "><a href="installation.html" title="Installation" class="nav-link" >Installation</a></li>
<li class="nav-item "><a href="Upgrade.html" title="Upgrade" class="nav-link" >Upgrade</a></li>
<li class="nav-item "><a href="InstallMediaServer.html" title="Media Server Installation" class="nav-link" >Media Server Installation</a></li>
<li class="nav-item "><a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools" title="Tutorials" class="externalLink nav-link" >Tutorials</a></li>
<li class="nav-item "><a href="CommandLineAdmin.html" title="Command Line Admin" class="nav-link" >Command Line Admin</a></li>
</ul>
</div>
<div class="col bottom-nav">
<ul class="nav flex-column nav-list">
<li class="nav-header">
Community
</li>
<li class="nav-item "><a href="get-involved.html" title="Get Involved" class="nav-link" >Get Involved</a></li>
<li class="nav-item "><a href="team.html" title="Committers" class="nav-link" >Committers</a></li>
<li class="nav-item "><a href="OurUsers.html" title="Our Users" class="nav-link" >Our Users</a></li>
<li class="nav-item "><a href="mailing-lists.html" title="Mailing Lists" class="nav-link" >Mailing Lists</a></li>
<li class="nav-item "><a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/" title="Wiki" class="externalLink nav-link" >Wiki</a></li>
</ul>
</div>
<div class="col bottom-nav">
<ul class="nav flex-column nav-list">
<li class="nav-header">
Development
</li>
<li class="nav-item "><a href="scm.html" title="Source Code" class="nav-link" >Source Code</a></li>
<li class="nav-item "><a href="issue-management.html" title="Bugs / Issues" class="nav-link" >Bugs / Issues</a></li>
<li class="nav-item "><a href="dependencies.html" title="Dependencies" class="nav-link" >Dependencies</a></li>
<li class="nav-item "><a href="ci-management.html" title="Continuous Integration" class="nav-link" >Continuous Integration</a></li>
<li class="nav-item "><a href="BuildInstructions.html" title="Build Instructions" class="nav-link" >Build Instructions</a></li>
<li class="nav-item "><a href="JUnitTesting.html" title="JUnit Testing" class="nav-link" >JUnit Testing</a></li>
<li class="nav-item "><a href="ManualTesting.html" title="Manual Testing" class="nav-link" >Manual Testing</a></li>
<li class="nav-item active"><a href="" title="Release Guide" class="nav-link" >Release Guide</a></li>
<li class="nav-item "><a href="WebsiteGuide.html" title="Website Guide" class="nav-link" >Website Guide</a></li>
</ul>
</div>
</div> <!-- END: .row -->
</div> <!-- END: .container -->
</footer>
<div class="container subfooter text-center">
<div class="row">
<div class="col-md-12">
<p class="copyright">Copyright &copy;2012-${currentYear}
<a href="https://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" crossorigin="anonymous"></script>
<script src="./js/popper.min.js" crossorigin="anonymous"></script>
<script src="./js/bootstrap.min.js" crossorigin="anonymous"></script>
<script src="./js/lightbox.min.js" crossorigin="anonymous"></script>
<script src="./js/highlight.min.js" crossorigin="anonymous"></script>
<script src="https://www.apachecon.com/event-images/snippet.js"></script>
<script src="./js/site.js" type="text/javascript"></script>
<script src="./js/jquery-ui.min.js" type="text/javascript"></script>
<script src="./js/netcalc.js" type="text/javascript"></script>
<div class="text-center">Apache OpenMeetings, OpenMeetings, Apache, the Apache feather, and the Apache OpenMeetings project logo</div>
<div class="text-center">are trademarks of the Apache Software Foundation.</div>
<div class="text-center">
<a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a>
</div> <script src="./js/reflow-skin.js" crossorigin="anonymous"></script>
<script src="./js/anchor.min.js" crossorigin="anonymous"></script>
</body>
</html>