Skip to content

Support multiple configurations per project #143

Description

@thii

Enhancement Suggestion

Support multiple configurations (Romefile) per project and allow specifying which configuration it uses for each run.

Steps which explain the enhancement or reproduce the bug
N/A

Current behavior

Rome currently only support one configuration per project, which it takes from the Romefile in the project root directory.

Suggested behavior

Other than the current default setting, which Rome reads config from a Romefile file in the project root directory, Rome should allow specifying arbitrary Romefile for each run.

Examples

Romefile

[Cache]
  S3-Bucket = ios-dev-bucket

[RepositoryMap]
  Alamofire = Alamofire

Romefile.xcode10

[Cache]
  S3-Bucket = ios-dev-bucket

[RepositoryMap]
  Alamofire = static/Alamofire
rome download # read cache config from Romefile and download caches.

rome download --config Romefile.xcode10 # read cache config from Romefile.xcode10 and download caches.

Why would the enhancement be useful to most users

Some projects may have to support multiple version of Xcode or multiple version of Carthage at the same time. Dynamically frameworks are built and placed in Carthage/iOS/Build directory, while frameworks built with overrided MACH_O_TYPE = staticlib build setting are built and placed into Carthage/iOS/Build/Static directory. With the first Romefile, Rome won't see frameworks that were built into the Carthage/Build/iOS/Static directory. With the second Romefile.xcode10, Rome won't see frameworks that were built into the Carthage/Build/iOS directory.

Rome version:

v0.16.0.46

OS and version:

macOS 10.13.6 (17G65)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions