moneyguru /

Filename Size Date modified Message
ambuttonbar [3a78a79214b2]
cocoa
cocoalib [b68cc628471d]
core
data
help
hsdocgen [8c94ba7bea60]
hsgui [1820e2868ea0]
hsutil [2ee9e10fdae6]
images
psmtabbarcontrol [28ee8eb24ac2]
qt
qtlib [23246d64fef2]
237 B
313 B
353 B
479 B
1.7 KB
3.0 KB
3.2 KB
1.2 KB
1.2 KB
922 B
Contents
=====

This package contains the source for moneyGuru. To learns how to build it, refer to the "Build moneyGuru" section. Below is the description of the various subfolders:

- core: Contains the core logic code for moneyGuru. It's Python code written in TDD style.
- cocoa: UI code for the Cocoa toolkit. It's Objective-C code.
- qt: UI code for the Qt toolkit. It's written in Python and uses PyQt. Before redistributing changes in this part of the code, read the "qt/WARNING" file.
- images: Images used by the different UI codebases.
- data: Data used by the different UI codebases.
- currency_server: Code used for currency.hardcoded.net

There are also other sub-folder that comes from external repositories (automatically checked out
with svn:externals):

- hsutil: A collection of helpers used across HS applications.
- hsdocgen: An ad-hoc document generation used across HS project (used for help files)
- cocoalib: A collection of helpers used across Cocoa UI codebases of HS applications.
- ambuttonbar: A fork of AMButtonBar with support for 64-bit
- psmtabbarcontrol: A fork of PSMTabBarControl with support for 64-bit.
- qtlib: A collection of helpers used across Qt UI codebases of HS applications.

moneyGuru Dependencies
=====

Before being able to build moneyGuru, a few dependencies have to be installed:

General dependencies
-----

- Python 2.6 (http://www.python.org)
- Mako, to generate help files. (http://www.makotemplates.org/)
- PyYaml, for help files and the build system. (http://pyyaml.org/)
- Nose, to run unit tests. (http://somethingaboutorange.com/mrl/projects/nose/)

OS X prerequisites
-----

- XCode 3.1 (http://developer.apple.com/TOOLS/xcode/)
- Sparkle (http://sparkle.andymatuschak.org/)
- PyObjC 2.2. (http://pyobjc.sourceforge.net/)
- py2app (http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html)
	If you want to build moneyGuru in 64-bit, you'll have to use HS's own forks of py2app and macholib, available at http://hg.hardcoded.net/py2app and http://hg.hardcoded.net/py2app . More details about this at http://www.hardcoded.net/articles/building-64-bit-pyobjc-applications-with-py2app.htm

Windows prerequisites
---

- PyQt 4.6 (http://www.riverbankcomputing.co.uk/news)
- PyInstaller, if you want to build a exe. You don't need it if you just want to run moneyGuru. (http://www.pyinstaller.org/)
- Advanced Installer, if you want to build the installer file. (http://www.advancedinstaller.com/)

Building moneyGuru
=====

First, make sure you meet the dependencies listed in the section above. Then you need to configure your build with:

	python configure.py
	
If you want, you can specify a UI to use with the `--ui` option. So, if you want to build moneyGuru with Qt on OS X, then you have to type `python configure.py --ui=qt`. You can also use the `--dev` flag to indicate a dev build (it will build `mg_cocoa.plugin` in alias mode).

Then, just build the thing and then run it with:

	python build.py
	python run.py

If you want to create ready-to-upload package, run:

	python package.py
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.