Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,12 @@ open Fluid.xcodeproj

Build and run in Xcode. All dependencies are managed via Swift Package Manager.

For public source builds from the command line, `./build.sh` skips the private Fluid Intelligence build setup and runs the unsigned macOS build:

```bash
./build.sh
```

### Build Only (No Signing)

```bash
Expand Down
19 changes: 10 additions & 9 deletions build.sh
Original file line number Diff line number Diff line change
@@ -1,19 +1,25 @@
#!/bin/bash

# FluidVoice Build Profile Router
# Defaults to the private Fluid Intelligence build for local development.
# Defaults to the public OSS build, which skips private Fluid Intelligence.
#
# Usage:
# ./build.sh # private FI build
# ./build.sh # public OSS build
# ./build.sh public # public OSS build
# ./build.sh fi # private FI build

set -euo pipefail

PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROFILE="${1:-${BUILD_PROFILE:-fi}}"
PROFILE="${1:-${BUILD_PROFILE:-public}}"
PRIVATE_FI_BUILD_SCRIPT="${PROJECT_DIR}/build_with_FI_incremental.sh"

case "${PROFILE}" in
public|oss|incremental|fast)
echo "Running public FluidVoice build without Fluid Intelligence..."
cd "${PROJECT_DIR}"
exec xcodebuild -project Fluid.xcodeproj -scheme Fluid -destination 'platform=macOS' build CODE_SIGNING_ALLOWED=NO
;;
fi|private|dev|full)
if [ ! -x "${PRIVATE_FI_BUILD_SCRIPT}" ]; then
echo "Private Fluid Intelligence build script is missing:"
Expand All @@ -23,14 +29,9 @@ case "${PROFILE}" in
fi
exec "${PRIVATE_FI_BUILD_SCRIPT}"
;;
public|oss|incremental|fast)
echo "Public/OSS builds are not available from this repo entrypoint."
echo "Use the private Fluid Intelligence build: sh build_with_FI_incremental.sh"
exit 1
;;
*)
echo "Unknown build profile: ${PROFILE}"
echo "Valid profiles: fi/private/dev/full"
echo "Valid profiles: public/oss/incremental/fast, fi/private/dev/full"
exit 1
;;
esac