= !CodeBase = The !InfoGrid code base is organized as follows: '''Note: This changed January 2010.''' (Go to an [http://infogrid.org/wiki/Docs/CodeBase?version=4 old version] of this page for the old layout.) All paths are relative to [wiki:Docs/Subversion Subversion] URL `http://svn.infogrid.org/infogrid/`, where `` is one of the [wiki:Docs/SubversionBranches Subversion Branches]. == Project directories == Each !InfoGrid [wiki:Project Projects] has its own top-level directory: * `ig-apps`: !InfoGrid applications ([wiki:Projects/ig-apps project description]) * `ig-contrib`: external contributions ([wiki:Projects/ig-contrib project description]) * `ig-graphdb`: the standalone !InfoGrid graph database ([wiki:Projects/ig-graphdb project description]) * `ig-graphdb-grid`: extends `ig-graphdb` so [wiki:MeshBase MeshBases] can peer with each other in a grid ([wiki:Projects/ig-graphdb-grid project description]) * `ig-lid`: user-centric identity support for LID and OpenID ([wiki:Projects/ig-lid project description]) * `ig-model-library`: library of pre-defined [wiki:Model Models] for the graph database ([wiki:Projects/ig-model-library project description]) * `ig-probe`: [wiki:Docs/ProbeFramework Probe Framework] and library of [wiki:Probe Probes] ([wiki:Projects/ig-probe project description]) * `ig-stores`: the [wiki:Store] API and common implementations of [wiki:Store] ([wiki:Projects/ig-stores project description]) * `ig-ui`: !InfoGrid user interface facilities ([wiki:Projects/ig-ui project description]) * `ig-utils`: commonly used coding infrastructure and utilities ([wiki:Projects/ig-utils project description]) Within each of those directories, the structure documented in the next section can be found. Additionally, the following directories exist: * `ig-config`: configuration files for the build * `ig-tools`: build tools * `ig-vendors`: vendor libraries == Project top-level directories == `modules`:: [wiki:Module Modules] belonging to this [wiki:Project]. `apps`:: Web applications belonging to this [wiki:Project Projects], if any. `tests`:: Test [wiki:Module Modules] to test the [wiki:Module Modules] in this [wiki:Project]. `testapps`:: Test applications for this [wiki:Module], often invoked by test [wiki:Module Modules] contained in the `test` directory. == Structure of a StandardModule == `build`:: Temporary build artifacts `build.xml`:: Main build file. Most [wiki:Module Modules] just import the !InfoGrid build library at `ig-tools/infogrid-ant-library.xml`. `dist`:: Build output, including the [wiki:Module]'s JAR file, and the [wiki:Module]'s [wiki:ModuleAdvertisement] in different formats. `infogrid-moduleads`:: Contains the [wiki:Module]'s [wiki:ModuleAdvertisement] called `module.adv`. `nbproject`:: !NetBeans project files `src`:: Java sources `web`:: Web files such as JSPs. == Structure of a ModelModule == `build`:: Temporary build artifacts `build.xml`:: Main build file. Most [wiki:Module Modules] just import the !InfoGrid build library at `ig-tools/infogrid-ant-library.xml`. `dist`:: Build output, including the [wiki:Module]'s JAR file, and the [wiki:Module]'s [wiki:ModuleAdvertisement] in different formats. `infogrid-moduleads`:: Contains the [wiki:Module]'s [wiki:Model] file called `model.xml` from which the build will automatically derive the [wiki:Module]'s [wiki:ModuleAdvertisement]. `nbproject`:: !NetBeans project files `src`:: Java sources `web`:: Web files such as JSPs. When using the [wiki:Docs/ViewletFramework Viewlet Framework], the additional [wiki:Docs/ViewletFrameworkFileSystemStructure Viewlet Framework File System Structure] conventions apply. {{{ #!html
}}} See also: * [wiki:Docs/ViewletFrameworkFileSystemStructure Viewlet Framework File System Structure] * [wiki:Docs/BuildInstructions Build Instructions] * [wiki:Docs/NetBeansSetup NetBeans Setup] * [wiki:Docs/Subversion Subversion].