yacg man page

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-2016

Info

2016-05-24 perl v5.24.0 User Contributed Perl Documentation