aede-policy(1)
NAME
aede-policy - check change set is ready for aede
SYNOPSIS
aede-policy [ option... ][ policy... ] aede-policy -Help aede-policy -VERSion aede-policy -List
DESCRIPTION
- The aede-policy command is used to verify that a change set is ready to end development. This is intended to be used by the develop_end_policy_command field of the project configuration file.
- develop_end_policy_command =
"aede-policy -p $project -c $change all";
- If any of the pilies should fail, the aede-policy command will fail with an exit status of 1. This, in turn, will cause the aede(1) command to leave the change in the being developed state.
- Note that the aede(1) command sets the appropriate environment variables, so the -Project and -Change options are rarely necessary.
- If no policies appear on the command line, the aede-policy project specific attribute will be checked. If it exists, it contains a list of space separated policy names.
- POLICIES
- There are a range of policies that can be selected.
- all Check all of the copyright, crlf, description and printable
policies.
- copyright
- This policy checks that each file in the change set contains a
copyright notice of the form
Copyright (C) year something
- where year is the current year (you can have a range of years,
too). Binary files are ignored. Change sets marked with a
foreign-copyright=true attribute are ignored, as are files similarly marked. The something part is either the project specific copyright-owner attribute, or the executing users full name. - crlf This policy cheks that all files are using UNIX line termina
- tion (NL), not DOS line termination (CRLF). Binary files are ignored.
- description
- This policy checks that the change set brief_description and description attributes have been updated to something other than the defaults.
- fsf-address
- This policy checks that the FSF address, if present in source
files, is up-to-date. This is useful for Free Software
projects. - gpl-version
- gpl-version=nn
- This policy checks files that cite the GNU GPL in their file
headers, to be sure they contain the correct version of the
GNU GPL. Defaults to version 3 if no version number specified. - line-length
- line-length=nn
- This policy checks that files have this maximum line length.
Defaults to 80 if no width is specified. Can be overridden
per file using the aede-policy-line-length file attribute. - merge-fhist
- This policy requires that there be no fmerge(1) conflict lines present in any source files. The name comes from the name of the package containing this tool: fhist.
- merge-rcs
- This policy requires that there be no merge(1) conflict lines present in any source files. The name comes from the name of the package containing this tool: rcs.
- no-tabs
- This policy checks that files have no tabs characters in them.
This is useful when a team of developers all use different
editors and differnt tab stops. By only using spaces, the
code is presented to all developers the same way. - This check is not applied to change sets with a Iforeign-copyright=true attribute, because you have little control over
them (change the tabs in a later change set, if at all). - This check is not applied to files which are called Makefile
or similar, and it is not applied to files carrying a aedepolicy-tabs-allowed=true attribute. - printable
- This policy checks that each file in the change set contains
only printable text characters and white space. The contenttype file attribute is taken into account; if there is no content-type file attribute, or there is no charset specified by the content-type file attribute, plain 7-bit ASCII text is assumed. - text This policy checks that each file in the change set contains
- only text, although international character sets are acceptable. This is basically a test for NUL characters, because
everything else could be part of a valid character encoding of some international character set. - white-space
- This policy checks that there is no white space on the ends of lines, that there are no blank lines at the ends of files.
- If no policy is specified, only the description policy will be checked.
OPTIONS
The following options are understood:
- -Change number
- This option may be used to specify a particular change within a project. See aegis(1) for a complete description of this option.
- -Help
- This option may be used to obtain more information about how
to use the aede-policy program. - -List List all of the available validations.
- -Project name
- This option may be used to select the project of interest.
When no -Project option is specified, the AEGIS_PROJECT environment variable is consulted. If that does not exist, the
user's $HOME/.aegisrc file is examined for a default project field (see aeuconf(5) for more information). If that does not exist, when the user is only working on changes within a single project, the project name defaults to that project. Otherwise, it is an error. - See also aegis(1) for options common to all aegis commands.
- All options may be abbreviated; the abbreviation is documented as the
upper case letters, all lower case letters and underscores (_) are
optional. You must use consecutive sequences of optional letters. - All options are case insensitive, you may type them in upper case or
lower case or a combination of both, case is not important. - For example: the arguments "-project, "-PROJ" and "-p" are all interpreted to mean the -Project option. The argument "-prj" will not be understood, because consecutive optional characters were not supplied.
- Options and other command line arguments may be mixed arbitrarily on
the command line, after the function selectors. - The GNU long option names are understood. Since all option names for aede-policy are long, this means ignoring the extra leading '-'. The "--option=value" convention is also understood.
EXIT STATUS
The aede-policy command will exit with a status of 1 on any error.
The aede-policy command will only exit with a status of 0 if there are
no errors.
ENVIRONMENT VARIABLES
See aegis(1) for a list of environment variables which may affect this
command. See aepconf(5) for the project configuration file's
project_specific field for how to set environment variables for all
commands executed by Aegis.
SEE ALSO
aede(1) end development of a change
- aepconf(5)
- project configuration file
COPYRIGHT
aede-policy version 4.24.3.D001
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Peter
Miller
The aede-policy program comes with ABSOLUTELY NO WARRANTY; for details
use the 'aede-policy -VERSion License' command. This is free software
and you are welcome to redistribute it under certain conditions; for
details use the 'aede-policy -VERSion License' command.
AUTHOR
- Peter Miller E-Mail: millerp@canb.auug.org.au
/\/\* WWW: http://www.canb.auug.org.au/~millerp/