This page describes how to move a component from the commons sandbox to the commons proper. This page assumes you're already an Apache committer with karma for commons (not just commons-sandbox). If you don't have karma, get someone to help you.
- Start a proposal thread on the dev mailing list, stating reasons for promotion of the component.
- After addressing any concerns about the proposal, start a vote on dev mailing list.
- After vote passes, send announcement with time of move and remind everyone to have any files in the component checked in by that time.
- Move project in SVN
- Tag the current version
$svn move https://svn.apache.org/repos/asf/commons/sandbox/{prj} https://svn.apache.org/repos/asf/commons/proper/{prj} $svn copy https://svn.apache.org/repos/asf/commons/proper/{prj}/trunk https://svn.apache.org/repos/asf/commons/proper/{prj}/tags/sandbox
- Remove from trunk-sandbox
$svn -N checkout https://svn.apache.org/repos/asf/commons/trunks-sandbox trunk-sandbox $svn propedit svn:externals trunk-sandbox $svn commit trunk-sandbox
When "propedit" remove search for your project and remove it.
- if your project were added to trunk-sandbox/buildall.sh, remove it from this file
- Add to trunk-proper
$svn -N checkout https://svn.apache.org/repos/asf/commons/trunks-proper trunks-proper $svn propedit svn:externals trunks-proper $svn commit trunks-proper
When "propedit": go to the end of the list and add your project
That's it for the actual SVN move. Verify the move succeeded by doing a clean checkout of commons. Verify the SVN Repository has picked up the changes correctly. You could to this by enter the svn url in your browser.
- Make sure your component still builds OK by building it in its new home.
- Update the web site for your component. Start with maven clean if your site is mavenized. Your site should now be at commons.apache.org/foo rather than commons.apache.org/sandbox/foo The easiest way to update a mavenized site once you've built and tested it locally is to run
$maven -Dmaven.username=${apache.username} site:sshdeploy
Maybe you have to checkout commons-build now. You can do this by using
$svn co https://svn.apache.org/repos/asf/commons/proper/commons-build/trunk commons-build
on the same level as your project-directory.
- If you have update your gump.xml and project.xml
- Update the commons web site to reflect your component's move. You will need to update the menus under commons/commons-build/menus (components-items.ent and sandbox-items.ent), as well as the more descriptive listings under commons/commons-build/parts (components-table.ent and sandbox-table.ent).
- Send an announcement to dev and user mailing lists announcing the move.
- Gather a list of committers for the component, ask pmc@commons.apache.org to give them commit access to component in commons-proper.
- Start planning a release
(Appendix)
- Check-out jakarta-site
- edit jakarta-site/news.xml. Put a news of "Commons-XXXX graduated from Sandbox to Commons-Proper"
- edit jakarta-site/docs/.htaccess and add a "Redirect permanent" to have automatic redirection from your projects sandbox to the proper website. Search for "vfs" to have a template.
$svn co https://svn.apache.org/repos/asf/jakarta/site
- Edit xdocs/site/news.xml
And follow docs/README.txt to regenerate the site. Check if it looks good.
- Create a diff of your changes and ask a PMC to apply it
$svn diff site >../site_{prj}.diff