Project Metainfo: the .devassistant File¶
Note: .devassistant file changed some of its contents and semantics in version 0.9.0.
Project created by DevAssistant usually get a
.devassistant file, see
.devassistant Commands for information on creating and manipulating it by assistants.
This file contains information about a project, such as project type or paramaters
used when this project was created. It can look like this:
devassistant_version: 0.9.0 original_kwargs: name: foo github: bkabrda project_type: [python, django] dependencies: - rpm: [python-django]
When .devassistant is used¶
Generally, there are two use cases for
Tweak assistants read the
.devassistantfile to get project type (which is specified by
project_typeentry) and decide what to do with this type of project (by choosing a proper
runsection to execute and proper
dependenciessection, see Tweak Assistants).
When you use the
custompreparer with URL to this project (
da prepare custom -u <url>), DevAssistant will checkout the project, read the data from
.devassistantand do few things:
It will install any dependendencies that it finds in
.devassistant. These dependencies look like normal dependencies section in assistant, e.g.:
dependencies: - rpm: [python-spam]
It will also run a
.devassistant, if it is there. Again, this is a normal run section:
run: - log_i: Hey, I'm running from .devassistant after checkout!
Generally, when using
customassistant, you have to be extra careful, since someone could put
rm -rf ~or similar evil command in the
runsection. So use it only with projects whose upstream you trust.