blob: 9450484acfb72a68bd9759ada3ba78d86ee5fbe8 [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.11.1 from src/site/apt/developers/how-we-do-things.apt.vm
| Rendered using Apache Maven Fluido Skin 1.11.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" />
<meta name="date" content="2017-08-01" />
<title>Archiva &#x2013; How We Do Things</title>
<link rel="stylesheet" href="../css/apache-maven-fluido-1.11.0.min.css" />
<link rel="stylesheet" href="../css/site.css" />
<link rel="stylesheet" href="../css/print.css" media="print" />
<script src="../js/apache-maven-fluido-1.11.0.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org";
_paq.push(['setTrackerUrl', u+'/matomo.php']);
_paq.push(['setSiteId', '10']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
</head>
<body class="topBarEnabled">
<a href="https://github.com/apache/archiva">
<img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
src="https://s3.amazonaws.com/github/ribbons/forkme_right_gray_6d6d6d.png"
alt="Fork me on GitHub">
</a>
<header id="topbar" class="navbar navbar-fixed-top ">
<div class="navbar-inner">
<div class="container">
<a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<nav class="nav-collapse">
<ul class="nav">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown">Introduction <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="../index.html" title="About">About</a></li>
<li><a href="../download.html" title="Downloads">Downloads</a></li>
<li><a href="../versions.html" title="Versions">Versions</a></li>
<li><a href="../mailing-lists.html" title="Mailing Lists">Mailing Lists</a></li>
<li><a href="../security.html" title="Security">Security</a></li>
<li class="dropdown-submenu">
<a href="../" title="Documentation">Documentation</a>
<ul class="dropdown-menu">
<li><a href="../docs/2.2.8/" title="Release 2.2.8">Release 2.2.8</a></li>
<li><a href="../docs/3.0.0-SNAPSHOT/" title="Dev 3.0.0-SNAPSHOT">Dev 3.0.0-SNAPSHOT</a></li>
</ul>
</li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="../developers/building.html" title="Build Apache Archiva">Build Apache Archiva</a></li>
<li><a href="../get-involved.html" title="Get involved">Get involved</a></li>
<li><a title="How we do things">How we do things</a></li>
<li class="dropdown-submenu">
<a href="../" title="Developer Reference">Developer Reference</a>
<ul class="dropdown-menu">
<li><a href="../ref/2.2.8/index.html" title="Archiva 2.2.8">Archiva 2.2.8</a></li>
<li><a href="../ref/3.0.0-SNAPSHOT/index.html" title="Archiva 3.0.0-SNAPSHOT">Archiva 3.0.0-SNAPSHOT</a></li>
<li><a href="../redback/core/3.0.0-SNAPSHOT/index.html" title="Redback 3.0.0-SNAPSHOT">Redback 3.0.0-SNAPSHOT</a></li>
</ul>
</li>
<li><a href="../redback/index.html" title="Redback">Redback</a></li>
<li><a href="../components/index.html" title="Archiva Components Project">Archiva Components Project</a></li>
<li class="dropdown-submenu">
<a href="../jsui/index.html" title="Javascript application Architecture">Javascript application Architecture</a>
<ul class="dropdown-menu">
<li><a href="../jsui/rest.html" title="Rest service">Rest service</a></li>
<li><a href="../jsui/template-loading.html" title="JS Template loading">JS Template loading</a></li>
<li><a href="../jsui/i18n.html" title="i18n">i18n</a></li>
<li><a href="../jsui/knockout-binding.html" title="Knockout Binding">Knockout Binding</a></li>
<li><a href="../jsui/generics-js.html" title="Generic Javascipts">Generic Javascipts</a></li>
</ul>
</li>
<li><a href="../developers/releasing.html" title="Releasing">Releasing</a></li>
<li><a href="../developers/publishing-site.html" title="Site Publish">Site Publish</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="https://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a></li>
<li><a href="https://www.apache.org/foundation/" title="Foundation">Foundation</a></li>
<li><a href="https://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a></li>
<li><a href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="../project-info.html" title="Project Information">Project Information</a>
<ul class="dropdown-menu">
<li><a href="../ci-management.html" title="CI Management">CI Management</a></li>
<li><a href="../mailing-lists.html" title="Mailing Lists">Mailing Lists</a></li>
<li><a href="../issue-management.html" title="Issue Management">Issue Management</a></li>
<li><a href="../licenses.html" title="Licenses">Licenses</a></li>
<li><a href="../team.html" title="Team">Team</a></li>
<li><a href="../scm.html" title="Source Code Management">Source Code Management</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
<div class="nav-collapse">
<form id="search-form" action="https://www.google.com/search" method="get" class="navbar-search pull-right" >
<input value="https://archiva.apache.org/" name="sitesearch" type="hidden"/>
<input class="search-query" name="q" id="query" type="text" />
</form>
<script>asyncJs( 'https://cse.google.com/brand?form=search-form' )</script>
</div>
</div>
</div>
</header>
<div class="container">
<header>
<div id="banner">
<div class="pull-left"><a href="../index.html" id="bannerLeft"><img src="../images/archiva.png" alt="Apache Archiva" style="" /></a></div>
<div class="pull-right"><a href="https://www.apache.org/" id="bannerRight"><img src="https://www.apache.org/images/asf_logo_wide_2016.png" alt="Apache Software Foundation" style="" /></a></div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li class=""><a href="https://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
<li class=""><a href="../" title="Archiva">Archiva</a><span class="divider">/</span></li>
<li class="active ">How We Do Things</li>
<li id="publishDate" class="pull-right">Last Published: 25 May 2022</li>
</ul>
</div>
</header>
<main id="bodyColumn" >
<section>
<h2><a name="How_We_Do_Things"></a>How We Do Things</h2>
<p>Below are the conventions we follow in Archiva.</p><section>
<h3><a name="Continuous_Integration"></a>Continuous Integration</h3>
<p>We use the Jenkins Apache instance for building Archiva (and redback dependencies) on scm changes.</p>
<p>See the tab with various builds: <a class="externalLink" href="https://builds.apache.org/view/A-D/view/Archiva/">Archiva tab</a></p>
<p>You can test fresh builds with downloading from this Jenkins job <a class="externalLink" href="https://builds.apache.org/job/archiva-master-build/">archiva-master-build/</a>:</p>
<ul>
<li><a class="externalLink" href="https://builds.apache.org/job/archiva-master-build/lastSuccessfulBuild/artifact/archiva-jetty/target/apache-archiva-3.0.0-SNAPSHOT-bin.zip">standalone with embeded jetty</a> (unzip then cd bin;./archiva start running on 8080)</li>
<li><a class="externalLink" href="https://builds.apache.org/job/archiva-master-build/lastSuccessfulBuild/artifact/archiva-modules/archiva-web/archiva-webapp/target/archiva-webapp-3.0.0-SNAPSHOT-SNAPSHOT.war">war webapp js</a></li></ul></section><section>
<h3><a name="Code_Style"></a>Code Style</h3>
<p>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:</p>
<ol style="list-style-type: decimal">
<li>Use spaces, not tabs
<ul>
<li>4 spaces for Java</li>
<li>2 spaces for XML</li></ul></li>
<li>120 column wrap, not 80</li>
<li>Wrap on spaces, not on '.' in a method call
<p>You can use the existing codestyle files:</p>
<ul>
<li><a href="./archiva-idea-codestyle.xml">idea</a></li>
<li><a href="./archiva-eclipse-codestyle.xml">eclipse</a></li></ul></li></ol></section><section>
<h3><a name="Versioning"></a>Versioning</h3>
<p>It has been established in the community that the following style would be followed for the versioning of releases:</p>
<div>
<pre>Milestones -&gt; Final -&gt; Patch releases (e.g. 1.1-M1, 1.1-M2, 1.1, 1.1.1, 1.1.2 )</pre></div>
<p>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.</p></section><section>
<h3><a name="References"></a>References</h3>
<ul>
<li><a class="externalLink" href="http://old.nabble.com/Fwd%3A-What-do-we-need-to-establish--td17098487.html"> Mailing list discussion regarding conventions</a></li></ul></section></section>
</main>
</div>
<hr/>
<footer>
<div class="container">
<div class="row">
<div class="row pull-left">Apache Archiva, Archiva, Apache, the Apache feather logo, and the Apache Archiva project logos are trademarks of The Apache Software Foundation.</div>
<div class="row">
&nbsp;
</div>
<div class="row">
<p>
<a href="https://archiva.apache.org/privacy-policy.html">Privacy Policy</a>
</p>
</div>
</div>
<p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a>
</p>
</div>
</footer>
<script>
if(anchors) {
anchors.add();
}
</script>
</body>
</html>