Top Level Namespace

Defined Under Namespace

Classes: FabricConfig, FabricKitConfig

Instance Method Summary collapse

Instance Method Details

#fabric_run(platform) ⇒ Object



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/motion-fabric.rb', line 118

def fabric_run(platform)
  dsym_path = App.config.app_bundle_dsym(platform)
  project_dir = File.expand_path(App.config.project_dir)
  env = {
    BUILT_PRODUCTS_DIR: File.expand_path(File.join(App.config.versionized_build_dir(platform), App.config.bundle_filename)),
    INFOPLIST_PATH: 'Info.plist',
    DWARF_DSYM_FILE_NAME: File.basename(dsym_path),
    DWARF_DSYM_FOLDER_PATH: File.expand_path(File.dirname(dsym_path)),
    PROJECT_DIR: project_dir,
    SRCROOT: project_dir,
    PLATFORM_NAME: platform.downcase,
    PROJECT_FILE_PATH: "",
    CONFIGURATION: App.config_mode ==  'development' ? 'debug' : 'release',
  }
  env_string = env.map { |k,v| "#{k}='#{v}'" }.join(' ')
  fabric_setup do |pods_root, api_key, build_secret|
    App.info "Fabric", "Uploading .dSYM file"
    system("env #{env_string} sh #{pods_root}/Fabric/run #{api_key} #{build_secret}")
  end
end

#fabric_setup(&block) ⇒ Object



107
108
109
110
111
112
113
114
115
116
# File 'lib/motion-fabric.rb', line 107

def fabric_setup(&block)
  pods_root = File.absolute_path(Motion::Project::CocoaPods::PODS_ROOT)
  api_key = App.config.fabric.api_key
  build_secret = App.config.fabric.build_secret

  App.fail "Fabric's api_key cannot be empty" unless api_key
  App.fail "Fabric's build_secret cannot be empty" unless build_secret

  block.call(pods_root, api_key, build_secret)
end