FAQ's for Developers

From OpenPetra Wiki
Jump to navigation Jump to search

Source Code Repository

Q: Which source code repository system are you using?

We use Bazaar. It is a decentralized version control system (DVCS) that helps in tracking project history over time and allows for effective and easy collaboration with many developers in different locations.

This is the link to our Bazaar Repository: [1]


Continuous Integration/Build Server

Q: Do you build regularly?

Yes, we do. We have a Continuous Integration server, Hudson. It runs a build after every check-in of source code into our Bazaar source code repository system.

This is the link to our Hudson server: [2]


Notifications of What is Happening

Q: Do you have a Developer's Blog or Mailing Lists?

We don't have a developer's blog and we don't have mailing lists either. We have Forums instead, which can be subscribed to with RSS feeds. The Developer's Forum provides a better structure than a blog for the purposes of communication between developers/potential developers because the Forum provides a threaded format rather than just a long list of entries that is ordered by date.

In addition to that we have hourly notification emails for Forum changes, Mantis Bug changes, and wiki changes that our developers all are subscribed to (such emails are sent only if changes happen, of course). These email notifications can't be subscribed to directly. Instead, an administrator needs to set those up for each developer as they are a done with a custom solution.

Note: We have a Project Blog which is accessible from the 'News' section of the web site, but that is general and not just for developers. It can be subscribed to with RSS feeds.

Additional some OpenPetra developer's have a personal blog. See http://www.openpetra.org/index.php?lang=en&page=developers-blogs

Q: Do you have notifications for source code commits?

No, not at the moment. Source code repository changes can be browsed manually here: [3]


Compiling

Compiler Errors

Q: I get 'File name xyz is too long or invalid' message

[solution] Building 'Ict.Petra.Client.MReporting.Gui.MConference' [Debug] ...
[solution] CSC: Error CS2021: File name '..\..\..\..\_bin\ObjCode\Ict.Petra.Client.MReporting.Gui.MConference.TFrmAttendanceSummaryReport.resources' is too long or invalid
[solution] Project 'Ict.Petra.Client.MReporting.Gui.MConference' failed!
[solution] Continuing build with non-dependent projects.
[solution] Building 'Ict.Petra.Client.MFinance.Gui.Gift' [Debug] ...
[solution] Building 'Ict.Petra.Client.MPartner.Gui' [Debug] ...
[solution] Building 'Ict.Petra.Client.MReporting.Gui.MPersonnel' [Debug] ...
File name '..\..\..\..\_bin\ObjCode\Ict.Petra.Client.MReporting.Gui.MConference.TFrmAttendanceSummaryReport.resources' is too long or invalid
[solution] CSC: Error CS2021: File name '..\..\..\..\_bin\ObjCode\Ict.Petra.Client.MReporting.Gui.MPersonnel.TFrmEmergencyContactReportStaff.resources' is too long or invalid
[solution] Project 'Ict.Petra.Client.MReporting.Gui.MPersonnel' failed!

Solution: my working path had too many characters "C:\Documents and Settings\timotheusp\My Documents\openpetra\bzr\dev_0000159_exportimportgiftbatch". I renamed the branch part, and compilation works fine again!


Unit Testing

NUnit

Q: I get 'Assembly Not Loaded: System.BadImageFormatException' Exception

When starting NUnit on 64-bit Windows, you might get this error:

Assembly Not Loaded
System.BadImageFormatException : Could not load file or assembly 'Tests.Common, Version=0.0.9.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
An attempt was made to load a program with an incorrect format.
You may be attempting to load an assembly built with a later version of the CLR than the version 
under which NUnit is currently running (2.0.50727) or trying to load a 64-bit assembly into a 32-bit process.

Solution: run the nunit-x86.exe instead of the nunit.exe from your directory C:\Program Files (x86)\NUnit 2.5.8\bin\net-2.0 or similar.


Q: How can I include the sources of NUnit-Forms in my test software developement?

The standard unit tests of openpetra are handled by NUnit extended by NUnit-Forms. NUnit-Forms seems to be a project which has terminated some years ago and so it may be necessary to develop some own little extensions. In the very first level you can create a “development tool” combined by the NUnit-Forms-Sources and NUnit.

Actually the NUnit-Forms-dll is delivered inside the source tree and stored in the path \csharp\ThirdParty\NUnit.

Furthermore there exists a zip file which contains the our internal status of the NUnit-Forms sources. The zip-file can be unzipped anywhere else on the pc. Inside of the nunitforms\source-folder you’ll find the solution file NUnitForms.sln. Inside of this file you find the relevant project NUnitForms.

  1. Select this project, select “properties” and
  2. then select the tab “Compiling”
  3. then let the output path point to \csharp\ThirdParty\NUnit
  4. start a dll-build by using F8 (Sharp-Develop)

Then in case of an error not only the test routines are shown in NUnit but the other NUnitForms-Routines too. Of course, it is a something simple development suite because you cannot single step debug or something else. You only can use this static viewer and in the TextOutput-Tab you can place some messages using System.Console.Writeln.


More questions?

Just ask a question in this [Forum].

Other FAQ Pages

FAQ's for the General Community