Use automatic paths

This commit is contained in:
Ali 2020-02-27 16:04:19 +04:00
parent 461c278867
commit e5610cbcd4
9 changed files with 147 additions and 18 deletions

View File

@ -0,0 +1,129 @@
#!/bin/bash
set -e
FASTLANE="$(which fastlane)"
EXPECTED_VARIABLES=(\
APPLE_ID \
BASE_BUNDLE_ID \
APP_NAME \
TEAM_ID \
PROVISIONING_DIRECTORY \
)
MISSING_VARIABLES="0"
for VARIABLE_NAME in ${EXPECTED_VARIABLES[@]}; do
if [ "${!VARIABLE_NAME}" = "" ]; then
echo "$VARIABLE_NAME not defined"
MISSING_VARIABLES="1"
fi
done
if [ "$MISSING_VARIABLES" == "1" ]; then
exit 1
fi
if [ ! -d "$PROVISIONING_DIRECTORY" ]; then
echo "Directory $PROVISIONING_DIRECTORY does not exist"
exit 1
fi
BASE_DIR=$(mktemp -d)
FASTLANE_DIR="$BASE_DIR/fastlane"
mkdir "$FASTLANE_DIR"
FASTFILE="$FASTLANE_DIR/Fastfile"
touch "$FASTFILE"
CREDENTIALS=(\
--username "$APPLE_ID" \
--team_id "$TEAM_ID" \
)
export FASTLANE_SKIP_UPDATE_CHECK=1
APP_EXTENSIONS=(\
Share \
SiriIntents \
NotificationContent \
NotificationService \
Widget \
)
echo "lane :manage_app do" >> "$FASTFILE"
echo " produce(" >> "$FASTFILE"
echo " username: '$APPLE_ID'," >> "$FASTFILE"
echo " app_identifier: '${BASE_BUNDLE_ID}'," >> "$FASTFILE"
echo " app_name: '$APP_NAME'," >> "$FASTFILE"
echo " language: 'English'," >> "$FASTFILE"
echo " app_version: '1.0'," >> "$FASTFILE"
echo " team_id: '$TEAM_ID'," >> "$FASTFILE"
echo " skip_itc: true," >> "$FASTFILE"
echo " )" >> "$FASTFILE"
echo " produce(" >> "$FASTFILE"
echo " username: '$APPLE_ID'," >> "$FASTFILE"
echo " app_identifier: '${BASE_BUNDLE_ID}.watchkitapp'," >> "$FASTFILE"
echo " app_name: '$APP_NAME Watch App'," >> "$FASTFILE"
echo " language: 'English'," >> "$FASTFILE"
echo " app_version: '1.0'," >> "$FASTFILE"
echo " team_id: '$TEAM_ID'," >> "$FASTFILE"
echo " skip_itc: true," >> "$FASTFILE"
echo " )" >> "$FASTFILE"
echo " produce(" >> "$FASTFILE"
echo " username: '$APPLE_ID'," >> "$FASTFILE"
echo " app_identifier: '${BASE_BUNDLE_ID}.watchkitapp.watchkitextension'," >> "$FASTFILE"
echo " app_name: '$APP_NAME Watch App Extension'," >> "$FASTFILE"
echo " language: 'English'," >> "$FASTFILE"
echo " app_version: '1.0'," >> "$FASTFILE"
echo " team_id: '$TEAM_ID'," >> "$FASTFILE"
echo " skip_itc: true," >> "$FASTFILE"
echo " )" >> "$FASTFILE"
for EXTENSION in ${APP_EXTENSIONS[@]}; do
echo " produce(" >> "$FASTFILE"
echo " username: '$APPLE_ID'," >> "$FASTFILE"
echo " app_identifier: '${BASE_BUNDLE_ID}.${EXTENSION}'," >> "$FASTFILE"
echo " app_name: '${APP_NAME} ${EXTENSION}'," >> "$FASTFILE"
echo " language: 'English'," >> "$FASTFILE"
echo " app_version: '1.0'," >> "$FASTFILE"
echo " team_id: '$TEAM_ID'," >> "$FASTFILE"
echo " skip_itc: true," >> "$FASTFILE"
echo " )" >> "$FASTFILE"
done
echo "end" >> "$FASTFILE"
pushd "$BASE_DIR"
fastlane cert ${CREDENTIALS[@]} --development
fastlane manage_app
fastlane produce group -g "group.$BASE_BUNDLE_ID" -n "$APP_NAME Group" ${CREDENTIALS[@]}
fastlane produce enable_services -a "$BASE_BUNDLE_ID" ${CREDENTIALS[@]} \
--app-group \
--push-notification \
--sirikit
fastlane produce associate_group -a "$BASE_BUNDLE_ID" "group.$BASE_BUNDLE_ID" ${CREDENTIALS[@]}
for EXTENSION in ${APP_EXTENSIONS[@]}; do
fastlane produce enable_services -a "${BASE_BUNDLE_ID}.${EXTENSION}" ${CREDENTIALS[@]} \
--app-group
fastlane produce associate_group -a "${BASE_BUNDLE_ID}.${EXTENSION}" "group.$BASE_BUNDLE_ID" ${CREDENTIALS[@]}
done
for DEVELOPMENT_FLAG in "--development"; do
fastlane sigh -a "$BASE_BUNDLE_ID" ${CREDENTIALS[@]} -o "$PROVISIONING_DIRECTORY" $DEVELOPMENT_FLAG \
--skip_install
for EXTENSION in ${APP_EXTENSIONS[@]}; do
fastlane sigh -a "${BASE_BUNDLE_ID}.${EXTENSION}" ${CREDENTIALS[@]} -o "$PROVISIONING_DIRECTORY" $DEVELOPMENT_FLAG \
--skip_install
done
done
popd
rm -rf "$BASE_DIR"

