$G: Difference between revisions
mNo edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
== $G in principle == | |||
GfxTools a.k.a $G is a software development framework for keeping projects organized and usable over time. Several of its key goals are: | GfxTools a.k.a $G is a software development framework for keeping projects organized and usable over time. Several of its key goals are: | ||
# Standardization - using a common development framework makes it a lot easier for folks within our group to pitch in with development, use tools others have created, pick up someone else's project after he/she graduates, and make sure that your own project lives on after you graduate. | # Standardization - using a common development framework makes it a lot easier for folks within our group to pitch in with development, use tools others have created, pick up someone else's project after he/she graduates, and make sure that your own project lives on after you graduate. | ||
| Line 16: | Line 9: | ||
# Source control for software projects - $G uses CVS to manage source projects. | # Source control for software projects - $G uses CVS to manage source projects. | ||
Here's how | == [[$G in practice]] == | ||
Here's how $G works: Whenever you start a shell, the environment variable "G" is set to point to the root of the $G directory tree. To change directories to go there, you would type "cd $G", hence the name "$G". The directory that $G points is actually different depending on the architecture of the machine that you are on, this means that you can trust that everything within $G/bin will run on your machine. Likewise, libraries in $G/lib are compiled for your machine/OS, etc.. | |||
There is a Unix-like directory structure within $G. Here's a description of the directories you will find inside each architecture specific $G tree: | There is a Unix-like directory structure within $G. Here's a description of the directories you will find inside each architecture specific $G tree: | ||
| Line 27: | Line 22: | ||
* $G/man: Project documentation in unix man page format. | * $G/man: Project documentation in unix man page format. | ||
* $G/src: CVS controlled projects in subdirectories. | * $G/src: CVS controlled projects in subdirectories. | ||
''While this page is under construction, you might find the [http://vis.cs.brown.edu/resources/doc/gfxtools-docs/index.html old online $G doc] useful.'' | |||
== [[Transition to new $G]] == | |||
---- | |||
'''In December 2008 [mailto:bb@cs.brown.edu Bradley Berg] began redesigning $G and the documentation on the transition can be found [[Dollarg 2009|here]].''' | |||
---- | |||
[[Category:$G]][[Category:Software Development]][[Category:IT Tools]] | [[Category:$G]][[Category:Software Development]][[Category:IT Tools]] | ||
Revision as of 15:33, 19 April 2010
$G in principle
GfxTools a.k.a $G is a software development framework for keeping projects organized and usable over time. Several of its key goals are:
- Standardization - using a common development framework makes it a lot easier for folks within our group to pitch in with development, use tools others have created, pick up someone else's project after he/she graduates, and make sure that your own project lives on after you graduate.
- Dependable demos and software libraries - $G provides an environment where software libraries and demos can be installed and used by the group.
- Easy cross-platform development - $G utilizes the same software organization and Makefiles across multiple development platforms.
- Source control for software projects - $G uses CVS to manage source projects.
$G in practice
Here's how $G works: Whenever you start a shell, the environment variable "G" is set to point to the root of the $G directory tree. To change directories to go there, you would type "cd $G", hence the name "$G". The directory that $G points is actually different depending on the architecture of the machine that you are on, this means that you can trust that everything within $G/bin will run on your machine. Likewise, libraries in $G/lib are compiled for your machine/OS, etc..
There is a Unix-like directory structure within $G. Here's a description of the directories you will find inside each architecture specific $G tree:
- $G/bin: Installed executables and scripts.
- $G/data: A symlink to a data directory that is common amoung all the $G trees. Sci-vis data is organized and stored inside here.
- $G/doc: Project documentation in non-man format. Typically, html generated from javadoc or doxygen, README files for demos, etc..
- $G/help: Contains $G specific documentation, like this webpage.
- $G/lib: Installed libraries, shared libraries, and program resource files like config files, icons, sounds, etc.. inside project specific subdirectories.
- $G/man: Project documentation in unix man page format.
- $G/src: CVS controlled projects in subdirectories.
While this page is under construction, you might find the old online $G doc useful.
Transition to new $G
In December 2008 Bradley Berg began redesigning $G and the documentation on the transition can be found here.