mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Eliminates the --module-version flag to jazzy when generating Obj-C docs. This was hardcoded to 1.0.0. Since we have no knowledge of which Flutter version a given engine build will be part of, eliminate it altogether.
92 lines
2.6 KiB
Bash
Executable File
92 lines
2.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright 2013 The Flutter Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# Generates objc docs for Flutter iOS libraries.
|
|
|
|
set -e
|
|
|
|
if [[ $# -eq 0 ]]; then
|
|
echo "Error: Argument specifying output directory required."
|
|
exit 1
|
|
fi
|
|
|
|
# Move to the flutter checkout
|
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
pushd "$SCRIPT_DIR/../../flutter"
|
|
|
|
FLUTTER_UMBRELLA_HEADER=$(find ../out -maxdepth 4 -type f -name Flutter.h | grep 'ios_' | head -n 1)
|
|
if [[ ! -f "$FLUTTER_UMBRELLA_HEADER" ]]
|
|
then
|
|
echo "Error: This script must be run at the root of the Flutter source tree with at least one built Flutter.framework in ../out/ios*/Flutter.framework."
|
|
echo "Running from: $(pwd)"
|
|
exit 1
|
|
fi
|
|
|
|
OUTPUT_DIR="$1/objectc_docs"
|
|
ZIP_DESTINATION="$1"
|
|
if [ "${OUTPUT_DIR:0:1}" != "/" ]
|
|
then
|
|
ZIP_DESTINATION="$SCRIPT_DIR/../../$1"
|
|
OUTPUT_DIR="$ZIP_DESTINATION/objectc_docs"
|
|
fi
|
|
|
|
# If GEM_HOME is set, prefer using its copy of jazzy.
|
|
# LUCI will put jazzy here instead of on the path.
|
|
if [[ -n "${GEM_HOME}" ]]
|
|
then
|
|
PATH="${GEM_HOME}/bin:$PATH"
|
|
fi
|
|
|
|
# Use iPhoneSimulator SDK
|
|
# See: https://github.com/realm/jazzy/issues/791
|
|
jazzy \
|
|
--objc\
|
|
--sdk iphonesimulator\
|
|
--clean\
|
|
--author Flutter Team\
|
|
--author_url 'https://flutter.io'\
|
|
--github_url 'https://github.com/flutter'\
|
|
--github-file-prefix 'http://github.com/flutter/engine/blob/main'\
|
|
--xcodebuild-arguments --objc,"$FLUTTER_UMBRELLA_HEADER",--,-x,objective-c,-isysroot,"$(xcrun --show-sdk-path --sdk iphonesimulator)",-I,"$(pwd)"\
|
|
--module Flutter\
|
|
--root-url https://api.flutter.dev/objc/\
|
|
--output "$OUTPUT_DIR"
|
|
|
|
EXPECTED_CLASSES="FlutterAppDelegate.html
|
|
FlutterBasicMessageChannel.html
|
|
FlutterCallbackCache.html
|
|
FlutterCallbackInformation.html
|
|
FlutterDartProject.html
|
|
FlutterEngine.html
|
|
FlutterEngineGroup.html
|
|
FlutterEngineGroupOptions.html
|
|
FlutterError.html
|
|
FlutterEventChannel.html
|
|
FlutterHeadlessDartRunner.html
|
|
FlutterMethodCall.html
|
|
FlutterMethodChannel.html
|
|
FlutterPluginAppLifeCycleDelegate.html
|
|
FlutterStandardMessageCodec.html
|
|
FlutterStandardMethodCodec.html
|
|
FlutterStandardReader.html
|
|
FlutterStandardReaderWriter.html
|
|
FlutterStandardTypedData.html
|
|
FlutterStandardWriter.html
|
|
FlutterViewController.html"
|
|
|
|
ACTUAL_CLASSES=$(ls "$OUTPUT_DIR/Classes" | sort)
|
|
|
|
if [[ $EXPECTED_CLASSES != $ACTUAL_CLASSES ]]; then
|
|
echo "Expected classes did not match actual classes"
|
|
echo
|
|
diff <(echo "$EXPECTED_CLASSES") <(echo "$ACTUAL_CLASSES")
|
|
exit -1
|
|
fi
|
|
|
|
# Create the final zip file.
|
|
pushd $OUTPUT_DIR
|
|
zip -r "$ZIP_DESTINATION/ios-objcdoc.zip" .
|
|
popd
|