blob: 9c2ee666ce0e0903f5b62558cbb9895396f76a0f [file] [log] [blame]
------
Retirement Plan for Plugins
------
Dennis Lundberg
------
2013-07-26
------
~~ 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
~~
~~ 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.
~~ NOTE: For help with the syntax of this file, see:
~~ https://maven.apache.org/doxia/references/apt-format.html
Retirement Plan for Plugins
* Decide to retire
Propose a vote on the dev-list to retire a plugin. The vote should be
open for the standard 72 hours to allow people to voice their opinions. Send a
cc to the users-list. Standard Apache voting rules apply. Only PMC votes are
binding.
The vote must contain one or more options on how to retire the plugin. There
are multiple scenarios available. Here are a couple that have been suggested:
[[A]] Move to our retired area in svn
[[A]] Move to another Apache project
[[A]] Move to www.mojohaus.org, apache-extras.org or another forge
[]
Here's a template for scenario A that can be used for the vote email:
+-----
To: "Maven Developers List" <dev@maven.apache.org>
Cc: "Maven Users List" <users@maven.apache.org>
Subject: [VOTE] Retire Maven Foo Plugin
Hi,
A paragraph giving the reasons why the plugin should be retired. Make a note of
how long it has been since the latest release.
I therefore propose that we retire maven-foo-plugin.
If this vote is successful I will make one final release of the plugin, making
it clear on the plugin site that it has been retired. After that the source code
will be moved into the "retired" area in Subversion.
The process for retiring a plugin is described here:
https://maven.apache.org/developers/retirement-plan-plugins.html
The vote is open for 72 hours.
[ ] +1 Yes, it's about time
[ ] -1 No, because...
+-----
If the vote is successful, post the result to the dev list and cc the PMC and
users list. For instance:
+-----
To: "Maven Developers List" <dev@maven.apache.org>
Cc: "Maven Users List" <users@maven.apache.org>
CC: "Maven Project Management Committee List" <private@maven.apache.org>
Subject: [RESULT] [VOTE] Retire Maven Foo Plugin
Hi,
The vote has passed with the following result:
+1 (binding): <<list of names>>
+1 (non binding): <<list of names>>
I will continue with the steps required to retire this plugin.
+-----
If the vote passes, make one final release of the plugin (with its own standard 72h vote on source release) before it is
retired. This allows us to make a clean break. The person who wants to retire
a plugin is the one who does the final release. Below you will find the extra
steps that you need to follow when retiring a plugin, in addition to
{{{./release/maven-project-release-procedure.html}our standard release process}}.
* Make the final release
[[1]] Create an issue in JIRA with the issue type "Task" and the summary
"Retire this plugin", and schedule it for the final release. If the plugin
includes a JIRA report in the generated site, you will need to close this
issue before you make the release.
[[1]] Add the description
"This is the final version of this plugin. It has been retired."
to the final version in JIRA.
[[1]] Add a prominent notice on the front page of the plugin's site,
informing that the plugin is retired. Suggested text:
+-----
Note: This plugin is retired. It is no longer maintained.
+-----
If the plugin is moved elsewhere, that should also be added to the plugin's
site. Suggested text:
+-----
Note: This plugin has retired from the Apache Maven project,
but has moved to the <Organization> <Project> project.
+-----
[[1]] Add " (RETIRED)" at the end of <<<\<project\>>>>/<<<\<name\>>>> in the
plugin's <<<pom.xml>>>. This will show up on every page of the generated site.
[[1]] Go ahead with {{{./release/maven-project-release-procedure.html}the standard release process}},
making sure that you follow the exceptions mentioned above regarding the site deployment.
[[1]] When updating the plugins page, move Maven Foo Plugin to under the
"Retired" heading. Remove the SVN and JIRA links and add
the date of retirement.
[[1]] When updating the version in JIRA, do not add Y.Z+1 and make sure you
remove any future versions.
* Clean up after the release
[[1]] Remove the <<<.Jenkinsfile>>> from all branches. This will remove the project from https://builds.apache.org/job/maven-box/
[[1]] Ask INFRA for archive git repos (gitbox + github)
[[1]] Republish documentation, postfix project name with (RETIRED)
[[1]] When relevant update summary pages for {{{https://maven.apache.org/plugins/index.html}plugins}} or {{{https://maven.apache.org/shared/index.html}shared components}}
[[1]] Add " (RETIRED)" at the end of the project name in JIRA.
[[1]] Put the JIRA project in read-only mode in case of standalone project (own Jira key): apply Maven Retired Project Permissions Scheme.
(Requires JIRA admin karma: e.g. ask Brian Fox)
[[1]] Comment the {{{https://builds.apache.org/view/M-R/view/Maven/job/dist-tool-plugin/site/dist-tool.conf.html}dist-tool configuration}} entry.
[[1]] Remove distribution from current {{{https://dist.apache.org/repos/dist/release/maven/}dist area}}
(history remains available in {{{https://archive.apache.org/dist/maven/}archive}}).
[[1]] Update board report
[[1]] Announce the fact that the plugin has been retired/moved on the
announce@m.a.o and users@m.a.o mailing lists. Explain to people what they
should do if they would like to continue development of the plugin.
~~ Insert template for retirement email here