airbnb / airbnb/BuckSample

[Feature Request] Extend sample with support for Release and Debug configurations

Open
#85 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
Objective-C
Stars
469
Forks
63
PR merge metrics
No merged PRs in 30d

Description

Currently the sample is built in what seems to be Debug configuration.
Having support for Release vs Debug would be of great help.

E.g. Release is build with optimizations like `-O` (speed) or `-Osize` and `-whole-module-optimization`.
While Debug is built with `SWIFT_COMPILATION_MODE=singlefile` (no `-whole-module-optimization` flag).

Release should be built with `DEBUG_INFORMATION_FORMAT = dwarf-with-dsym`, which I _think_ means removing `-g` flag.
No `-enable-testing`, maybe `-DNS_BLOCK_ASSERTIONS=1` if the intention is to turn assertions off for release. No `-D DEBUG` I guess, etc.

If possible, having a script that packages xcarchive from buck output would be super helpful too. We've got this https://gist.github.com/mgrebenets/8fe4289603aaec0dfeae5eacfae203d6 so far, but it can be improved further and maybe wrapped into/replaced with buck genrule?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the sample's Buck build configuration and the Release and Debug settings described in the issue. Use the linked xcarchive packaging gist as the reference for the optional packaging work. Done means the sample supports distinct configurations with the requested optimization and debug settings, and any packaging script produces an xcarchive from Buck output.

Written by the indexing model from the issue text.

Assessment

Tech stack
objective-c, swift
Domain
build-system, mobile
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.