rules_xcodeproj icon indicating copy to clipboard operation
rules_xcodeproj copied to clipboard

Provide optimized release archives

Open brentleyjones opened this issue 2 years ago • 3 comments

When we produce releases we should upload optimized archives. This serves a couple purposes:

  • The sha256 will be stable, working around https://github.com/bazel-contrib/SIG-rules-authors/issues/11#issuecomment-1029861300
  • The archive will be smaller, as it won't include examples or tests
  • First run will be quicker, as it will include a precompiled universal binary of generator

brentleyjones avatar Mar 30 '22 14:03 brentleyjones

For 0.1.0, this is the command I ran:

COPYFILE_DISABLE=1 tar czvf /tmp/rules_xcodeproj-0.1.0/release.tar.gz --exclude ^test --exclude ^examples --exclude ^shared\.bazelrc --exclude ^xcodeproj/testing.bzl --exclude ^WORKSPACE --exclude buildbuddy\.yaml --exclude ^third_party --exclude ^BUILD --exclude ^bazel_versions\.bzl --exclude ^config --exclude README\.md --exclude '^xcodeproj/internal/xcodeproj_tests\.bzl' --exclude '^xcodeproj/internal/fixtures\.bzl' --exclude ^tools/generator/test *

Ideally this could be automated.

brentleyjones avatar Apr 05 '22 15:04 brentleyjones

The smaller, stable, release archives are done as of #945. Pre-compiled universal binary being part of that is still pending.

brentleyjones avatar Sep 02 '22 13:09 brentleyjones

A pre-compiled binary has a greater need now, since changes to the rules_xcodeproj or rules_xcodeproj_generator configs can effect the generator, when it's not desired (what I would give for https://github.com/bazelbuild/bazel/issues/13839 to be fixed), such as --features=swift.index_while_building.

brentleyjones avatar Sep 02 '22 13:09 brentleyjones