const classafFpm::FpmConfig
sys::Obj afFpm::FpmConfig
FpmConfig is gathered from a hierarchy of fpm.props files. These files are looked for in the following locations:
<FAN_HOME>/etc/afFpm/fpm.props<WORK_DIR>/etc/afFpm/fpm.props./fpm.props./../fpm.props./../../fpm.props(...and so on...)
Note that the config files are additive but the values are not. If all 3 files exist, then all 3 files are merged together, with config values from a more specific file replacing (or overriding) values found in less specific one.
<WORK_DIR> may be specified with the FPM_ENV_PATH environment variable. This means that ALL the config for FPM may live outside of the Fantom installation. The only FPM file that needs to live in the Fantom installation is the afFpm.pod file itself.
Config may be removed by specifying an empty string as a value. For example, to remove the eggbox repository:
fanrRepo.eggbox =
Read the comments in the actual fpm.props file itself for more details.
- baseDir
const File baseDirThe directory used to resolve relative files.
- configFiles
const File[] configFilesThe
fpm.propsfiles used to generate this class.- dirRepos
A map of named directory repositories. These are essentially just dirs of pods.
- dump
Str dump()Dumps debug output to a string. The string will look similar to:
FPM Environment: Target Pod : afIoc 3.0+ Base Dir : C:\ Fan Home Dir : C:\Apps\fantom-1.0.70 Work Dirs : C:\Repositories\Fantom C:\Apps\fantom-1.0.70 Temp Dir : C:\Repositories\Fantom\temp Config Files : C:\Apps\fantom-1.0.70\etc\afFpm\config.props Dir Repos : workDir = C:\Repositories\Fantom fanHome = C:\Apps\fantom-1.0.70/lib/fan/ Fanr Repos : default = C:\Repositories\Fantom\repo-default eggbox = http://eggbox.fantomfactory.org/fanr/ release = C:\Repositories\Fantom\repo-release repo302 = http://repo.status302.com/fanr/- extraPods
const Depend[] extraPodsA list of extra pods to be resolved alongside the target pod.
- fanrRepos
A map of named fanr repositories, may be local or remote.
- homeDir
const File homeDirThe Fantom installation.
- launchPods
const Str[] launchPodsA list of libraries used to launch applications
- macros
The macros applied to repository paths.
- props
The properties gleaned from the
configFiles(after macros have been applied).- repositories
Repository[] repositories()Returns a list of all repositories. Note that some repositories may point to the same directory / URL.
- repository
Repository? repository(Str repoName, Str? username := null, Str? password := null)Returns a
Repositoryinstance for the named repository.repoNamemay be either adirRepoor afanrRepo.- tempDir
const File tempDirThe temp directory.
- workDirs
const File[] workDirsA list of working directories. The
workDiras returned byFpmEnvis is always first item in this list.homeDiris always the last entry in the list, so it is never empty.