From ab94252dec494b0e7637319b9e8403c2c1361f5f Mon Sep 17 00:00:00 2001 From: Morgan Chen Date: Mon, 14 Oct 2024 16:07:08 -0700 Subject: [PATCH] add docsgen invocations to scripts (#13892) --- scripts/docsgen/jazzy_generate_mixed.sh | 47 +++++++++++++++++++++++++ scripts/docsgen/jazzy_generate_objc.sh | 44 +++++++++++++++++++++++ scripts/docsgen/jazzy_generate_swift.sh | 39 ++++++++++++++++++++ 3 files changed, 130 insertions(+) create mode 100755 scripts/docsgen/jazzy_generate_mixed.sh create mode 100755 scripts/docsgen/jazzy_generate_objc.sh create mode 100755 scripts/docsgen/jazzy_generate_swift.sh diff --git a/scripts/docsgen/jazzy_generate_mixed.sh b/scripts/docsgen/jazzy_generate_mixed.sh new file mode 100755 index 00000000000..e69a5769d9c --- /dev/null +++ b/scripts/docsgen/jazzy_generate_mixed.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -ex + +if [[ "$#" != 4 ]] +then + echo -e "Usage: ./jazzy_generate.sh output_dir xcworkspace_path umbrella_header_path module_name" + exit 1 +fi + +output_dir=$1 +workspace_path=$2 +umbrella_header_path=$3 +module_name=$4 + +SWIFT_VERSION="$(xcrun swift -version | cut -d " " -f 4)" + +# Generate temporary sourcekitten files. +mkdir -p "$output_dir" +sourcekitten \ + doc --objc "$umbrella_header_path" \ + -- -x objective-c -isysroot "$(xcrun --show-sdk-path --sdk iphonesimulator)" \ + -I "$workspace_path" -fmodules > "$output_dir"/objcDoc.json +sourcekitten \ + doc -- -workspace "$workspace_path" \ + -scheme "$module_name" > "$output_dir"/swiftDoc.json + +# Generates reference docs using jazzy +jazzy \ + --author "Firebase" \ + --module "$module_name" \ + --output "$output_dir" \ + --sourcekitten-sourcefile "$output_dir/swiftDoc.json,$output_dir/objcDoc.json" diff --git a/scripts/docsgen/jazzy_generate_objc.sh b/scripts/docsgen/jazzy_generate_objc.sh new file mode 100755 index 00000000000..3cedba7c8c4 --- /dev/null +++ b/scripts/docsgen/jazzy_generate_objc.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -ex + +if [[ "$#" != 4 ]] +then + echo -e "Usage: ./jazzy_generate.sh output_dir xcworkspace_path umbrella_header_path module_name" + exit 1 +fi + +output_dir=$1 +workspace_path=$2 +umbrella_header_path=$3 +module_name=$4 + +SWIFT_VERSION="$(xcrun swift -version | cut -d " " -f 4)" + +# Generate temporary sourcekitten files. +mkdir -p "$output_dir" +sourcekitten \ + doc --objc "$umbrella_header_path" \ + -- -x objective-c -isysroot "$(xcrun --show-sdk-path --sdk iphonesimulator)" \ + -I "$workspace_path" -fmodules > "$output_dir"/objcDoc.json + +# Generates reference docs using jazzy +jazzy \ + --author "Firebase" \ + --module "$module_name" \ + --output "$output_dir" \ + --sourcekitten-sourcefile "$output_dir"/objcDoc.json diff --git a/scripts/docsgen/jazzy_generate_swift.sh b/scripts/docsgen/jazzy_generate_swift.sh new file mode 100755 index 00000000000..4b6b9591cf4 --- /dev/null +++ b/scripts/docsgen/jazzy_generate_swift.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -ex + +if [[ "$#" != 3 ]] +then + echo -e "Usage: ./jazzy_generate.sh output_dir xcworkspace_path module_name" + exit 1 +fi + +output_dir=$1 +workspace_path=$2 +module_name=$3 + +SWIFT_VERSION="$(xcrun swift -version | cut -d " " -f 4)" + +jazzy \ + --clean \ + --author "Firebase" \ + --swift-version "${SWIFT_VERSION}" \ + --sdk iphonesimulator \ + --build-tool-arguments -workspace,"$workspace_path",-scheme,"$module_name" \ + --module "$module_name" \ + --output "$output_dir" \ + --swift-build-tool xcodebuild