Tuesday, January 23, 2007

sandbox - the complete development environment

Hello friends,

Here we are learning lots of new concepts, modern technologies and tools daily.

Let me introduce you what we learnt today.

Most of the people are aware of Source Control Systems such as CVS or SVN.

Wherein developers check-in their source code or check-out. The Source Control Systems are required to maintain versions of project documents including source code.

But, sandbox is a directory which comprises of complete development environment of a project. Development environment contains tools used such as Eclipse, Jakarta Tomcat, Jakarta Ant etc.

The complete development environment is checked-in into some Source Control Systems.

We all know that today version dependency amongst different tools is a prominent issue. Tools must be mutually version complaint.

Further, if you have developed a product for a client, you have to provide maintenance for that product. That means, client pays you for development as well as post-implementation support. So, if he comes to you after one year for maintenance or enhancement to the product then you will need tools that were used during previous release.

Thus, sandbox comes handy in such situations.

Further, there is an International convention used as tags-trunk-branches in Software Engineering discipline.

Tags - tags are releases of a software product. For example: beta 1.0, version 1.0.

Trunk - trunk means common stream of development wherein developers can find latest copy of regression tested source code of the product.

Branches - branches are isolated arena of development wherein experimentation are done with the source code. The source code will undergo unit testing, regression testing and then only can appear into the trunk.

The contents of sandbox directory is organized using this convention.

The sandbox directory structure is as under:

dearbooks

  • branches
  • tags

    • beta 1.0
    • version 1.0

  • trunk

    • src

      • main
      • test
      • web

        • classes
        • lib
        • WEB-INF


    • tools

      • eclipse-3.2
      • jakarta-ant-1.6.5
      • jakarta-tomcat-5.0.28


No comments: