How to Create a New Project
Jump to navigation
Jump to search
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.
- If it is a simple, single-POM project, start with pom.xml. For hints on specific elements, go to:
- 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:
- parent pom.xml
- main pom.xml
- release pom.xml
- For more adjustment to release/pom.xml and auxiliary please files, follow Dedicated Release Module POM
- Install nort configuration in .nort/project.yaml. A sample configuration file is provided here: Nort_Concepts#Per-Project_Configuration
- Install .gitignore
- Make src/test/resources in the library modules, or in the project home if the project is single-module:
mkdir -p src/test/resources
- Install log4j.xml in src/test/resources
- Make src/main/java in the library modules, or in the project home if the project is single-module:
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.
- Install the copyright (see IntelliJ Copyright Configuration)
- 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> ...
- Review projects patterns and initialize the structures that apply.