blob: 586358e1bb7d4f60b62988545337a62cdf7e4201 [file] [log] [blame]
-----
How We Do Things
-----
-----
2017-08-01
-----
~~ 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:
~~ http://maven.apache.org/guides/mini/guide-apt-format.html
How We Do Things
Below are the conventions we follow in Archiva.
* Continuous Integration
We use the Jenkins Apache instance for building Archiva (and redback dependencies) on scm changes.
See the tab with various builds: {{{https://builds.apache.org/view/A-D/view/Archiva/}Archiva tab}}
You can test fresh builds with downloading from this Jenkins job {{{https://builds.apache.org/job/archiva-master-build/}archiva-master-build/}}:
* {{{https://builds.apache.org/job/archiva-master-build/lastSuccessfulBuild/artifact/archiva-jetty/target/apache-archiva-${archivaCurrentDevVersion}-bin.zip}standalone with embeded jetty}} (unzip then cd bin;./archiva start running on 8080)
* {{{https://builds.apache.org/job/archiva-master-build/lastSuccessfulBuild/artifact/archiva-modules/archiva-web/archiva-webapp/target/archiva-webapp-${archivaCurrentDevVersion}-SNAPSHOT.war}war webapp js}}
* Code Style
There isn't any code style that needs to be followed as long as it is consistent, can be checked in checkstyle, can be
formatted in Eclipse, IDEA and NetBeans. And the following rules must be followed:
[[1]] Use spaces, not tabs
* 4 spaces for Java
* 2 spaces for XML
[[2]] 120 column wrap, not 80
[[3]] Wrap on spaces, not on '.' in a method call
You can use the existing codestyle files:
* {{{./archiva-idea-codestyle.xml}idea}}
* {{{./archiva-eclipse-codestyle.xml}eclipse}}
[]
* Versioning
It has been established in the community that the following style would be followed for the versioning of releases:
-----
Milestones -> Final -> Patch releases (e.g. 1.1-M1, 1.1-M2, 1.1, 1.1.1, 1.1.2 )
-----
As much as possible, the team is aiming for frequent releases. If the roadmap for the current development version is
big, milestone releases can be applied until the final release. But if the roadmap is composed of just a small number
of issues, we could proceed immediately to preparing a release candidate and push it out as the final release once it
passes the vote.
* References
* {{{http://old.nabble.com/Fwd%3A-What-do-we-need-to-establish--td17098487.html} Mailing list discussion regarding conventions}}