-
Notifications
You must be signed in to change notification settings - Fork 183
Rambafile Structure
Michael edited this page Jan 28, 2017
·
10 revisions
Rambafile is a configuration file for current Xcode project. It doesn't contain any user-specific information, so it can be safely indexed in Git repository.
You can generate a pre-filled Rambafile using generamba setup
command.
Only company
, project_name
, xcodeproj_path
and templates
fields are mandatory. If you specify one of the fields from Module Generation Settings section, then all the fields in this section are mandatory. The same applies to Tests Generation Settings section.
### Headers settings
company: Rambler&Co
### Xcode project settings
project_name: GenerambaSandbox
product_module_name: GenerambaSandbox
prefix: RDS
xcodeproj_path: GenerambaSandbox.xcodeproj
### Code generation settings section
# The main project target name
project_target: GenerambaSandbox
# The file path for new modules
project_file_path: GenerambaSandbox/Classes/Modules
# The Xcode group path to new modules
project_group_path: GenerambaSandbox/Classes/Modules
### Tests generation settings section
# The tests target name
test_target: GenerambaSandboxTests
# The file path for new tests
test_file_path: GenerambaSandboxTests/Classes/Modules
# The Xcode group path to new tests
test_group_path: GenerambaSandboxTests/Classes/Modules
### Dependencies settings section
podfile_path: Podfile
cartfile_path: Cartfile
### Templates
catalogs:
- 'https://github.com/rambler-digital-solutions/generamba-catalog'
- 'https://github.com/igrekde/my-own-catalog'
templates:
- {name: rviper_controller}
- {name: local_template_name, local: 'absolute/file/path'}
- {name: remote_template_name, git: 'https://github.com/igrekde/remote_template'}
-
company: Rambler&Co
- this value is used as a company name to generate new file headers. -
author: Egor Tolstoy
- this value is used as an author name to generate new file headers. Optional.
-
project_name: GenerambaSandbox
- the project name, can be determined automatically during Rambafile setup. -
product_module_name: GenerambaSandbox
- the product module name, can be used in swift tests templates. -
prefix: RDS
- prefix appended to all of the generated files. -
xcodeproj_path: GenerambaSandbox.xcodeproj
- a relative filepath to a xcodeproj-file.
-
project_target: GenerambaSandbox
- all generated code files will be included in this target. -
project_targets: [GenerambaSandbox, GenerambaSandboxTests]
- all generated code files will be included in these targets. -
project_file_path: GenerambaSandbox/Classes/Modules
- a default filepath for generated code files. -
project_group_path: GenerambaSandbox/Classes/Modules
- a default Xcode group path for generated code files.
-
test_target: GenerambaSandboxTests
- all generated test files will be included in this target. -
test_targets: [GenerambaSandboxTests]
- all generated test files will be included in these targets. -
test_file_path: GenerambaSandboxTests/Classes/Modules
- a default filepath for generated test files. -
test_group_path: GenerambaSandboxTests/Classes/Modules
- a default Xcode group path for generated test files.
-
podfile_path: Podfile
- a relative file path to aPodfile
. -
cartfile_path: Cartfile
- a relative file path to aCartfile
.these settings don't affect anything at the moment, they persist due to upcoming features
-
catalogs:
- custom template catalogs are listed under this key-
https://github.com/rambler-digital-solutions/generamba-catalog
- a catalog repository url (necessarily escaped with single quotes). https://github.com/igrekde/my-own-catalog
-
-
templates:
- templates used in a current project are listed under this key.-
name: rviper_controller
- a template name (if nothing else is specified, Generamba will search for the template with this name in a shared catalog). -
git: 'https://github.com/igrekde/remote_template'
- a url to remote Git repository (necessarily escaped with single quotes). -
branch: 'develop'
- a branch to remote Git repository (necessarily escaped with single quotes). -
local: 'absolute/file/path'
- an absolute path to a local template directory.
-