The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

fm_check_struct - Runs some tests on a given file structure with custom files.

VERSION

version 0.7.2

SYNOPSIS

fm_check_struct [options] [-e] [PATH_TO_CONFIG.CDB] PATH_TO_STRUCTURE

This script compares a given config.pro file with the loaded options within the given cdb file. The config.pro file is also checked against duplicate entries of options.

Options:

  --help             -?   Prints this help.
  --version               Prints current version.
  --verbose          -v   The verbose level. 0 - least output, 2 most output (Default: 1).
  --case-insensitive -i   Ignores all differences, with existing value, but different cases (e.g. YES and yes)
                          The default is to print those differences in cyan. The count of ignored
                          values is displayed.
  --description      -d   Displays the description of each printed option.
                          Only available, if a database can be queried.
  --archive          -a   Create a zip archive from checked structure (Excludes all hidden files and directories.
  --force            -f   Forces to create the archive, even tests have failed.
  --environment      -e   Create a new environment to start ProE with all settings and files from PATH_TO_STRUCTURE

Normally you won't specify a cdb file. Just run fm_create_help before you run this script to create a database. If you do not want or cannot create a database for the installtion you want to use, specify a cdb file. If no cdb file is given, it tries to figure out the correct installation with help of $ENV{PATH}.

If you enable environment without giving a path, this script uses the default environment directory from the settings file and creates an folder with the same name as the PATH_TO_STRUCTURE, but with actual date suffixed.

Example:

  fm_check_struct c:\proeWildfire5\text\config.cdb c:\proeWildfire5\

DESCRIPTION

fm_check_struct checks the given directory with config and other custom files for consistency. Therefore it parses the config.pro, and checks that all referenced files are in there relative location to this config.pro. The aim is, to make sure, that all files are at their place on all stations, after copying the checked structure into the existing installations.

An example of an expected structure for the following config.pro can be:

 DRAWING_SETUP_FILE $PRO_DIRECTORY\text\din.dtl
 SYSTEM_COLORS_FILE $PRO_DIRECTORY\text\syscol.scl
 !PEN_TABLE_FILE    $PRO_DIRECTORY\text\table.pnt
 TEMPLATE_SOLIDPART $PRO_DIRECTORY\templates\mmns_part_solid.prt
PATH_TO_STRUCTURE
text

fm_check_struct expects all files referenced with $PRO_DIRECTORY\text in config.pro within this directory. According to the above config.pro it is din.dtl and syscol.dtl, but not PEN_TABLE_FILE, because it's commented out.

config.pro

See related content above.

din.dtl

Because of the option in config.pro

templates

Same as for text directory explained above. According to above config.pro it expects the TEMPLATE_SOLIDPART here.

solid_mmns.part

Because of the option "template_solidpart" in config.pro

AUTHOR

Joachim Langenbach <langenbach@imw.tu-clausthal.de>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2015 by TU Clausthal, Institut fuer Maschinenwesen.

This is free software, licensed under:

  The GNU General Public License, Version 2, June 1991