Skip to content

strongbox/strongbox.github.io

Repository files navigation

<!doctype html>
<html lang="en" class="no-js">
  <head>
    
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width,initial-scale=1">
      
      
      
      
      <link rel="shortcut icon" href="assets/images/favicon.png">
      <meta name="generator" content="mkdocs-1.1.2, mkdocs-material-6.1.4">
    
    
      
        <title>Contributing - Strongbox</title>
      
    
    
      <link rel="stylesheet" href="assets/stylesheets/main.358818c7.min.css">
      
        
        <link rel="stylesheet" href="assets/stylesheets/palette.f0267088.min.css">
        
      
    
    
    
      
        
        <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
        <style>body,input{font-family:"Roboto",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono",SFMono-Regular,Consolas,Menlo,monospace}</style>
      
    
    
    
      <link rel="stylesheet" href="assets/stylesheets/style.css">
    
    
      
        
<script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","UA-134135156-1","auto"),ga("set","anonymizeIp",!0),ga("send","pageview"),document.addEventListener("DOMContentLoaded",function(){document.forms.search&&document.forms.search.query.addEventListener("blur",function(){if(this.value){var e=document.location.pathname;ga("send","pageview",e+"?q="+this.value)}})}),document.addEventListener("DOMContentSwitch",function(){ga("send","pageview",document.location.pathname)})</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
      
    
    
  </head>
  
  
    
    
      
    
    
    
    
    <body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="blue-grey" data-md-color-accent="indigo">
      
  
    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
    <label class="md-overlay" for="__drawer"></label>
    <div data-md-component="skip">
      
        
        <a href="#contributing" class="md-skip">
          Skip to content
        </a>
      
    </div>
    <div data-md-component="announce">
      
    </div>
    
      

  

<header class="md-header" data-md-component="header">
  <nav class="md-header-nav md-grid" aria-label="Header">
    <a href="./index.html" title="Strongbox" class="md-header-nav__button md-logo" aria-label="Strongbox">
      
  
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 003-3 3 3 0 00-3-3 3 3 0 00-3 3 3 3 0 003 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>

    </a>
    <label class="md-header-nav__button md-icon" for="__drawer">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
    </label>
    <div class="md-header-nav__title" data-md-component="header-title">
      
        <div class="md-header-nav__ellipsis">
          <span class="md-header-nav__topic md-ellipsis">
            Strongbox
          </span>
          <span class="md-header-nav__topic md-ellipsis">
            
              Contributing
            
          </span>
        </div>
      
    </div>
    
      <label class="md-header-nav__button md-icon" for="__search">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
      </label>
      
<div class="md-search" data-md-component="search" role="dialog">
  <label class="md-search__overlay" for="__search"></label>
  <div class="md-search__inner" role="search">
    <form class="md-search__form" name="search">
      <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active">
      <label class="md-search__icon md-icon" for="__search">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
      </label>
      <button type="reset" class="md-search__icon md-icon" aria-label="Clear" data-md-component="search-reset" tabindex="-1">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
      </button>
    </form>
    <div class="md-search__output">
      <div class="md-search__scrollwrap" data-md-scrollfix>
        <div class="md-search-result" data-md-component="search-result">
          <div class="md-search-result__meta">
            Initializing search
          </div>
          <ol class="md-search-result__list"></ol>
        </div>
      </div>
    </div>
  </div>
</div>
    
    
      <div class="md-header-nav__source">
        
<a href="https://github.com/strongbox/strongbox/" title="Go to repository" class="md-source">
  <div class="md-source__icon md-icon">
    
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05L244 40.45a28.87 28.87 0 00-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 01-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 000 40.81l195.61 195.6a28.86 28.86 0 0040.8 0l194.69-194.69a28.86 28.86 0 000-40.81z"/></svg>
  </div>
  <div class="md-source__repository">
    strongbox/strongbox
  </div>
</a>
      </div>
    
  </nav>
</header>
    
    <div class="md-container" data-md-component="container">
      
      
        
          

<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
  <div class="md-tabs__inner md-grid">
    <ul class="md-tabs__list">
      
        
  <li class="md-tabs__item">
    
      <a href="index.html" class="md-tabs__link md-tabs__link--active">
        Introduction
      </a>
    
  </li>

      
        
      
        
      
        
      
        
  
  
    <li class="md-tabs__item">
      
        <a href="user-guide/getting-started.html" class="md-tabs__link">
          User guide
        </a>
      
    </li>
  

      
        
  
  
    <li class="md-tabs__item">
      
        <a href="developer-guide/index.html" class="md-tabs__link">
          Developer guide
        </a>
      
    </li>
  

      
        
  
  
    <li class="md-tabs__item">
      
        <a href="knowledge-base/artifact-coordinates.html" class="md-tabs__link">
          Knowledge Base
        </a>
      
    </li>
  

      
        
  
  
    <li class="md-tabs__item">
      
        <a href="hackfests/index.html" class="md-tabs__link">
          Hackfests
        </a>
      
    </li>
  

      
        
  
  
    <li class="md-tabs__item">
      
        <a href="chat-redirect.html" class="md-tabs__link">
          Join chat
        </a>
      
    </li>
  

      
    </ul>
  </div>
</nav>
        
      
      <main class="md-main" data-md-component="main">
        <div class="md-main__inner md-grid">
          
            
              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    

  

<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  <label class="md-nav__title" for="__drawer">
    <a href="./index.html" title="Strongbox" class="md-nav__button md-logo" aria-label="Strongbox">
      
  
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 003-3 3 3 0 00-3-3 3 3 0 00-3 3 3 3 0 003 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>

    </a>
    Strongbox
  </label>
  
    <div class="md-nav__source">
      
<a href="https://github.com/strongbox/strongbox/" title="Go to repository" class="md-source">
  <div class="md-source__icon md-icon">
    
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05L244 40.45a28.87 28.87 0 00-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 01-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 000 40.81l195.61 195.6a28.86 28.86 0 0040.8 0l194.69-194.69a28.86 28.86 0 000-40.81z"/></svg>
  </div>
  <div class="md-source__repository">
    strongbox/strongbox
  </div>
</a>
    </div>
  
  <ul class="md-nav__list" data-md-scrollfix>
    
      
      
      


  <li class="md-nav__item">
    <a href="index.html" class="md-nav__link">
      Introduction
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="release-notes.html" class="md-nav__link">
      Release notes
    </a>
  </li>

    
      
      
      

  


  <li class="md-nav__item md-nav__item--active">
    
    <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
    
      
    
    
      <label class="md-nav__link md-nav__link--active" for="__toc">
        Contributing
        <span class="md-nav__icon md-icon"></span>
      </label>
    
    <a href="contributing.html" class="md-nav__link md-nav__link--active">
      Contributing
    </a>
    
      
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  
  
    
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon"></span>
      Table of contents
    </label>
    <ul class="md-nav__list" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#submitting-a-bug-report" class="md-nav__link">
    Submitting a bug report
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#submitting-pull-requests" class="md-nav__link">
    Submitting pull requests
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#special-thanks-to-all-of-our-contributors" class="md-nav__link">
    Special thanks to all of our contributors!
  </a>
  
</li>
      
    </ul>
  
</nav>
    
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="license.html" class="md-nav__link">
      License
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
    
    <label class="md-nav__link" for="nav-5">
      User guide
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="User guide" data-md-level="1">
      <label class="md-nav__title" for="nav-5">
        <span class="md-nav__icon md-icon"></span>
        User guide
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/getting-started.html" class="md-nav__link">
      Getting started
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-5-2" type="checkbox" id="nav-5-2">
    
    <label class="md-nav__link" for="nav-5-2">
      Configuration Files
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Configuration Files" data-md-level="2">
      <label class="md-nav__title" for="nav-5-2">
        <span class="md-nav__icon md-icon"></span>
        Configuration Files
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/configuration-files/strongbox-yaml.html" class="md-nav__link">
      The strongbox.yaml file
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/configuration-files/strongbox-authorization-yaml.html" class="md-nav__link">
      The strongbox-authorization.yaml file
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/configuration-files/strongbox-cron-tasks-yaml.html" class="md-nav__link">
      The strongbox-cron-tasks.yaml file
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/configuration-files/strongbox-security-users-yaml.html" class="md-nav__link">
      The strongbox-security-users.yaml file
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/application-properties.html" class="md-nav__link">
      Application properties
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/directory-structure.html" class="md-nav__link">
      Directory structure
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/upgrading.html" class="md-nav__link">
      Upgrading
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-5-6" type="checkbox" id="nav-5-6">
    
    <label class="md-nav__link" for="nav-5-6">
      User Interface
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="User Interface" data-md-level="2">
      <label class="md-nav__title" for="nav-5-6">
        <span class="md-nav__icon md-icon"></span>
        User Interface
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/ui/browsing.html" class="md-nav__link">
      Browsing
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/ui/global-settings.html" class="md-nav__link">
      Global settings
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/ui/user-management.html" class="md-nav__link">
      User management
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/ui/storage-management.html" class="md-nav__link">
      Storage management
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/ui/system-information.html" class="md-nav__link">
      System Information
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/ui/default-url-users.html" class="md-nav__link">
      Default URL and Credentials
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/artifact-query-language.html" class="md-nav__link">
      AQL (search)
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/artifact-routing-rules.html" class="md-nav__link">
      Artifact Routing Rules
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/rest-api.html" class="md-nav__link">
      REST API
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-5-10" type="checkbox" id="nav-5-10">
    
    <label class="md-nav__link" for="nav-5-10">
      Tool Integration
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Tool Integration" data-md-level="2">
      <label class="md-nav__title" for="nav-5-10">
        <span class="md-nav__icon md-icon"></span>
        Tool Integration
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/tool-integration/ant-ivy-example.html" class="md-nav__link">
      Ant + Ivy Example
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/tool-integration/gradle-example.html" class="md-nav__link">
      Gradle Example
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/tool-integration/maven-example.html" class="md-nav__link">
      Maven Example
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/tool-integration/npm-example.html" class="md-nav__link">
      NPM Example
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/tool-integration/nuget-chocolatey-example.html" class="md-nav__link">
      Nuget + Chocolatey Example
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/tool-integration/nuget-mono-example.html" class="md-nav__link">
      Nuget + Mono Example
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/tool-integration/nuget-visual-studio-example.html" class="md-nav__link">
      Nuget + Visual Studio Example
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/tool-integration/pypi-example.html" class="md-nav__link">
      PyPi Example
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/tool-integration/sbt-example.html" class="md-nav__link">
      SBT Example
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="user-guide/tool-integration/yarn-example.html" class="md-nav__link">
      Yarn Example
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
    
    <label class="md-nav__link" for="nav-6">
      Developer guide
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Developer guide" data-md-level="1">
      <label class="md-nav__title" for="nav-6">
        <span class="md-nav__icon md-icon"></span>
        Developer guide
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/index.html" class="md-nav__link">
      Introduction
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/getting-started.html" class="md-nav__link">
      Getting started
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-3" type="checkbox" id="nav-6-3">
    
    <label class="md-nav__link" for="nav-6-3">
      Building
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Building" data-md-level="2">
      <label class="md-nav__title" for="nav-6-3">
        <span class="md-nav__icon md-icon"></span>
        Building
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/building-the-code.html" class="md-nav__link">
      Building the code
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/building-the-code-with-docker.html" class="md-nav__link">
      Building the code (Docker)
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/building-strongbox-using-strongbox-instance.html" class="md-nav__link">
      Building Strongbox using a Strongbox instance
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-4" type="checkbox" id="nav-6-4">
    
    <label class="md-nav__link" for="nav-6-4">
      IDE setup
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="IDE setup" data-md-level="2">
      <label class="md-nav__title" for="nav-6-4">
        <span class="md-nav__icon md-icon"></span>
        IDE setup
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/ide-setup/eclipse.html" class="md-nav__link">
      Eclipse
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/project-structure.html" class="md-nav__link">
      Project structure
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-6" type="checkbox" id="nav-6-6">
    
    <label class="md-nav__link" for="nav-6-6">
      Writing code
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Writing code" data-md-level="2">
      <label class="md-nav__title" for="nav-6-6">
        <span class="md-nav__icon md-icon"></span>
        Writing code
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/coding-convention.html" class="md-nav__link">
      Coding convention
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/getting-started-with-persistence.html" class="md-nav__link">
      Getting started with persistence
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/how-to-implement-spring-controllers.html" class="md-nav__link">
      Writing controllers
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/using-the-event-api.html" class="md-nav__link">
      Events API
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-6-5" type="checkbox" id="nav-6-6-5">
    
    <label class="md-nav__link" for="nav-6-6-5">
      Layout providers
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Layout providers" data-md-level="3">
      <label class="md-nav__title" for="nav-6-6-5">
        <span class="md-nav__icon md-icon"></span>
        Layout providers
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/layout-providers/how-to-implement-your-own-repository-format.html" class="md-nav__link">
      Writing a layout provider
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-6-5-2" type="checkbox" id="nav-6-6-5-2">
    
    <label class="md-nav__link" for="nav-6-6-5-2">
      Implemented providers
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Implemented providers" data-md-level="4">
      <label class="md-nav__title" for="nav-6-6-5-2">
        <span class="md-nav__icon md-icon"></span>
        Implemented providers
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/layout-providers/maven-2-layout-provider.html" class="md-nav__link">
      Maven Layout Provider
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/layout-providers/npm-layout-provider.html" class="md-nav__link">
      NPM Layout Provider
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/layout-providers/nuget-layout-provider.html" class="md-nav__link">
      NuGet Layout Provider
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/layout-providers/raw-layout-provider.html" class="md-nav__link">
      Raw Layout Provider
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-6-6" type="checkbox" id="nav-6-6-6">
    
    <label class="md-nav__link" for="nav-6-6-6">
      Metadata
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Metadata" data-md-level="3">
      <label class="md-nav__title" for="nav-6-6-6">
        <span class="md-nav__icon md-icon"></span>
        Metadata
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/metadata/maven-metadata.html" class="md-nav__link">
      Maven Metadata
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/metadata/npm-metadata.html" class="md-nav__link">
      NPM Metadata
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/add-logging.html" class="md-nav__link">
      Logging
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/search-providers.html" class="md-nav__link">
      Search Providers
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/maven-indexer.html" class="md-nav__link">
      Maven Indexer
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/how-to-implement-a-custom-authenticator.html" class="md-nav__link">
      Writing custom authenticator
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/how-to-inspect-a-hazelcast-cache.html" class="md-nav__link">
      Inspecting Hazelcast
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/upgrading-dependencies-and-plugins.html" class="md-nav__link">
      Upgrading Dependencies And Plugins
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-8" type="checkbox" id="nav-6-8">
    
    <label class="md-nav__link" for="nav-6-8">
      Using Git
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Using Git" data-md-level="2">
      <label class="md-nav__title" for="nav-6-8">
        <span class="md-nav__icon md-icon"></span>
        Using Git
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/git/rebase-vs-merge.html" class="md-nav__link">
      Rebasing vs Merging
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-9" type="checkbox" id="nav-6-9">
    
    <label class="md-nav__link" for="nav-6-9">
      Writing tests
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Writing tests" data-md-level="2">
      <label class="md-nav__title" for="nav-6-9">
        <span class="md-nav__icon md-icon"></span>
        Writing tests
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/writing-tests.html" class="md-nav__link">
      Getting started
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/junit-user-guide.html" class="md-nav__link">
      JUnit
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/assertj-user-guide.html" class="md-nav__link">
      AssertJ
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/writing-web-form-tests.html" class="md-nav__link">
      Web Form Tests
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/writing-web-integration-tests.html" class="md-nav__link">
      Web Integration Tests
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="developer-guide/how-to-gather-requirements.html" class="md-nav__link">
      How To Gather Requirements
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
    
    <label class="md-nav__link" for="nav-7">
      Knowledge Base
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Knowledge Base" data-md-level="1">
      <label class="md-nav__title" for="nav-7">
        <span class="md-nav__icon md-icon"></span>
        Knowledge Base
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="knowledge-base/artifact-coordinates.html" class="md-nav__link">
      Artifact Coordinates
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-7-2" type="checkbox" id="nav-7-2">
    
    <label class="md-nav__link" for="nav-7-2">
      Artifact Coordinate Validators
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Artifact Coordinate Validators" data-md-level="2">
      <label class="md-nav__title" for="nav-7-2">
        <span class="md-nav__icon md-icon"></span>
        Artifact Coordinate Validators
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="knowledge-base/artifact-coordinate-validators/artifact-coordinate-validators.html" class="md-nav__link">
      Generic
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="knowledge-base/artifact-coordinate-validators/artifact-coordinate-validators-maven.html" class="md-nav__link">
      Maven
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="knowledge-base/layout-providers.html" class="md-nav__link">
      Layout Providers
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="knowledge-base/repositories.html" class="md-nav__link">
      Repositories
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="knowledge-base/storages.html" class="md-nav__link">
      Storages
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
    
    <label class="md-nav__link" for="nav-8">
      Hackfests
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Hackfests" data-md-level="1">
      <label class="md-nav__title" for="nav-8">
        <span class="md-nav__icon md-icon"></span>
        Hackfests
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="hackfests/index.html" class="md-nav__link">
      Hackfest Guidelines
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-8-2" type="checkbox" id="nav-8-2">
    
    <label class="md-nav__link" for="nav-8-2">
      Grace Hopper Celebration
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Grace Hopper Celebration" data-md-level="2">
      <label class="md-nav__title" for="nav-8-2">
        <span class="md-nav__icon md-icon"></span>
        Grace Hopper Celebration
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="hackfests/grace-hopper-celebration/index.html" class="md-nav__link">
      About Grace Hopper Celebration
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="hackfests/grace-hopper-celebration/ghc-osd-2020.html" class="md-nav__link">
      Grace Hopper Opensource Day (2020)
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="hackfests/hacktoberfest/index.html" class="md-nav__link">
      Hacktoberfest
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
    
    <label class="md-nav__link" for="nav-9">
      Join chat
      <span class="md-nav__icon md-icon"></span>
    </label>
    <nav class="md-nav" aria-label="Join chat" data-md-level="1">
      <label class="md-nav__title" for="nav-9">
        <span class="md-nav__icon md-icon"></span>
        Join chat
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="chat-redirect.html" class="md-nav__link">
      Join chat
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
  </ul>
</nav>
                  </div>
                </div>
              </div>
            
            
              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  
  
    
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon"></span>
      Table of contents
    </label>
    <ul class="md-nav__list" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#submitting-a-bug-report" class="md-nav__link">
    Submitting a bug report
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#submitting-pull-requests" class="md-nav__link">
    Submitting pull requests
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#special-thanks-to-all-of-our-contributors" class="md-nav__link">
    Special thanks to all of our contributors!
  </a>
  
</li>
      
    </ul>
  
</nav>
                  </div>
                </div>
              </div>
            
          
          <div class="md-content">
            <article class="md-content__inner md-typeset">
              
    
                
                  <a href="https://github.com/strongbox/strongbox-docs/edit/master/docs/contributing.md" title="Edit this page" class="md-content__button md-icon">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
                  </a>
                
                
                <h1 id="contributing">Contributing<a class="headerlink" href="#contributing" title="Permanent link">&para;</a></h1>
<p>Thank you for considering to contribute to our project! We deeply appreciate any contributions be it may fixing the docs, 
bug fix or performance improvement. Check the <a href="https://github.com/strongbox/strongbox/issues">opened issues</a> -
there is always something you can help with.</p>
<p>Once you have found an issue you would like to work on:</p>
<ol>
<li>Read our <a href="developer-guide/coding-convention.html">Coding Conventions</a></li>
<li>Read our <a href="https://github.com/strongbox/strongbox/blob/master/CODE-OF-CONDUCT.md">Code of Conduct</a></li>
<li>Read our <a href="developer-guide/getting-started.html">Developer Guide</a></li>
</ol>
<p>We have a helpful community of developers on our channel, please feel free to drop by, if you have questions, issues, or would like to contribute!  </p>
<p><a href="https://chat.carlspring.org/channel/community" target="_blank">
    <img src="https://chat.carlspring.org/images/join-chat.svg" alt="Community Channel"/>
</a>  </p>
<h2 id="submitting-a-bug-report">Submitting a bug report<a class="headerlink" href="#submitting-a-bug-report" title="Permanent link">&para;</a></h2>
<p>Before submitting a bug report, please use the issue tracker's search to verify the bug has not been reported yet.
If the bug has not been reported, please add a new one and mention all of the steps to reproduce it. </p>
<p>In case there is a bug in the user interface - please submit it at <a href="https://github.com/strongbox/strongbox-web-ui" target="_blank">strongbox/strongbox-web-ui</a>, 
preferably with a screenshot and steps to reproduce.  </p>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>Strongbox is still under heavy development. Some things might break and/or change and some are simply not implemented yet.
Please ask us in the main channel before submitting a bug report to confirm. </p>
</div>
<h2 id="submitting-pull-requests">Submitting pull requests<a class="headerlink" href="#submitting-pull-requests" title="Permanent link">&para;</a></h2>
<p>Contributions and contributors are always welcome! If you have decided to work on an issue, please comment before you 
start the actual work to check if somebody else is not already working on it. If nobody is working, please create a fork
of <a href="https://github.com/strongbox/strongbox" target="_blank">strongbox/strongbox</a> and create a branch from 
the <code>master</code> which has the issue number you will be working on. For example, if the issue number is <code>1004</code>, the branch
name should be <code>issue-1004</code>.  </p>
<p>While working on the issue, please commit using the following messaging format:</p>
<div class="highlight"><pre><span></span><code>Issue 1004: Title of the issue

- Removing unused class and fixing failing test cases
- Oh, look, another necessary change here!
</code></pre></div>
<p>Once you're done with your work - feel free to open a Pull Request. Our CI will build the entire code and report any
failing tests. In case of issues (i.e. build failures), please ping us in the chat.  </p>
<p>Please continue reading our <a href="https://github.com/strongbox/strongbox/blob/master/CONTRIBUTING.md">CONTRIBUTING.md</a>. </p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>For legal reasons we will request you to sign our <a href="https://strongbox.github.io/assets/resources/pdfs/ICLA.pdf" target="_blank">ICLA</a> before we can merge your 
pull request. The collected information is in no way provided to third-party companies nor anybody else.  </p>
<p><strong>Refusing to sign the ICLA will leave us with no other choice but to close any pull request you might have opened.</strong></p>
</div>
<h2 id="special-thanks-to-all-of-our-contributors">Special thanks to all of our contributors!<a class="headerlink" href="#special-thanks-to-all-of-our-contributors" title="Permanent link">&para;</a></h2>
<p>We would like to take a moment and shout out a special <strong>THANK YOU</strong> to all of our contributors for their awesome work!
Strongbox would not have been the same without you and we deeply appreciate all of your help!</p>
                
                  
                    

<hr>
<div class="md-source-date">
  <small>
    
      Last update: 2020-12-07
    
  </small>
</div>
                  
                
              

              
                


              
            </article>
          </div>
        </div>
      </main>
      
        
<footer class="md-footer">
  
    <div class="md-footer-nav">
      <nav class="md-footer-nav__inner md-grid" aria-label="Footer">
        
          <a href="release-notes.html" class="md-footer-nav__link md-footer-nav__link--prev" rel="prev">
            <div class="md-footer-nav__button md-icon">
              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
            </div>
            <div class="md-footer-nav__title">
              <div class="md-ellipsis">
                <span class="md-footer-nav__direction">
                  Previous
                </span>
                Release notes
              </div>
            </div>
          </a>
        
        
          <a href="license.html" class="md-footer-nav__link md-footer-nav__link--next" rel="next">
            <div class="md-footer-nav__title">
              <div class="md-ellipsis">
                <span class="md-footer-nav__direction">
                  Next
                </span>
                License
              </div>
            </div>
            <div class="md-footer-nav__button md-icon">
              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
            </div>
          </a>
        
      </nav>
    </div>
  
  <div class="md-footer-meta md-typeset">
    <div class="md-footer-meta__inner md-grid">
      <div class="md-footer-copyright">
        
        Made with
        <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
          Material for MkDocs
        </a>
      </div>
      
    </div>
  </div>
</footer>
      
    </div>
    
      <script src="assets/javascripts/vendor.7e0ee788.min.js"></script>
      <script src="assets/javascripts/bundle.b3a72adc.min.js"></script><script id="__lang" type="application/json">{"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}</script>
      
      <script>
        app = initialize({
          base: ".",
          features: ['navigation.tabs'],
          search: Object.assign({
            worker: "assets/javascripts/worker/search.4ac00218.min.js"
          }, typeof search !== "undefined" && search)
        })
      </script>
      
        <script src="assets/javascripts/medium-zoom.min.js"></script>
      
        <script src="assets/javascripts/main.js"></script>
      
    
  </body>
</html>