Developer Guide

Prerequisites

Before you start make sure that you have the following prerequisites installed on your computer:

Dependometer might build or run with older versions of maven, but this is not tested.

Implementation Overview

Dependometer is written in Java. Its proper architecture is strongly decoupled consisting of a core for analysis control resp. metrics calculation and different provider implementations, each retrieving metainformation about the assessed software system, which can currently be either implemented or expressed in Java, C#, C++ or UML.

Check out and building projects

List of projects in SVN repository

name description state
dependometer-core Dependometer core functionality. This is independent from the concrete project you want to analyze. sub-project
dependometer-cpp C++ dependometer released
dependometer-java Java dependometer released
dependometer-csharp dotNet dependometer released
uml UML specific dependometer extension under development
pom parent pom for all dependometer projects sub-project, now in trunk building a multimodule project
valtech-ag legacy command line parsing, etc. used by core sub-project, now part of dependometer-core
examples code examples for dependometer modules example
maven-dependometer-plugin dependometer maven plugin released

SVN repository root: https://source.valtech.com/svn/repos/dependometer/

Checkout the dependometer trunk https://source.valtech.com/svn/repos/dependometer/trunk

In Eclipse import as a project (e.g. dependometer-core). The eclipse configuration is included.

Go to checked out root project and run

  • mvn install

    to built and install the jars in your local maven repository after the first checkout

Coding Conventions

Source Code Formatting
If developing with Eclipse, import the eclipse-formatter.xml settings from depedometer-core project. (Windows>Preferences>Java>Code Style>Formatter>Import...)

Encoding
Default file and character encoding is UTF-8.
Eclipse: Windows>Preferences>General>Workspace set text file encoding to other (UTF-8).

Iterative and agile release planning

For release and iteration planning we are using the JIRA/Greenhopper issue management system. Look up the dependometer project in the issue tracker here. It is recommended to browse the following resources if you are not so familiar with agile and iterative processes

Testing

Examine the Test Guide.

Run Dependometer with ant

You can also run the main class com.valtech.source.dependometer.ui.console.Main and add all jars in the lib dir to the classpath.
E.g. with Ant:

	<target name="dependometer-java" description="run dependometer">
            <java fork="true"
                failonerror="true"
                classname="com.valtech.source.dependometer.ui.console.Main">
                <arg line="-file config/dep.xml"/>
                <classpath>
                    <fileset dir="lib">
                        <include name="**/*.jar"/>
                    </fileset>
                </classpath>
            </java>
        </target>

Release Management

Consult the Release Guidelines.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.