<commit_before>.Dd March 4, 2014
.Dt LIFTOFFRC 5
.Os
.
.Sh NAME
.Nm liftoffrc
.Nd configuration for liftoff
.
.Sh DESCRIPTION
The
.Xr liftoff 1
Xcode configuration tool can be configured using a
.Pa .liftoffrc
file in your home directory, or the directory from which you are running
.Ic liftoff .
This is a YAML file that defines a set of keys and values for configuring
.Ic liftoff .
.Pp
.Ic liftoff
will use the value for a given key from
.Pa ./.liftoffrc ,
then
.Pa ~/.liftoffrc .
If it can't find a value in those files, it will use the default configuration.
.
.Sh USAGE
You can use the lookup order to improve the experience when creating new
projects. For example, you can set the
.Ic author
key inside
.Pa ~/.liftoffrc :
.Pp
.Dl author: <NAME>
.Pp
Now, any projects you create will have your name set as the author by default.
.Pp
You can also use local
.Nm
files to customize information at a higher level. For example, you can set the
.Ic company
key inside
.Pa ~/dev/work-projects/.liftoffrc :
.Pp
.Dl company: thoughtbot
.Pp
Now, whenever you create projects for work, the company name will default to
.Ic thoughtbot ,
and the author name will default to
.Ic <NAME> .
.Pp
You can continue to create these for any directory in order to tweak the
settings for projects created inside them. For example, I also have
.Ic company
set inside
.Pa ~/dev/personal/.liftoffrc :
.Pp
.Dl company: <NAME>
.Pp
I could also set the
.Ic warnings
key to enable different warnings based on client requirements, or personal
preference.
.
.Sh CONFIGURATION
.Bl -tag -width 10
.It Ic configure_git
type: boolean
.br
default:
.Ic true
.Pp
Create
.Ic .gitignore ,
.Ic .gitattributes ,
and initialize git repo if needed.
.It Ic warnings_as_errors
type: boolean
.br
default:
.Ic true
.Pp
Turn warnings into errors on release builds.
.It Ic install_todo_script
type: boolean
.br
default:
.Ic true
.Pp
Add Run Script build phase to turn
.Ic TODO
and
.Ic FIXME
comments into warnings.
.It Ic enable_static_analyzer
type: boolean
.br
default:
.Ic true
.Pp
Turn on the static analyzer for the project.
.It Ic indentation_level
type: integer
.br
default:
.Ic 4
.Pp
Set the indentation width on the project (in spaces).
.It Ic use_tabs
type: boolean
.br
default:
.Ic false
.Pp
Configure the project to use spaces or tabs for indentation. As everyone knows,
you should really be using spaces for indentation. If you prefer to be wrong,
however, you can change this configuration to use tabs in your project.
.Pp
Note that this does
.Em not
affect the default templates. If you choose to be incorrect with your
indentation settings, we recommend that you also override the default templates
in order to be consistently wrong.
.It Ic warnings
type: array
.br
default: See
.Sx Warnings
.Pp
Enable the provided warnings for the Application target. Set to
.Ic false
to prevent warnings from being set.
.It Ic application_target_groups
type: dictionary
.br
default: See
.Sx Application Groups
.Pp
Generate the provided directory and group structure for the main Application
Target.
.It Ic unit_test_target_groups
type: dictionary
.br
default: See
.Sx Unit Test Groups
.Pp
Generate the provided directory and group structure for the Unit Test target.
.It Ic project_name
type: string
.br
default: none
.Pp
Set the default value for the project name when generating new projects. Not
defined by default.
.It Ic company
type: string
.br
default: none
.Pp
Set the default value for the company name when generating new projects. Not
defined by default.
.It Ic company_identifier
type: string
.br
default: based on company name
.Pp
Set the default value for the company identifier when generating new projects.
Default value is the provided company name, downcased and stripped of special
characters. For example:
.Ic My Company Name!
becomes
.Ic com.mycompanyname .
.It Ic author
type: string
.br
default: Pulled from the
.Ic gecos
field in
.Xr passwd 5
.Pp
Set the default value for the author name when generating new projects. The
current user's name will be automatically set as the default.
.It Ic prefix
type: string
.br
default: none
.Pp
Set the default value for the project prefix when generating new projects. Not
enabled by default.
.El
.
.Sh WARNINGS
.Ic liftoff
enables a set of warnings by default:<commit_msg>Update liftoffrc(5) for script phase changes<commit_after>.Dd March 4, 2014
.Dt LIFTOFFRC 5
.Os
.
.Sh NAME
.Nm liftoffrc
.Nd configuration for liftoff
.
.Sh DESCRIPTION
The
.Xr liftoff 1
Xcode configuration tool can be configured using a
.Pa .liftoffrc
file in your home directory, or the directory from which you are running
.Ic liftoff .
This is a YAML file that defines a set of keys and values for configuring
.Ic liftoff .
.Pp
.Ic liftoff
will use the value for a given key from
.Pa ./.liftoffrc ,
then
.Pa ~/.liftoffrc .
If it can't find a value in those files, it will use the default configuration.
.
.Sh USAGE
You can use the lookup order to improve the experience when creating new
projects. For example, you can set the
.Ic author
key inside
.Pa ~/.liftoffrc :
.Pp
.Dl author: <NAME>
.Pp
Now, any projects you create will have your name set as the author by default.
.Pp
You can also use local
.Nm
files to customize information at a higher level. For example, you can set the
.Ic company
key inside
.Pa ~/dev/work-projects/.liftoffrc :
.Pp
.Dl company: thoughtbot
.Pp
Now, whenever you create projects for work, the company name will default to
.Ic thoughtbot ,
and the author name will default to
.Ic <NAME> .
.Pp
You can continue to create these for any directory in order to tweak the
settings for projects created inside them. For example, I also have
.Ic company
set inside
.Pa ~/dev/personal/.liftoffrc :
.Pp
.Dl company: <NAME>
.Pp
I could also set the
.Ic warnings
key to enable different warnings based on client requirements, or personal
preference.
.
.Sh CONFIGURATION
.Bl -tag -width 10
.It Ic configure_git
type: boolean
.br
default:
.Ic true
.Pp
Create
.Ic .gitignore ,
.Ic .gitattributes ,
and initialize git repo if needed.
.It Ic warnings_as_errors
type: boolean
.br
default:
.Ic true
.Pp
Turn warnings into errors on release builds.
.It Ic run_script_phases
type: array
.br
default: See
.Sx SCRIPT PHASES
.Pp
Install the specified scripts as individual Run Script Build Phases. The
scripts that you want to add should be located inside either the local
.Pa .liftoff/templates/
directory, or the user's
.Pa ~/.liftoff/templates/
directory.
.Pp
Each item in the array should be a dictionary containing a single key/value
pair. The key for the dictionary will be used as the template script's name.
The value will be used as the name of the script phase inside Xcode.
.It Ic enable_static_analyzer
type: boolean
.br
default:
.Ic true
.Pp
Turn on the static analyzer for the project.
.It Ic indentation_level
type: integer
.br
default:
.Ic 4
.Pp
Set the indentation width on the project (in spaces).
.It Ic use_tabs
type: boolean
.br
default:
.Ic false
.Pp
Configure the project to use spaces or tabs for indentation. As everyone knows,
you should really be using spaces for indentation. If you prefer to be wrong,
however, you can change this configuration to use tabs in your project.
.Pp
Note that this does
.Em not
affect the default templates. If you choose to be incorrect with your
indentation settings, we recommend that you also override the default templates
in order to be consistently wrong.
.It Ic warnings
type: array
.br
default: See
.Sx WARNINGS
.Pp
Enable the provided warnings for the Application target. Set to
.Ic false
to prevent warnings from being set.
.It Ic application_target_groups
type: dictionary
.br
default: See
.Sx APPLICATION GROUPS
.Pp
Generate the provided directory and group structure for the main Application
Target.
.It Ic unit_test_target_groups
type: dictionary
.br
default: See
.Sx UNIT TEST GROUPS
.Pp
Generate the provided directory and group structure for the Unit Test target.
.It Ic project_name
type: string
.br
default: none
.Pp
Set the default value for the project name when generating new projects. Not
defined by default.
.It Ic company
type: string
.br
default: none
.Pp
Set the default value for the company name when generating new projects. Not
defined by default.
.It Ic company_identifier
type: string
.br
default: based on company name
.Pp
Set the default value for the company identifier when generating new projects.
Default value is the provided company name, downcased and stripped of special
characters. For example:
.Ic My Company Name!
becomes
.Ic com.mycompanyname .
.It Ic author
type: string
.br
default: Pulled from the
.Ic gecos
field in
.Xr passwd 5
.Pp
Set the default value for the author name when generating new projects. The
current user's name will be automatically set as the default.
.It Ic prefix
type: string
.br
default: none
.Pp
Set the default value for the project prefix when generating new projects. Not
enabled by default.
.El
.
.Sh SCRIPT PHASES
.Ic liftoff
installs a single Run Script Build Phase by default:
.Bd -literal
  - todo.sh: Warn for TODO and FIXME comments
.Ed
.Pp
This script turns any
.Ic TODO
or
.Ic FIXME
comments into warnings at compilation time.
.
.Sh WARNINGS
.Ic liftoff
enables a set of warnings by default:
{'fraction_non_alphanumeric': 0.055303030303030305, 'fraction_numerical': 0.0024891774891774893, 'mean_word_length': 3.866245392311743, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4365732', 'n_tokens_mistral': 2890, 'n_tokens_neox': 2817, 'n_words': 1504}