Skip to content

Rambafile Structure

Egor Tolstoy edited this page Jan 10, 2016 · 10 revisions

General Information

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.

Rambafile Example

### Headers settings
company: Rambler&Co

### Xcode project settings
project_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-ios/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'}

Rambafile Structure

Project Headers Settings
  • company: Rambler&Co - this value is used to generate new file headers.
Xcode Settings
  • project_name: GenerambaSandbox - the project name, can be determined automatically during Rambafile setup.
  • prefix: RDS - prefix appended to all of the generated files.
  • xcodeproj_path: GenerambaSandbox.xcodeproj - a relative filepath to a xcodeproj-file.
Module Generation Settings
  • 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.
Tests Generation Settings
  • 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.
Dependency Management System Settings
  • podfile_path: Podfile - a relative file path to a Podfile.

  • cartfile_path: Cartfile - a relative file path to a Cartfile.

    these settings don't affect anything at the moment, they persist due to upcoming features

Templates Settings
  • catalogs: - custom template catalogs are listed under this key
    • https://github.com/rambler-ios/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).
    • local: 'absolute/file/path' - an absolute path to a local template directory.
Clone this wiki locally