How to Create a New Project: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 21: Line 21:


* <span id="multi-module"></span>If it is a multi-module project, follow the guidelines laid out here: [[Building a Maven Complex Release Artifact]]. These are pom.xml files to start from:
* <span id="multi-module"></span>If it is a multi-module project, follow the guidelines laid out here: [[Building a Maven Complex Release Artifact]]. These are pom.xml files to start from:
** [[project multi-module parent pom.xml]]
** [[project multi-module parent pom.xml|parent pom.xml]]
** [[project multi-module main pom.xml]]
** [[project multi-module main pom.xml|main pom.xml]]
** [[project multi-module release pom.xml]]
** [[project multi-module release pom.xml|release pom.xml]]


* Install nort configuration in .nort/project.yaml. A sample configuration file is provided here: [[Nort_Concepts#Per-Project_Configuration]]
* Install nort configuration in .nort/project.yaml. A sample configuration file is provided here: [[Nort_Concepts#Per-Project_Configuration]]

Revision as of 17:37, 28 April 2017

Internal

Procedure

  • Create the GitHub project.
  • Clone locally:
cd ~/projects
git clone git@github.com:NovaOrdis/<project-name>.git
  • Decide whether the project is a simple library project, and thus requires a simple structure, or it has an installable binary and it requires at least a "main" and a "release" module.
  • Make src/test/resources:
mkdir -p src/test/resources
  • Install log4j.xml in src/test/resources
  • Make src/main/java:
mkdir -p src/main/java
  • Create the IntelliJ project (.idea based): File -> New -> Project from Existing Sources -> select the project directory -> Import project from external model -> Maven.
  • Create the first class and the corresponding test.
  • Start a new empty ./doc/release-notes.md. This file is used to collect release notes that will be published with the release announcement.
  • If the project is released as an executable binary, configure the embedded installation logic following the procedure described here: Embedded Installation Logic for Binary Distributions. nort will know to use the installation logic artifacts created according to the procedure.
  • Verify tools
mvn clean install
release info
  • Create corresponding NOKB projects page:
    • Overview
    • User Manual. Each project has user manual accessible from its wiki page as "<project-name> User Manual". The user manual should be ready for publishing at any time.
    • Development. Each project has a development area accessible from its wiki page as "<project-name> Development".
      • GitHub (must contain the link to the GitHub project).
      • The TODO list is maintained in the TODO section of the development manual.
  • Link the NOKB project from README.md:

...

# Documentation

https://kb.novaordis.com/index.php/<project-name>

...

Conventions