Setup of Development environment: Difference between revisions

From OpenPetra Wiki
Jump to navigation Jump to search
Line 1: Line 1:
== Required software ==
== Required software ==
=== Windows Development environment ===
* Git (see also some [[Notes about Git]])
* Git (see also some [[Notes about Git]])
* Microsoft .Net 3.5 Redistributable and SDK (we only use .Net 2.0 for OpenPetra, but SharpDevelop requires .Net 3.5)
* Microsoft .Net 3.5 Redistributable and SDK (we only use .Net 2.0 for OpenPetra, but SharpDevelop requires .Net 3.5)
* SharpDevelop 3.0
* SharpDevelop 3.0
* NAnt (see also some [[Notes about NAnt]])
* NAnt (see also some [[Notes about NAnt]])
* one of the follwoing Database Management systems:
* one of the following Database Management systems:
** PostgreSQL (recommended) [[Notes about PostgreSQL]]
** PostgreSQL (recommended) [[Notes about PostgreSQL]]
** MySQL [[Notes about MySQL]]
** MySQL [[Notes about MySQL]]
Line 11: Line 12:
* Mono (for translation)
* Mono (for translation)
* Inno Setup 5 for building setup files
* Inno Setup 5 for building setup files
=== Linux Development environment ===
Please add information for other distributions that you are working with!
==== Git ====
* on Ubuntu/Debian: apt-get install git-core
==== MonoDevelop 2.x ====
* on Ubuntu/Debian: apt-get install mono-2.0-runtime monodevelop
==== NAnt ====
* on Ubuntu/Debian: apt-get install nant
** Problem: NAnt 0.85 (Build 0.85.2478.0; release; 10/14/2006) does not seem to support the task "solution" on Linux? <code>Invalid element &lt;solution&gt;. Unknown task or datatype.</code>
** Solution: copy binary zip from sourceforge, unzip, and change /usr/bin/nant to point at the latest NAnt.exe
** Also you need to make a symbolic link:
ln -s /usr/lib/mono/2.0/Microsoft.CSharp.targets /usr/lib/mono/2.0/Microsoft.CSharp.Targets
==== SQLite or PostgreSQL ====
* on Ubuntu/Debian: apt-get install sqlite3; or apt-get install postgresql


== Get the source code ==
== Get the source code ==

Revision as of 16:18, 18 June 2009

Required software

Windows Development environment

  • Git (see also some Notes about Git)
  • Microsoft .Net 3.5 Redistributable and SDK (we only use .Net 2.0 for OpenPetra, but SharpDevelop requires .Net 3.5)
  • SharpDevelop 3.0
  • NAnt (see also some Notes about NAnt)
  • one of the following Database Management systems:
  • Poedit (for translation) (see also Notes about I18N)
  • Mono (for translation)
  • Inno Setup 5 for building setup files

Linux Development environment

Please add information for other distributions that you are working with!

Git

  • on Ubuntu/Debian: apt-get install git-core

MonoDevelop 2.x

  • on Ubuntu/Debian: apt-get install mono-2.0-runtime monodevelop

NAnt

  • on Ubuntu/Debian: apt-get install nant
    • Problem: NAnt 0.85 (Build 0.85.2478.0; release; 10/14/2006) does not seem to support the task "solution" on Linux? Invalid element <solution>. Unknown task or datatype.
    • Solution: copy binary zip from sourceforge, unzip, and change /usr/bin/nant to point at the latest NAnt.exe
    • Also you need to make a symbolic link:
ln -s /usr/lib/mono/2.0/Microsoft.CSharp.targets /usr/lib/mono/2.0/Microsoft.CSharp.Targets

SQLite or PostgreSQL

  • on Ubuntu/Debian: apt-get install sqlite3; or apt-get install postgresql

Get the source code

The source code is managed with Git. You can get the source code in several ways:

Git with write permission

Please understand that we will provide write permissions only to the core members of the development team, just to keep the project on one track. We very much need your contributions though, and we will aim to quickly deal with submitted patches and code via the forum. This still has to be worked out how this works best to submit code that way.

Create an empty repository like this, and create a disk drive on that directory (this is useful if you want exactly the same setup as everybody else; you can choose the part of c:\OpenPetra yourself, but U:\ will always be the same; alternatively see below how to change the OpenPetra.build file)

 mkdir c:\OpenPetra
 subst u: c:\OpenPetra

Make a local copy of the git repository (these are the commands for Git Bash; TortoiseGit also works fine for me):

cd u:
mkdir OpenPetra
cd OpenPetra
git clone ssh://USERNAME@openpetraorg.git.sourceforge.net/gitroot/openpetraorg
git config user.name "YOUR NAME"
git config user.email "USERNAME@users.sourceforge.net"

Build the code

  • there is a central NAnt script that is able to generate a lot of code and is able to do all automated tasks in the OpenPetra project.
  • you need to make a copy of the file OpenPetra.build-sample.config and call it OpenPetra.build.config
copy OpenPetra.build-sample.config OpenPetra.build.config
    • you might need to either change the directory paths, or alternatively you can create a virtual U: drive on the command line:
subst u: "c:\my files\unzippedOpenPetra"

get help

To see the available commands, just run on the command line:

cd OpenPetra
nant help

initial steps

First you need to compile the PetraTools which is a set of programs for creating databases and more:

nant compileCommon
nant compilePetraTools

Now you need to create a database. If you don't change the config file, the SQLite database system will be used.

nant recreateDatabase

Then you want to load the database with base data:

nant resetDatabase

You should compile OpenPetra.org this way:

nant compilePetra

Start the OpenPetra.org Server:

nant startPetraServer

Start the OpenPetra.org client:

nant startPetraClient

With the base database, there is the user demo with password demo that you can use to login to your installation of OpenPetra.org.

See Preview: Current functionality for information what is actually working already.

Stop the OpenPetra.org Server:

nant stopPetraServer

todo

  • generate files for translation (gettext, Poedit)