View File

@ -20,7 +20,7 @@ objc_library(
"PublicHeaders/**/*.h", "PublicHeaders/**/*.h",
]), ]),
copts = [ copts = [
"-Isubmodules/LegacyComponents/PublicHeaders/LegacyComponents", "-I{}/PublicHeaders/LegacyComponents".format(package_name()),
], ],
includes = [ includes = [
"PublicHeaders", "PublicHeaders",

View File

@ -15,9 +15,9 @@ objc_library(
"PublicHeaders", "PublicHeaders",
], ],
copts = [ copts = [
"-Isubmodules/OpusBinding/Sources", "-I{}/Sources".format(package_name()),
"-Isubmodules/OpusBinding/Sources/opusfile", "-I{}/Sources/opusfile".format(package_name()),
"-Isubmodules/OpusBinding/PublicHeaders/OpusBinding", "-I{}/PublicHeaders/OpusBinding".format(package_name()),
], ],
deps = [ deps = [
"//submodules/Opus:opus", "//submodules/Opus:opus",

View File

@ -19,9 +19,9 @@ objc_library(
"PublicHeaders", "PublicHeaders",
], ],
copts = [ copts = [
"-Isubmodules/RMIntro/{}".format(directory) for directory in unique_directories(private_headers) "-I{}/{}".format(package_name(), directory) for directory in unique_directories(private_headers)
] + [ ] + [
"-Isubmodules/RMIntro/PublicHeaders/RMIntro", "-I{}/PublicHeaders/RMIntro".format(package_name()),
], ],
deps = [ deps = [
"//submodules/LegacyComponents:LegacyComponents", "//submodules/LegacyComponents:LegacyComponents",

View File

@ -14,7 +14,7 @@ objc_library(
"PublicHeaders", "PublicHeaders",
], ],
copts = [ copts = [
"-Isubmodules/Stripe/PublicHeaders/Stripe", "-I{}/PublicHeaders/Stripe".format(package_name()),
], ],
sdk_frameworks = [ sdk_frameworks = [
"Foundation", "Foundation",

View File

@ -43,9 +43,9 @@ objc_library(
"PublicHeaders/**/*.h", "PublicHeaders/**/*.h",
]), ]),
copts = [ copts = [
"-Isubmodules/TgVoip/PublicHeaders/TgVoip", "-I{}/PublicHeaders/TgVoip".format(package_name()),
"-Isubmodules/TgVoip/libtgvoip", "-I{}/libtgvoip".format(package_name()),
"-Isubmodules/TgVoip/libtgvoip/webrtc_dsp", "-I{}/libtgvoip/webrtc_dsp".format(package_name()),
"-DTGVOIP_USE_INSTALLED_OPUS", "-DTGVOIP_USE_INSTALLED_OPUS",
] + select({ ] + select({
"@build_bazel_rules_apple//apple:ios_armv7": copts_arm, "@build_bazel_rules_apple//apple:ios_armv7": copts_arm,

View File

@ -11,7 +11,7 @@ objc_library(
"PublicHeaders/**/*.h", "PublicHeaders/**/*.h",
]), ]),
copts = [ copts = [
"-Isubmodules/WatchCommon/Host/PublicHeaders/WatchCommon", "-I{}/PublicHeaders/WatchCommon".format(package_name()),
], ],
includes = [ includes = [
"PublicHeaders", "PublicHeaders",

View File

@ -14,9 +14,9 @@ objc_library(
"lottie-ios/**/*.m", "lottie-ios/**/*.m",
]) + private_headers, ]) + private_headers,
copts = [ copts = [
"-Isubmodules/lottie-ios/{}".format(directory) for directory in unique_directories(private_headers) "-I{}/{}".format(package_name(), directory) for directory in unique_directories(private_headers)
] + [ ] + [
"-Isubmodules/lottie-ios/lottie-ios/Classes/PublicHeaders/Lottie", "-I{}/lottie-ios/Classes/PublicHeaders/Lottie".format(package_name()),
], ],
hdrs = glob([ hdrs = glob([
"lottie-ios/Classes/PublicHeaders/**/*.h", "lottie-ios/Classes/PublicHeaders/**/*.h",

View File

@ -24,11 +24,11 @@ objc_library(
copts = [ copts = [
"-Dpixman_region_selfcheck(x)=1", "-Dpixman_region_selfcheck(x)=1",
"-DLOTTIE_DISABLE_ARM_NEON=1", "-DLOTTIE_DISABLE_ARM_NEON=1",
"-Isubmodules/rlottie", "-I{}".format(package_name()),
"-Isubmodules/rlottie/rlottie/inc", "-I{}/rlottie/inc".format(package_name()),
"-Isubmodules/rlottie/rlottie/src/vector", "-I{}/rlottie/src/vector".format(package_name()),
"-Isubmodules/rlottie/rlottie/src/vector/pixman", "-I{}/rlottie/src/vector/pixman".format(package_name()),
"-Isubmodules/rlottie/rlottie/src/vector/freetype", "-I{}/rlottie/src/vector/freetype".format(package_name()),
], ],
deps = [ deps = [
], ],