Lionel Cons

NAME

yacg - Yet Another Configuration Generator

SYNOPSIS

yacg [OPTIONS] PATH

yacg --help|--manual|--version

DESCRIPTION

yacg reads the given high-level configuration file, carefully validates it and generates ready-to-use (configuration) files.

The high-level configuration file can be altered using the --set, --unset and --merge options. It can be inspected using the --dump option.

The files can be generated at their final location (by default) or elsewhere (using the --rootdir option). yacg can also be instructed to check the files without changing them via the --noaction option.

yacg can use a "manifest" file to keep track of which files it generated so that it can later remove the files that it does not generate anymore, see the --manifest and --clean options.

yacg by itself does not know how to generate files. The --home option (and optionally the --include option) must be used to tell the program where to find domain specific modules knowing how to translate the high-level configuration into individual ready-to-use files.

OPTIONS

--clean

remove the files present in the old "manifest" file but not in the new one

--debug, -d

show debugging information

--dump

instead of generating files, dump the high-level configuration; this option can be given multiple times:

1: dump after loading the configuration
2: dump after hacking the configuration
3: dump after validating the configuration
--dump-format NAME

set the output format for the --dump option; possible values: Config::General (default) and JSON

--help, -h, -?

show some help

--home, -H PATH

set the home directory where the cfg, lib and tpl sub-directories may be located

--include, -I PATH

add the given directory to the list of paths that will be looked at to find configuration files, Config::Generator modules or templates; this option can be given multiple times

--manifest PATH

store the list of files that yacg handled in the given "manifest" file

--manual, -m

show this manual

--merge PATH=VALUE

hack the loaded configuration to merge the given value at the given path

--noaction, -n

print what would be done but do not actually touch the generated files

--quiet, -q

set the verbosity level to 0

--rndfile PATH

set the path of the file that will be used as seed to generate random data

--rootdir PATH

set the path specifying where the generated files will be put

--set PATH=VALUE

hack the loaded configuration to set the given value at the given path

--spec PATH

store the list of files that yacg handled in the given "spec" file (same format as rpm's spec %files)

--unset PATH

hack the loaded configuration to unset the given path

--verbose, -v

increase the verbosity level (default: 1)

--version

display version information

SEE ALSO

Config-Generator.

AUTHOR

Lionel Cons http://cern.ch/lionel.cons

Copyright (C) CERN 2013-2014