Nort: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
(32 intermediate revisions by the same user not shown)
Line 5: Line 5:
=Overview=
=Overview=


A set of bash scripts that know how to interact with Maven and the Maven configuration. They provide extended operational capabilities for Nova Ordis projects: runtime wrappers, building artifacts to be distributed, local and remote installation, etc. A customized copy of these scripts is installed under the ./bin directory for each project.
"novaordis-release-tools" (nort) exists because working with code involves complex coordination between the local workarea of a project, build tools, such as Maven, GitHub, and external Maven and binary repositories. We always prefer to formalize logic and let computers do repetitive steps.


In the future, the utilities will gain the capability of driving Go projects as well, offering a unified command line interface for Java and Go projects.
"novaordis-release-tools" started as a set of shell scripts, but the lack of friendly unit testing in bash, more than anything, and the lack of support for advanced data structures determined its migration to Java.


=GitHub=
"novaordis-release-tools" knows how to interact with local build tools, such as Maven and its configuration, and external resources such as GitHub. It provide extended operational capabilities for Nova Ordis projects: runtime wrappers, building released artifacts ready for distribution, upload releases in binary repositories, etc., local and remote installation, etc.
 
<blockquote style="background-color: AliceBlue; border: solid thin LightSteelBlue;">
:<br>https://github.com/NovaOrdis/novaordis-release-tools<br><br>
</blockquote>
 
=Installation=
 
Update <tt>novaordis-release-tools</tt> from GitHub and then:
 
<pre>
.../novaordis-release-tools/install <project-home-dir>
</pre>
 
 
==What it does not do and it should==
 
<font color=red>
 
* Verify that the POM file contains the definition of <tt>maven.build.timestamp.format</tt> and <tt>release_date</tt>, as required by [[project Version and Release Date#Define_maven.build.timestamp.format_and_release_date]]. If it does not, inject it.
 
</font>
 
=Usage=
 
<pre>
install
</pre>
 
<font color=red>Under Development.</font>
 
<pre>
release <snapshot|minor|major>
</pre>
 
or
 
<pre>
release <version-string>
</pre>


In the future, the utilities will gain the capability of driving Go projects as well, offering a unified command line interface for Java and Go projects.


Makes a release by incrementing the release information appropriately, running all tests, building the final artifact and installing the artifact in the appropriate repository.
=Subjects=


<font color=red>Under Development.</font>
* GitHub: https://github.com/NovaOrdis/nort
* [[nort User Manual|User Manual]]
* Development [[nort TODO]]

Latest revision as of 17:44, 12 January 2017

Internal

Overview

"novaordis-release-tools" (nort) exists because working with code involves complex coordination between the local workarea of a project, build tools, such as Maven, GitHub, and external Maven and binary repositories. We always prefer to formalize logic and let computers do repetitive steps.

"novaordis-release-tools" started as a set of shell scripts, but the lack of friendly unit testing in bash, more than anything, and the lack of support for advanced data structures determined its migration to Java.

"novaordis-release-tools" knows how to interact with local build tools, such as Maven and its configuration, and external resources such as GitHub. It provide extended operational capabilities for Nova Ordis projects: runtime wrappers, building released artifacts ready for distribution, upload releases in binary repositories, etc., local and remote installation, etc.

In the future, the utilities will gain the capability of driving Go projects as well, offering a unified command line interface for Java and Go projects.

Subjects