rules_xcodeproj
rules_xcodeproj copied to clipboard
Provide optimized release archives
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
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.
The smaller, stable, release archives are done as of #945. Pre-compiled universal binary being part of that is still pending.
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
.