Skip to main content

Project or Build Version Numbers

In Software world, every project/product release has one version number associated with it to identify on which version of code base it has.

Usually every project/product release has its version as follows.

(Major).(Minor).(Maintenance/Enhancements).(Build Number)

Major - If the release has Major changes in Project/Product then we need to increment this number by 1
Minor -   If the release has Minor changes in Project/Product then we need to increment this number by 1
Maintenance - If the release has Bug fixes or Small Enhancements then we need to increase this number by 1.

Build Number :  Every time when we deliver build (latest code) to the QA to test, then we need to increase by 1.

Partial Builds: If only some of the modules in the project modified and if those modules only delivered to QA means, it is called as partial builds. And this will be noted as build number along with alphabets.


E.G of Build Numbers.

Current Version of Project is 4.0.0.0 (4 Major Releases)
If Minor Project got released in next release. then it would be 4.1.0.0

After 4.1, some bug fixes got released, then it would be 4.1.1

For doing above we have delivered 4 builds to QA before Production  release then
version would be

4.1.1.1
4.1.1.2
4.1.1.3
4.1.1.4

Final release would be 4.1.1

E.G of Partial Build Numbers:

4.1.1.1
4.1.1.1a
4.1.1.1b
4.1.1.1c

4.1.1.2
4.1.1.2a

4.1.1.3
4.1.1.3a
4.1.1.3b

4.1.1.4






 

Comments

Popular posts from this blog

Maven Build Life Cyles

Following are the maven build life cycles.

Clean - Removes the generated files in 'target' folder.

command : mvn clean

Validate - It validates your project and verify all the necessary information is there in project or not.

mvn  valiate

Compile - It compiles your project code.

mvn compile

Package - It takes the compiled code and packaged to JAR/WAR/EAR. It also compiles your code if your code is not compiled.

mvn package

Install -   It takes the packaged code and puts in your local maven repository (M2_HOME). It also does the compile and package if these are not already been done.

mvn install

Deploy - It takes the package and puts in remote repository for sharing accross team members or for other projects.

mvn deploy


FYI - Above commands can be used as variety of combinations.
e.g. mvn clean install
mvn clean package
mvn clean compile package install

To skip the tests to run 
mvn clean install -DskipTests



NO SQL Types and vendors in market

NO SQL

KEY - VALUE Store  - Similar to a  MAP.
   e.g. Dynamo DB or REDIS

DOCUMENT Sore  - Similar to KEY-VALUE, value can be JSON/XML and key will be unqiuely idnetified this document.
   e.g. Coutch DB or mongoDB.

Column Store - Multi timentional table, identifying data with row and column numbers.
  e.g.  Cassandra or Apache HBase

Graph Store - Store relation between nodes (record entities). It has better transaction management
e.g. Neo4J and Orient DB.