Build System for OpenPetra

From OpenPetra Wiki
Jump to navigation Jump to search


The build system is done with NAnt. Some functions are written directly in C# in the build files, but we also have plugins in inc/nanttasks.

Plugins Ict.Tools.NAntTasks.dll

  • Postgresql plugin: run sql statements against PostgreSQL
  • Mysql plugin: run sql statements against MySQL
  • DotNetExec plugin for running other Petra Tools
  • CsDepend plugin: Calculate the dependencies between the C# files and generate nant files

Building Ict.Tools.NAntTasks.dll

No Project File or Solution File exists for building of the Ict.Tools.NAntTasks.dll Assembly!

The only way to build Ict.Tools.NAntTasks.dll (e.g. after some modifications to the source code found in *.cs files in \inc\nanttasks\) is to use the 'nant nanttasks' command (which executes \inc\nanttasks\!

Configuration files

You could add a configuration file called parallel to the file for setting properties, which differ to the standard value. All possible properties could be seen in inc/nant/OpenPetra.common.xml.

For example using postgresql instead of SQLite, you would use:

<?xml version="1.0"?>
<project name="OpenPetra" default="help">
    <property name="DBMS.Type" value="postgresql"/>
    <property name="DBMS.Password" value="hm5MMxmjthwalVK2PXwN"/>

Most of the time you need this file for adding database information or using programs, which are not installed in the typical location or differ in the version.

Development with the Build System

See Build system with our own NAnt tools and tasks.