Prerequisites
Before you start make sure that you have the following prerequisites installed on your computer:
- Java (JDK) 5 or higher
- Subversion client
- Maven 2 (>2.1)
- Eclipse for Java Developers is optional, but the recommended development IDE. Eclipse Maven Plugin is recommended, too.
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 |
| parent pom for all dependometer projects | sub-project, now in trunk building a multimodule project | |
| 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.