diff --git a/.clang-format b/.clang-format index 7bb07207..d64a4072 100644 --- a/.clang-format +++ b/.clang-format @@ -54,3 +54,115 @@ SpaceInEmptyParentheses: false SpacesBeforeTrailingComments: 1 Standard: Cpp11 UseTab: Never +--- +Language: ObjC +AccessModifierOffset: -1 +AlignAfterOpenBracket: AlwaysBreak +AlignConsecutiveMacros: false +AlignConsecutiveAssignments: false +AlignConsecutiveBitFields: false +AlignConsecutiveDeclarations: false +AlignEscapedNewlines: Left +AlignOperands: DontAlign +AlignTrailingComments: false +AllowAllArgumentsOnNextLine: true +AllowAllConstructorInitializersOnNextLine: true +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortEnumsOnASingleLine: true +AllowShortBlocksOnASingleLine: Never +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: Empty +AllowShortLambdasOnASingleLine: All +AllowShortIfStatementsOnASingleLine: Never +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: true +AlwaysBreakTemplateDeclarations: Yes +BinPackArguments: false +BinPackParameters: false +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Attach +BreakInheritanceList: BeforeColon +BreakBeforeTernaryOperators: true +BreakConstructorInitializers: BeforeColon +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: false +ColumnLimit: 80 +CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: true +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DeriveLineEnding: true +DerivePointerAlignment: false +DisableFormat: false +FixNamespaceComments: true +ForEachMacros: + - FOR_EACH + - FOR_EACH_R + - FOR_EACH_RANGE +IncludeBlocks: Preserve +IncludeCategories: + - Regex: '^<.*\.h(pp)?>' + Priority: 1 + - Regex: '^<.*' + Priority: 2 + - Regex: '.*' + Priority: 3 +IndentCaseLabels: true +IndentCaseBlocks: false +IndentGotoLabels: true +IndentPPDirectives: None +IndentExternBlock: AfterExternBlock +IndentWidth: 2 +IndentWrappedFunctionNames: false +InsertTrailingCommas: None +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBinPackProtocolList: Auto +ObjCBlockIndentWidth: 2 +ObjCBreakBeforeNestedBlockParam: true +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: false +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 1 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 200 +PointerAlignment: Left +ReflowComments: true +SortIncludes: true +SortUsingDeclarations: true +SpaceAfterCStyleCast: false +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: true +SpaceInEmptyBlock: false +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInConditionalStatement: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +SpaceBeforeSquareBrackets: false +Standard: Latest +TabWidth: 8 +UseCRLF: false +UseTab: Never +... diff --git a/.github/actions/clang-format/action.yml b/.github/actions/clang-format/action.yml new file mode 100644 index 00000000..a0d52af2 --- /dev/null +++ b/.github/actions/clang-format/action.yml @@ -0,0 +1,24 @@ +name: Clang Format +inputs: + directory: + description: Directory to Lint + required: true + version: + description: LLVM version to use # Should be kept roughly in sync with arcanist + required: false + default: 12 + +runs: + using: "composite" + steps: + - name: Install + shell: bash + run: sudo apt-get install -y clang-format-${{ inputs.version }} + + - name: clang-format + working-directory: ${{ inputs.directory }} + shell: bash + run: | + shopt -s globstar + shopt -s nullglob + clang-format-${{ inputs.version }} --dry-run --Werror **/*.cpp **/*.h **/*.m **/*.mm diff --git a/.github/actions/setup-android/action.yml b/.github/actions/setup-android/action.yml new file mode 100644 index 00000000..c2666453 --- /dev/null +++ b/.github/actions/setup-android/action.yml @@ -0,0 +1,13 @@ +name: Setup Android envirionment + +runs: + using: "composite" + steps: + - name: Install JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + + - name: Install NDK 21 + shell: bash + run: echo "y" | /usr/local/lib/android/sdk/tools/bin/sdkmanager --install "ndk;21.3.6528147" --sdk_root=${ANDROID_SDK_ROOT} diff --git a/.github/actions/setup-apple/action.yml b/.github/actions/setup-apple/action.yml new file mode 100644 index 00000000..6ef41f58 --- /dev/null +++ b/.github/actions/setup-apple/action.yml @@ -0,0 +1,9 @@ +name: Setup Apple envirionment + +runs: + using: "composite" + steps: + # TODO: This and Ruby should be versioned + - name: Install Cocoapods + shell: bash + run: sudo gem install cocoapods diff --git a/.github/actions/setup-website/action.yml b/.github/actions/setup-website/action.yml new file mode 100644 index 00000000..d7cfe42d --- /dev/null +++ b/.github/actions/setup-website/action.yml @@ -0,0 +1,14 @@ +name: Setup Website envirionment + +runs: + using: "composite" + steps: + - name: Install NodeJS 12 + uses: actions/setup-node@v1 + with: + node-version: 12.x + + - name: yarn install + shell: bash + run: yarn install --frozen-lockfile + working-directory: website diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 722d8a20..00000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: CI - -on: [push, pull_request] - -jobs: - website: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Setup Node.js - uses: actions/setup-node@v1 - with: - node-version: 12.x - - name: Install dependencies - run: yarn install --frozen-lockfile --ignore-scripts - working-directory: website - - name: Build - run: yarn build - working-directory: website - - name: Deploy - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_branch: gh-pages - publish_dir: website/public - cname: yogalayout.com - keep_files: true - user_name: 'Yoga-bot' - user_email: 'yogabot@fb.com' - android: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: set up JDK 1.8 - uses: actions/setup-java@v1 - with: - java-version: 1.8 - - name: Install NDK 21 - run: echo "y" | sudo /usr/local/lib/android/sdk/tools/bin/sdkmanager --install "ndk;21.0.6113669" "ndk;20.0.5594570" --sdk_root=${ANDROID_SDK_ROOT} - - name: Install dependencies - run: | - if [[ -n "${{ secrets.encrypted_d27e803291ff_iv }}" ]]; then - openssl aes-256-cbc -K ${{ secrets.encrypted_d27e803291ff_key }} -iv {{ secrets.encrypted_d27e803291ff_iv }} -in scripts/setup-keys.enc -d >> gradle.properties; - fi - sudo apt-get update - sudo apt-get install -y ninja-build - pushd $HOME - git clone --depth 1 https://github.com/facebook/buck.git - cd buck - ant - popd - echo "$HOME/buck/bin" >> $GITHUB_PATH - export PATH=$PATH:$HOME/buck/bin/ - buck --version - - name: Build - # TODO: Run the tests here again. They're currently crashing the JVM in GitHub Actions for some reason. - run: ./gradlew :yoga-layout:assembleDebug diff --git a/.github/workflows/publish-android.yml b/.github/workflows/publish-android.yml new file mode 100644 index 00000000..16f6d4e4 --- /dev/null +++ b/.github/workflows/publish-android.yml @@ -0,0 +1,29 @@ +name: Android + +on: + release: + types: + - created + workflow_dispatch: + +jobs: + publish: + name: Publish to Maven Central + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup + uses: ./.github/actions/setup-android + + - name: Publish and release + run: | + ./gradlew :yoga:assembleRelease publish --info + ./gradlew closeAndReleaseRepository + env: + ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} + ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_KEY_CONTENTS }} + ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }} + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }} diff --git a/.github/workflows/publish-website.yml b/.github/workflows/publish-website.yml new file mode 100644 index 00000000..78b36798 --- /dev/null +++ b/.github/workflows/publish-website.yml @@ -0,0 +1,32 @@ +name: Website + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + publish: + name: Publish to GitHub Pages + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup + uses: ./.github/actions/setup-website + + - name: yarn build + run: yarn build + working-directory: website + + - uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_branch: gh-pages + publish_dir: website/public + cname: yogalayout.com + keep_files: true + user_name: 'Yoga-bot' + user_email: 'yogabot@fb.com' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 1231fb66..00000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Publish - -on: - release: - types: - - created - workflow_dispatch: - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - name: set up JDK 1.8 - uses: actions/setup-java@v1 - with: - java-version: 1.8 - - name: Install dependencies - run: source scripts/android-setup.sh && installAndroidSDK - - name: Write GPG Sec Ring - run: echo '${{ secrets.GPG_KEY_CONTENTS }}' | base64 -d > /tmp/secring.gpg - - name: Update gradle.properties - run: echo -e "signing.secretKeyRingFile=/tmp/secring.gpg\nsigning.keyId=${{ secrets.SIGNING_KEY_ID }}\nsigning.password=${{ secrets.SIGNING_PASSWORD }}\nmavenCentralPassword=${{ secrets.SONATYPE_NEXUS_PASSWORD }}\nmavenCentralUsername=${{ secrets.SONATYPE_NEXUS_USERNAME }}" >> gradle.properties - - name: Upload Android Archives - run: ./gradlew :yoga:assembleRelease publish --info - - name: Release and close - run: ./gradlew closeAndReleaseRepository - - name: Clean secrets - if: always() - run: rm /tmp/secring.gpg diff --git a/.github/workflows/validate-android.yml b/.github/workflows/validate-android.yml new file mode 100644 index 00000000..014921c0 --- /dev/null +++ b/.github/workflows/validate-android.yml @@ -0,0 +1,20 @@ +name: Android + +on: [push, pull_request, workflow_dispatch] + +jobs: + build: + name: Build (${{ matrix.mode }}) + runs-on: ubuntu-latest + strategy: + matrix: + mode: [Debug, Release] + + steps: + - uses: actions/checkout@v3 + + - name: Setup + uses: ./.github/actions/setup-android + + - name: Build + run: ./gradlew assemble${{ matrix.mode }} diff --git a/.github/workflows/validate-apple.yml b/.github/workflows/validate-apple.yml new file mode 100644 index 00000000..a474c17f --- /dev/null +++ b/.github/workflows/validate-apple.yml @@ -0,0 +1,50 @@ +name: Apple + +on: [push, pull_request, workflow_dispatch] + +jobs: + lint-pods: + name: Lint + if: ${{ false }} # Apple Build is Broken + runs-on: macos-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup + uses: ./.github/actions/setup-apple + + - name: pod spec lint + run: pod spec lint --verbose + + build-sample: + name: Build (${{ matrix.mode }}) + if: ${{ false }} # Apple Build is Broken + runs-on: macos-latest + strategy: + matrix: + mode: [Debug, Release] + + steps: + - uses: actions/checkout@v3 + + - name: Setup + uses: ./.github/actions/setup-apple + + - name: pod install + working-directory: ./YogaKit/YogaKitSample + run: pod install + + # TODO: xcodebuild + + clang-format: + name: Format + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: clang-format + uses: ./.github/actions/clang-format + with: + directory: ./YogaKit diff --git a/.github/workflows/validate-cpp.yml b/.github/workflows/validate-cpp.yml new file mode 100644 index 00000000..3214ffad --- /dev/null +++ b/.github/workflows/validate-cpp.yml @@ -0,0 +1,16 @@ +name: C++ + +on: [push, pull_request, workflow_dispatch] + +jobs: + clang-format: + name: Format + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: clang-format + uses: ./.github/actions/clang-format + with: + directory: ./yoga diff --git a/.github/workflows/validate-website.yml b/.github/workflows/validate-website.yml new file mode 100644 index 00000000..f94c7cd2 --- /dev/null +++ b/.github/workflows/validate-website.yml @@ -0,0 +1,18 @@ +name: Website + +on: [push, pull_request, workflow_dispatch] + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup + uses: ./.github/actions/setup-website + + - name: yarn build + run: yarn build + working-directory: website diff --git a/README.md b/README.md index d1d65542..dcb76a27 100644 --- a/README.md +++ b/README.md @@ -63,26 +63,8 @@ This will now only run the standalone webpack build upon install. ## Maintainer Release Guide -To publish a new release, follow these steps: +Release artifacts are published automatically when a new GitHub release is +created. The publishing workflows may also be executed manually, given a Git +Tag, to re-attempt publish. -1. Ensure you have your GPG key set up and your [OSS Sonatype](https://oss.sonatype.org/) credentials handy. -2. Add the follow entries to either your local `gradle.properties` (don't forget to revert) or your global `~/.gradle/gradle.properties`: - -``` -# You get these from https://oss.sonatype.org/#profile;User%20Token -mavenCentralRepositoryUsername= -mavenCentralRepositoryPassword= - -# You can get the keyId (in GPG 1.4 format) by running `gpg1 --list-keys`. -signing.secretKeyRingFile= -signing.keyId= -signing.password= -``` - -3. Change the `VERSION_NAME` in `gradle.properties` to a non-SNAPSHOT release. -4. Commit and land the version change. -5. Run `./gradlew publishToMaven`. -6. Run `./gradlew closeAndReleaseRepository`. -7. Change the `VERSION_NAME` in `gradle.properties` back to a new SNAPSHOT release. -8. Commit and land the version change. -9. Celebrate! You've made a release! +NPM and NuGet packages are not currently published. diff --git a/build.gradle b/build.gradle index 4bffb4fd..ff43f4a7 100644 --- a/build.gradle +++ b/build.gradle @@ -37,33 +37,6 @@ ext { targetCompatibilityVersion = JavaVersion.VERSION_1_7 } -// If you have an idea on how to avoid this, please get in touch or -// answer https://stackoverflow.com/questions/43867014/how-to-use-the-gradle-ndk-build-to-compile-for-the-host-machine. -task copyNativeLibs(type: Copy, dependsOn: ':buckBuildNative') { - from "${rootDir}/buck-out/gen/java/tests#default,shared-library-symlink-tree/" - include '*.so' - include '*.dylib' - into "$buildDir/jniLibs" -} - -task buckBuildNative(type: Exec) { - workingDir rootDir - environment BUCKVERSION: 'last' - commandLine 'buck', 'build', '//java/...' -} - -allprojects { - afterEvaluate { - tasks.withType(Test) { - dependsOn copyNativeLibs - def libDir = "${rootDir}/build/jniLibs" - systemProperty 'java.library.path', libDir - environment 'LD_LIBRARY_PATH', libDir - environment 'DYLD_LIBRARY_PATH', libDir - } - } -} - task clean(type: Delete) { delete rootProject.buildDir } diff --git a/enums.py b/enums.py index 8e37c7c7..03152072 100644 --- a/enums.py +++ b/enums.py @@ -72,10 +72,10 @@ def get_license(ext): * LICENSE file in the root directory of this source tree. */ -// @generated by enums.py +// @{} by enums.py """.format( - prologue + prologue, "generated" ) @@ -107,13 +107,13 @@ root = os.path.dirname(os.path.abspath(__file__)) with open(root + "/yoga/YGEnums.h", "w") as f: f.write(get_license("cpp")) f.write("#pragma once\n") - f.write("// clang-format: off\n\n") f.write('#include "YGMacros.h"\n\n') + f.write("// clang-format off\n\n\n") - f.write('YG_EXTERN_C_BEGIN\n\n') + f.write("YG_EXTERN_C_BEGIN\n\n") items = sorted(ENUMS.items()) for name, values in items: - if (isinstance(values[0], tuple)): + if isinstance(values[0], tuple): f.write("YG_ENUM_DECL(\n") else: f.write("YG_ENUM_SEQ_DECL(\n") diff --git a/java/build.gradle b/java/build.gradle index c77068c3..1672a9ea 100644 --- a/java/build.gradle +++ b/java/build.gradle @@ -45,10 +45,6 @@ android { manifest.srcFile 'AndroidManifest.xml' res.srcDirs = ['res'] } - - test { - java.srcDirs 'tests' - } } } diff --git a/scripts/android-setup.sh b/scripts/android-setup.sh deleted file mode 100644 index 3110d684..00000000 --- a/scripts/android-setup.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -# Copyright (c) Meta Platforms, Inc. and affiliates. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. - -set -e - -function download() { - if hash curl 2>/dev/null; then - curl -s -L -o "$2" "$1" - elif hash wget 2>/dev/null; then - wget -O "$2" "$1" - else - echo >&2 "No supported download tool installed. Please get either wget or curl." - exit - fi -} - -function installsdk() { - PROXY_ARGS="" - if [[ ! -z "$HTTPS_PROXY" ]]; then - PROXY_HOST="$(echo $HTTPS_PROXY | cut -d : -f 1,1)" - PROXY_PORT="$(echo $HTTPS_PROXY | cut -d : -f 2,2)" - PROXY_ARGS="--proxy=http --proxy_host=$PROXY_HOST --proxy_port=$PROXY_PORT" - fi - - echo y | "$ANDROID_HOME"/tools/bin/sdkmanager $PROXY_ARGS "$@" -} - -function installAndroidSDK { - if [[ ! -d "$HOME/android-sdk" ]]; then - TMP=/tmp/sdk$$.zip - download 'https://dl.google.com/android/repository/tools_r25.2.3-linux.zip' $TMP - unzip -qod "$HOME/android-sdk" $TMP - rm $TMP - fi - - export ANDROID_NDK_REPOSITORY=$HOME/android-ndk - if [[ ! -d "$ANDROID_NDK_REPOSITORY/android-ndk-r15c" ]]; then - TMP=/tmp/ndk$$.zip - mkdir -p "$ANDROID_NDK_REPOSITORY" - download 'https://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip' $TMP - unzip -qod "$ANDROID_NDK_REPOSITORY" "$TMP" - rm $TMP - fi - - export ANDROID_HOME=$HOME/android-sdk - export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$PATH" - - mkdir -p $ANDROID_HOME/licenses/ - echo > $ANDROID_HOME/licenses/android-sdk-license - echo -n d56f5187479451eabf01fb78af6dfcb131a6481e > $ANDROID_HOME/licenses/android-sdk-license - - installsdk 'build-tools;25.0.3' 'build-tools;26.0.2' 'platforms;android-25' 'platforms;android-26' 'ndk-bundle' 'extras;android;m2repository' 'cmake;3.6.4111459' -} diff --git a/scripts/deploy_jcenter.sh b/scripts/deploy_jcenter.sh deleted file mode 100755 index 928b8a23..00000000 --- a/scripts/deploy_jcenter.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -# Copyright (c) Meta Platforms, Inc. and affiliates. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. - -set -e -ROOTDIR="$(dirname $0)/.." -echo -e "\033[1;34m** We can deploy two libraries\n** (1) Java bindings to Yoga\n** (2) Android YogaLayout\n** Which do you want to ship today? \033[0m" -read -p "" -n 1 mod -case $mod in - 1 ) MODULE="yoga";; - 2 ) MODULE="yoga-layout";; - * ) echo -e "\n\033[1;34m** Invalid selection" && exit - esac - -echo -e "\n\033[1;34m** We'll need your Bintray credentials. If you don't remember them go to https://bintray.com/profile/edit\033[0m" - -echo -e "\033[1;34m** [1/3] Please enter your Bintray username (probably not your email address): \033[0m" -read -r BINTRAY_USER -echo -e "\033[1;34m** [2/3] Please enter your Bintray API key: \033[0m" -read -r BINTRAY_KEY -echo -e "\033[1;34m** [3/3] Please enter your GPG passphrase: \033[0m" -read -r GPG_PASS - -uploadcmd="$ROOTDIR/gradlew clean :${MODULE}:build bintrayUpload --info -PbintrayUsername='$BINTRAY_USER' -PbintrayApiKey='$BINTRAY_KEY' -PbintrayGpgPassword='$GPG_PASS'" - -echo -echo -e "\033[1;34m** Dry run\033[0m" - -eval "$uploadcmd -PdryRun=true" - -echo -echo -e "\033[1;34m** Are you happy to conintue?: [yN]\033[0m" -read -p "" -n 1 yn - case $yn in - [Yy]* ) ;; - * ) echo -e "\n\033[1;34m** Run $0 when you're ready to try again\033[0m" && exit;; - esac - -echo -echo -e "\033[1;34m** Publishing\033[0m" - -eval "$uploadcmd" diff --git a/scripts/publish-snapshot.sh b/scripts/publish-snapshot.sh deleted file mode 100755 index 236d8055..00000000 --- a/scripts/publish-snapshot.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash -# -# Deploy a SNAPSHOT JAR after every successful CI run To Sonatype. - -# -# Copyright (c) Facebook, Inc. and its affiliates. -# -# This source code is licensed under the MIT license found in the LICENSE -# file in the root directory of this source tree. -# - -set -e - -BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" -IS_SNAPSHOT="$(grep 'VERSION_NAME=[0-9\.]\+-SNAPSHOT' "$BASEDIR/gradle.properties")" - -if [ "$IS_SNAPSHOT" == "" ]; then - echo >&2 "Skipping build. Given build doesn't appear to be a SNAPSHOT release." -else - env TERMINAL=dumb "$BASEDIR/gradlew" publish -fi diff --git a/scripts/setup-keys.enc b/scripts/setup-keys.enc deleted file mode 100644 index 89144cbf..00000000 --- a/scripts/setup-keys.enc +++ /dev/null @@ -1 +0,0 @@ -kþèçßÞ=+\Mòènýmq6©Pƒáq³Z<¦c%§Þãjô¾d«–îŠÐ(¿Š»ê9C7P`]×ùæ®#ûZŸ+¼™‡ê¹^ 7¾¹‹ôÙ*–³¬rç`LàA™1m°’0h¥n% vâù \ No newline at end of file diff --git a/yoga/YGEnums.h b/yoga/YGEnums.h index 8faec2eb..8e4bb4ef 100644 --- a/yoga/YGEnums.h +++ b/yoga/YGEnums.h @@ -8,10 +8,11 @@ // @generated by enums.py #pragma once -// clang-format: off - #include "YGMacros.h" +// clang-format off + + YG_EXTERN_C_BEGIN YG_ENUM_SEQ_DECL(