Skip to content

Latest commit

 

History

History
64 lines (46 loc) · 3.21 KB

new_project_process.adoc

File metadata and controls

64 lines (46 loc) · 3.21 KB

Adding a new module/component/project to github

This document outlines how to create a new repository for inclusion in JBoss Tools or JBDS.

Consensus on Requirements

Submit your proposal to [email protected] for review, explaining why your proposed project should stand alone, rather than being part of an existing JBoss Tools project.

If there is some sensitive content which cannot be publicly discussed / announced, please send a private email directly to [email protected].

Create your own repository

Your first step is to create your own repository on github to hold your new component. Please see GitHub’s Documentation for more information.

Layout

The layout for repositories included in JBossTools can vary depending on whether your repository is intended to hold only one component, like the jbosstools-openshift repository, or if it will hold multiple different components, such as how jbosstools-base includes foundation, common, runtime, stacks, and usage.

Simple project layout

A repository holding only one component should have the following folder structure and files:

pom.xml   - Your root pom for your component
README.md - A document outlining how users can get involved, the purpose of the project, etc
plugins   - A folder containing a folder for each plugin, and a pom.xml
tests     - A folder containing a folder for each unit test plugin, and a pom.xml
itests    - An optional folder containing a folder for each integration test plugin, and a pom.xml
features  - A folder containing a folder for each feature, and a pom.xml.
site      - A folder containing a category.xml and a pom.xml for generating update sites

Complex project layout

A repository holding several components should have the following folder structure and files:

pom.xml        - Your root pom for your repository
README.md      - A document outlining how users can get involved, the purpose of the repository, etc
componentName1 - A containing folder for your first component
  componentName1/pom.xml
  componentName1/plugins
  componentName1/tests
  componentName1/itests
  componentName1/features
componentName2 - A containing folder for your first component
  componentName2/pom.xml
  componentName2/plugins
  componentName2/tests
  componentName2/itests
  componentName2/features
site      - A folder containing a category.xml nad a pom.xml for generating update sites

Next steps

Once you have a repository set up, you’ll want to perform one of the following actions: