Posts Tagged ‘developer’

23, Sep 2008

Developing HackyStat on your PC

Another Sequel! This one to Run HackyStat on your PC

HackyStat depends on many tools! If you want to build them
on your PC, you need to have all of them and the correct versions! :(  

By the way,  you need to set many environment variables also! :(

Here is what I did to over come that trouble some process… Wrote a batch script!

This is my directory structure!
 

C:\HackyStat\development\tools\ANT_HOME
C:\HackyStat\development\tools\APACHE_COMMONS_LOGGING_HOME
C:\HackyStat\development\tools\APACHE_JCS_HOME
...
C:\HackyStat\development\tools\SLF4J_HOME
C:\HackyStat\development\tools\SVNKIT_HOME
C:\HackyStat\development\tools\WICKET_HOME
C:\HackyStat\development\source\hackystat-analysis-dailyprojectdata
C:\HackyStat\development\source\hackystat-analysis-telemetry
C:\HackyStat\development\source\hackystat-sensor-ant
...
C:\HackyStat\development\source\hackystat-sensorbase-simdata
C:\HackyStat\development\source\hackystat-sensorbase-uh

Necessary external tools in tools directory, and the actual HackyStat
source code in source directory. :) How intuitive! :)

Some thing very interesting to be noted is tools\*_HOME
If HackyStat needs that environment variable, i have the required
files put in there! 

This is my SET_ENV.bat located at C:\HackyStat\development.

i.e. C:\HackyStat\development\SET_ENV.bat

@REM echo off
pushd %~dp0
SET JAVA_HOME=D:\JAVA_HOME
for /d %%d in ( tools\*_HOME ) DO (
    SET %%~nd=%%~fd
)

set PATH=%PATH%;%~dp0tools\ANT_HOME\bin
set HACKYSTAT_SENSORBASE_HOME=%~dp0source\hackystat-sensorbase-uh
set HACKYSTAT_DAILYPROJECTDATA_HOME=%~dp0source\hackystat-analysis-dailyprojectdata
set HACKYSTAT_TELEMETRY_HOME=%~dp0source\hackystat-analysis-telemetry
popd

So, before any development work, i run set_env.bat and all necessary
environment variables are set.

What if a new tool is added/removed? Just add/delete it from
the tools. Everything else would be taken care of.

By the way, I also wrote a shell script!

# To be sourced
for dir in  `pwd`/*_HOME ; do
    if [ -d $dir ]; then
        echo `basename $dir`=$dir
        export `basename $dir`=$dir
    fi
done

I hope this saves some time for the new HackyStat developers.

28, Jul 2008

Jupiter Plugin for Code Review

There is a great open source Eclipse Plugin for Code review – Jupiter. The User Guide is now available in PDF Format.

Jupiter Eclipse Plugin has a very good integration with your IDE and your configuration management system. If you are not using any IDE, this is the right time to start using Eclipse.

If you are not using any configuraiton management system, please tell me how you can still work withing a team. More about usage of Jupiter would follow.

More about installation has been very well documented at wiki page with google code.

Here is a short note on how to perform a review using Jupiter.

  1. Initiate a review.
    1. Name the review.
    2. Select files for review (Optional)
    3. Select users who would participate in review (Necessary)
  2. A “review” file would be created/appended. (This file is in XML format)
    1. This file would be one per project. (Remember project. Not folder/file. One project, one such file. This may be a micro limitation for very huge mis-orgranized projects.)
    2. Share this file with all peer developers through configuration management systems.
    Jupiter Plugin for Code Review
  3. Ask peer developers to pull in changes from configuration management system.
  4. Now peer developers/reviewers should press the Purple Button with Jupiter symbol.
  5. Now three stages of review would be performed.
    1. Individual
      Just collect the comments. Question is What is the issue?
    2. Team
      Question is who is going to address these comments?
      Just make sure that in the end one person works on one file. Do not assign same set of source file to multiple developers. Else when you merge developer changes, line number mismatch is destined to happen.
    3. Rework Phase
      Now address the comments, and fix them.
  6. At the end of all the three phases, you will have to push in changes to configuration management.
  7. It is suggested to have these three phases, as discrete as possible.
  8. Don’t forget the Golden sentence, “One developer, one source file to fix issues
  9. Close the review (Remove un-necessary files from configuration management system).

Jupiter Users Group

I and the Jupiter user group would be very happy to address your issues comments.
http://groups.google.com/group/jupiter-users

Feature Update Site

You can directly use this update site within your eclipse to update the eclipse plugin
http://jupiter-eclipse-plugin.googlecode.com/svn/trunk/site/