lazarus/components/projecttemplates
martin 65c8f9b6ed clean up hint
git-svn-id: trunk@41883 -
2013-06-25 09:20:51 +00:00
..
languages Translations: reverted Arabic translation to r37531 #c73fdaff8b by request of Mazen Neifer (current Arabic translation maintainer). Reason is poor quality/machine translation, which makes hard to use translated IDE. 2013-05-21 19:34:39 +00:00
frmtemplatesettings.lfm Components, converter, debugger, doceditor: third batch of TButtonPanel captions cleanup 2011-10-03 22:48:51 +00:00
frmtemplatesettings.pas Components, Project templates: improved localization 2011-05-04 22:02:18 +00:00
frmtemplatevariables.lfm Components, project templates: 2010-06-14 17:17:27 +00:00
frmtemplatevariables.pas Components, Project templates: improved localization 2011-05-04 22:02:18 +00:00
idetemplateproject.pp clean up hint 2013-06-25 09:20:51 +00:00
Makefile updated makefiles 2013-04-29 19:49:55 +00:00
Makefile.compiled ideintf: moved to components 2013-04-23 07:04:51 +00:00
Makefile.fpc updated makefiles 2013-04-29 19:49:55 +00:00
projecttemplates.pp Revert "Use AllFilesMask everywhere instead of GetAllFilesMask, mask must be fixed in FPC libs" 2013-04-30 16:35:02 +00:00
projtemplates.lpk projecttemplates: disabled auto update makefiles 2012-03-22 14:09:42 +00:00
projtemplates.pas components: return correct file case for packages units 2010-07-14 15:52:03 +00:00
README.txt * Updated README with copy of Tom Verhoeff 2008-08-23 11:05:01 +00:00

This package implements project templates.

Installing this package in the IDE adds a category to the 'File-New' dialog:
'Template projects'

It also adds a 'New project from Template' menu item to the 'File' menu, as
well as a 'project template options' menu under the 'Tools' menu.
This menu item is visible only if the templates directory (see next paragraph)
exists and contains at least one template subdirectory.

In the 'Project template options', a directory can be selected. This directory
should contain a subdirectory per template. Each template directory contains
a template for a project: A collection of files which will be copied and
used as a new project.

During the copy, the package will scan the file/directory names and the 
contents of the files for variable substitution: __VARNAME__ will be 
replaced by the value of a variable VARNAME

By default, the engine knows 2 variables:
ProjDir  : The directory where the new project will be created.
ProjName : The name of the project.

Additional variables must be defined in a file called 'project.ini' in the
directory of the project. This is a file in Windows INI format.

The section [Variables] will be scanned for variable names:
[Variables]
VarName1=Description 1
VarName2=Description 2

The variables found will be presented with their description in a dialog, 
and the user must present a value for the variables.

The 'project.ini' file can contain a second section, called 'Project', which
can contain some info about the project. The following keywords can be found
there:

ProjectFile
  Any file that has a name equal to this (no extension) is treated specially, 
  it is renamed to the project name. That is 
  ProjectFile=example
  will replace example.lpi example.lpr and example.cfg with the name given
  by the user. By default, the value of ProjectFile is assumed to be 'project'.
  (note that the .ini file is not copied)
 
Name
  Name of the template 
Author
  Author of the template
Description
  Short (one-line) description of the project
Recurse
  A boolean value (1/0) which tells the engine to recurse in subdirectories
  or not.
Exclude
  Comma separated list of filename extensions which should not be searched
  for keyword subsitution.

The Name and description will be presented in the 'File-New' dialog.