//
//  Licensed to the Apache Software Foundation (ASF) under one or more
//  contributor license agreements.  See the NOTICE file distributed with
//  this work for additional information regarding copyright ownership.
//  The ASF licenses this file to You 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
//
//      https://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.
//
:imagesdir: ../../images/
:icons: font

= Releasing PLC4X-Extras



== TL/DR

IMPORTANT: Please be sure to execute the release with a Java version 11 or the Karaf feature tests will not run.

[%interactive]
* [ ] Update the `RELEASE_NOTES`
* [ ] Check year in `NOTICE`
* [ ] Create release branch:
[subs="verbatim,attributes"]
----
   ./mvnw -P with-c,with-go,with-java -DbranchName=rel/{current-short-version} release:branch
----
[%interactive]
* [ ] Add a new section to the `RELEASE_NOTES` on `develop`
* [ ] Switch to the release branch and prepare the `RELEASE_NOTES`
* [ ] Prepare the release:
[subs="verbatim,attributes"]
----
   ./mvnw -P with-c,with-go,with-java release:prepare
----
[%interactive]
* [ ] Perform the release:
[subs="verbatim,attributes"]
----
   ./mvnw release:perform
----
[%interactive]
* [ ] Close the staging repo on `Nexus`
* [ ] Stage the release artifacts in `SVN`
* [ ] Vote on the mailing list
* [ ] Move RC to the release section of `SVN`
* [ ] Remove old releases in `SVN`
* [ ] Release staging repo on `Nexus`
* [ ] Merge back release version to `release` branch
* [ ] Send announce email
