Compare commits

..

No commits in common. "master" and "1.0.29" have entirely different histories.

17 changed files with 191 additions and 212 deletions

View File

@ -15,34 +15,42 @@ on:
jobs:
create-release:
runs-on: ubuntu-latest
permissions:
contents: write
outputs:
release_tag_name: ${{ env.release_tag_name }}
upload_url: ${{ steps.create_release.outputs.upload_url }}
build_meta: ${{ env.build_meta }}
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v2
- name: Generate release info
run: |
cd release_gen
chmod +x create_release_info.sh
./create_release_info.sh ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} ${{github.run_number}} ${{github.repository}}
- name: Create Release
run: |
gh release create ${{env.release_tag_name}} --title "${{env.release_name}}" --notes-file release_gen/release_message.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
id: create_release
uses: softprops/action-gh-release@v1
with:
name: ${{env.release_name}}
tag_name: ${{env.release_tag_name}}
body_path: release_gen/release_message.md
- name: Add LICENSE
run: |
gh release upload ${{env.release_tag_name}} release_gen/LICENSE
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release_gen/LICENSE
asset_name: LICENSE
asset_content_type: text/plain
- name: Add build_meta.json
run: |
gh release upload ${{env.release_tag_name}} release_gen/build_meta.json
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release_gen/build_meta.json
asset_name: build_meta.json
asset_content_type: application/json
- name: Announce build_meta.json download url to other jobs
run: |
cd release_gen
@ -52,164 +60,160 @@ jobs:
build-linux-amd64:
runs-on: ubuntu-latest
needs: create-release
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v1
-
name: Build
run: |
chmod +x compile_linux.sh
./compile_linux.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution
run: |
mv out/binary_distrib.tar.gz out/linux-amd64.tar.gz
gh release upload ${{needs.create-release.outputs.release_tag_name}} out/linux-amd64.tar.gz
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: out/binary_distrib.tar.gz
asset_name: linux-amd64.tar.gz
asset_content_type: application/octet-stream
build-linux-arm64:
runs-on: ubuntu-latest
needs: create-release
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v1
-
name: Build
run: |
chmod +x compile_linux.sh
./compile_linux.sh arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution
run: |
mv out/binary_distrib.tar.gz out/linux-arm64.tar.gz
gh release upload ${{needs.create-release.outputs.release_tag_name}} out/linux-arm64.tar.gz
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: out/binary_distrib.tar.gz
asset_name: linux-arm64.tar.gz
asset_content_type: application/octet-stream
build-linux-arm:
runs-on: ubuntu-latest
needs: create-release
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v1
-
name: Build
run: |
chmod +x compile_linux.sh
./compile_linux.sh arm/v6 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution
run: |
mv out/binary_distrib.tar.gz out/linux-arm.tar.gz
gh release upload ${{needs.create-release.outputs.release_tag_name}} out/linux-arm.tar.gz
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: out/binary_distrib.tar.gz
asset_name: linux-arm.tar.gz
asset_content_type: application/octet-stream
build-windows-amd64:
runs-on: windows-2022
runs-on: windows-2019
needs: create-release
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
-
name: Build
shell: cmd
run: |
compile_windows.bat amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution
run: |
move out/binary_distrib.tar.gz out/windows-amd64.tar.gz
gh release upload ${{needs.create-release.outputs.release_tag_name}} out/windows-amd64.tar.gz
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: out/binary_distrib.tar.gz
asset_name: windows-amd64.tar.gz
asset_content_type: application/octet-stream
build-windows-i386:
runs-on: windows-2022
runs-on: windows-2019
needs: create-release
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
-
name: Build
shell: cmd
run: |
compile_windows.bat 386 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution
run: |
move out/binary_distrib.tar.gz out/windows-i386.tar.gz
gh release upload ${{needs.create-release.outputs.release_tag_name}} out/windows-i386.tar.gz
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: out/binary_distrib.tar.gz
asset_name: windows-i386.tar.gz
asset_content_type: application/octet-stream
build-windows-arm64:
runs-on: windows-2022
runs-on: windows-2019
needs: create-release
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
-
name: Build
shell: cmd
run: |
compile_windows.bat arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution
run: |
move out/binary_distrib.tar.gz out/windows-arm64.tar.gz
gh release upload ${{needs.create-release.outputs.release_tag_name}} out/windows-arm64.tar.gz
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: out/binary_distrib.tar.gz
asset_name: windows-arm64.tar.gz
asset_content_type: application/octet-stream
build-macosx-amd64:
runs-on: macos-latest
runs-on: macos-10.15
needs: create-release
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
-
name: Setup environment
run: |
chmod +x scripts/install_macos_dependencies.sh
./scripts/install_macos_dependencies.sh
- name: Set up Java
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'corretto'
- uses: actions/setup-python@v5
with:
python-version: '3.10.11'
- name: Install Apple certificate
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }}
@ -241,45 +245,42 @@ jobs:
name: Build
run: |
chmod +x compile_macosx.sh
./compile_macosx.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} "${{ secrets.APPLE_BUILD_CERTIFICATE_NAME }}" ${{ secrets.APPLE_TEAM_NAME }} ${{ secrets.APPLE_API_KEY_ID }} "${HOME}/private_keys/AuthKey_${{ secrets.APPLE_API_KEY_NAME }}.p8" ${{ secrets.APPLE_API_KEY_ISSUER }}
./compile_macosx.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} "${{ secrets.APPLE_BUILD_CERTIFICATE_NAME }}" ${{ secrets.APPLE_TEAM_NAME }} ${{ secrets.APPLE_API_KEY_NAME }} ${{ secrets.APPLE_API_KEY_ISSUER }}
- name: Clean up keychain
if: ${{ always() }}
run: |
security delete-keychain $RUNNER_TEMP/app-signing.keychain-db
rm -rf "${HOME}/private_keys"
- name: Export distribution
run: |
mv out/binary_distrib.tar.gz out/macosx-amd64.tar.gz
gh release upload ${{needs.create-release.outputs.release_tag_name}} out/macosx-amd64.tar.gz
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: out/binary_distrib.tar.gz
asset_name: macosx-amd64.tar.gz
asset_content_type: application/octet-stream
- name: Export javadoc
run: |
gh release upload ${{needs.create-release.outputs.release_tag_name}} out/javadoc.tar.gz
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: out/javadoc.tar.gz
asset_name: javadoc.tar.gz
asset_content_type: application/octet-stream
build-macosx-arm64:
runs-on: macos-latest
runs-on: macos-10.15
needs: create-release
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
-
name: Setup environment
run: |
chmod +x scripts/install_macos_dependencies.sh
./scripts/install_macos_dependencies.sh
- name: Set up Java
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'corretto'
- uses: actions/setup-python@v5
with:
python-version: '3.10.11'
- name: Install Apple certificate
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }}
@ -311,17 +312,20 @@ jobs:
name: Build
run: |
chmod +x compile_macosx.sh
./compile_macosx.sh arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} "${{ secrets.APPLE_BUILD_CERTIFICATE_NAME }}" ${{ secrets.APPLE_TEAM_NAME }} ${{ secrets.APPLE_API_KEY_ID }} "${HOME}/private_keys/AuthKey_${{ secrets.APPLE_API_KEY_NAME }}.p8" ${{ secrets.APPLE_API_KEY_ISSUER }}
./compile_macosx.sh arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} "${{ secrets.APPLE_BUILD_CERTIFICATE_NAME }}" ${{ secrets.APPLE_TEAM_NAME }} ${{ secrets.APPLE_API_KEY_NAME }} ${{ secrets.APPLE_API_KEY_ISSUER }}
- name: Clean up keychain
if: ${{ always() }}
run: |
security delete-keychain $RUNNER_TEMP/app-signing.keychain-db
rm -rf "${HOME}/private_keys"
- name: Export distribution
run: |
mv out/binary_distrib.tar.gz out/macosx-arm64.tar.gz
gh release upload ${{needs.create-release.outputs.release_tag_name}} out/macosx-arm64.tar.gz
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: out/binary_distrib.tar.gz
asset_name: macosx-arm64.tar.gz
asset_content_type: application/octet-stream

View File

@ -16,14 +16,14 @@ jobs:
build-linux-amd64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v1
-
name: Build
run: |
@ -31,7 +31,7 @@ jobs:
./compile_linux.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
-
name: Export artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: linux-amd64.tar.gz
path: out/binary_distrib.tar.gz

View File

@ -16,14 +16,14 @@ jobs:
build-linux-arm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v1
-
name: Build
run: |
@ -31,7 +31,7 @@ jobs:
./compile_linux.sh arm/v6 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
-
name: Export artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: linux-arm.tar.gz
path: out/binary_distrib.tar.gz

View File

@ -16,14 +16,14 @@ jobs:
build-linux-arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v1
-
name: Build
run: |
@ -31,7 +31,7 @@ jobs:
./compile_linux.sh arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
-
name: Export artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: linux-arm64.tar.gz
path: out/binary_distrib.tar.gz

View File

@ -14,22 +14,14 @@ on:
jobs:
build-macosx-amd64:
runs-on: macos-latest
runs-on: macos-10.15
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
-
name: Setup environment
run: |
chmod +x scripts/install_macos_dependencies.sh
./scripts/install_macos_dependencies.sh
- name: Set up Java
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'corretto'
- uses: actions/setup-python@v5
with:
python-version: '3.10.11'
- name: Install Apple certificate
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }}
@ -61,7 +53,7 @@ jobs:
name: Build
run: |
chmod +x compile_macosx.sh
./compile_macosx.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} "${{ secrets.APPLE_BUILD_CERTIFICATE_NAME }}" ${{ secrets.APPLE_TEAM_NAME }} ${{ secrets.APPLE_API_KEY_ID }} "${HOME}/private_keys/AuthKey_${{ secrets.APPLE_API_KEY_NAME }}.p8" ${{ secrets.APPLE_API_KEY_ISSUER }}
./compile_macosx.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} "${{ secrets.APPLE_BUILD_CERTIFICATE_NAME }}" ${{ secrets.APPLE_TEAM_NAME }} ${{ secrets.APPLE_API_KEY_NAME }} ${{ secrets.APPLE_API_KEY_ISSUER }}
- name: Clean up keychain
if: ${{ always() }}
run: |
@ -69,7 +61,7 @@ jobs:
rm -rf "${HOME}/private_keys"
-
name: Export artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: macosx-amd64.tar.gz
path: out/binary_distrib.tar.gz

View File

@ -14,22 +14,14 @@ on:
jobs:
build-macosx-arm64:
runs-on: macos-latest
runs-on: macos-10.15
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
-
name: Setup environment
run: |
chmod +x scripts/install_macos_dependencies.sh
./scripts/install_macos_dependencies.sh
- name: Set up Java
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'corretto'
- uses: actions/setup-python@v5
with:
python-version: '3.10.11'
- name: Install Apple certificate
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }}
@ -61,7 +53,7 @@ jobs:
name: Build
run: |
chmod +x compile_macosx.sh
./compile_macosx.sh arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} "${{ secrets.APPLE_BUILD_CERTIFICATE_NAME }}" ${{ secrets.APPLE_TEAM_NAME }} ${{ secrets.APPLE_API_KEY_ID }} "${HOME}/private_keys/AuthKey_${{ secrets.APPLE_API_KEY_NAME }}.p8" ${{ secrets.APPLE_API_KEY_ISSUER }}
./compile_macosx.sh arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} "${{ secrets.APPLE_BUILD_CERTIFICATE_NAME }}" ${{ secrets.APPLE_TEAM_NAME }} ${{ secrets.APPLE_API_KEY_NAME }} ${{ secrets.APPLE_API_KEY_ISSUER }}
- name: Clean up keychain
if: ${{ always() }}
run: |
@ -69,7 +61,7 @@ jobs:
rm -rf "${HOME}/private_keys"
-
name: Export artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: macosx-arm64.tar.gz
path: out/binary_distrib.tar.gz

View File

@ -14,9 +14,9 @@ on:
jobs:
build-windows-amd64:
runs-on: windows-2022
runs-on: windows-2019
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
-
name: Build
shell: cmd
@ -24,7 +24,7 @@ jobs:
compile_windows.bat amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
-
name: Export artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: windows-amd64.tar.gz
path: out/binary_distrib.tar.gz

View File

@ -14,9 +14,9 @@ on:
jobs:
build-windows-arm64:
runs-on: windows-2022
runs-on: windows-2019
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
-
name: Build
shell: cmd
@ -24,7 +24,7 @@ jobs:
compile_windows.bat arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
-
name: Export artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: windows-arm64.tar.gz
path: out/binary_distrib.tar.gz

View File

@ -14,9 +14,9 @@ on:
jobs:
build-windows-i386:
runs-on: windows-2022
runs-on: windows-2019
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
-
name: Build
shell: cmd
@ -24,7 +24,7 @@ jobs:
compile_windows.bat 386 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
-
name: Export artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: windows-i386.tar.gz
path: out/binary_distrib.tar.gz

View File

@ -32,7 +32,7 @@ RUN ./run_linux.sh
#Export built files
FROM scratch AS export-stage
COPY --from=stage /jcef/binary_distrib.tar.gz .
#COPY --from=stage /jcef/target target
#COPY --from=stage /jcef/third_party third_party
#COPY --from=stage /jcef/buildtools buildtools
#COPY --from=stage /jcef/jcef_build jcef_build
COPY --from=stage /jcef/target target
COPY --from=stage /jcef/third_party third_party
COPY --from=stage /jcef/buildtools buildtools
COPY --from=stage /jcef/jcef_build jcef_build

View File

@ -29,14 +29,14 @@
<td>GCC 10</td>
<td>VS 2019</td>
<td>VS 2019</td>
<td>Xcode 13</td>
<td>Xcode 12</td>
</tr>
<tr>
<td><b>Build</b></td>
<td>Python 3.7; <code>ninja</code></td>
<td>Python 3.7; <code>ninja</code></td>
<td>Python 3.7; <code>ninja</code></td>
<td>Python 2.7; <code>ninja</code>; SDK10.13</td>
<td>Python 2.7; <code>ninja</code>; SDK10.11</td>
</tr>
<tr>
<td><b>Limitations</b></td>
@ -68,15 +68,12 @@ Required Actions Secrets for signing and notarization:
+`APPLE_API_KEY_BASE64`: Your API key to access the Apple Notarization Service (in base64)
+`APPLE_API_KEY_ISSUER`: UUID of issuer (can be found along with your generated key in Apple Dev Console)
+`APPLE_API_KEY_NAME`: The name to be used for your API key on the runner (can be random)
+`APPLE_API_KEY_ID`: The ID of your key (10 digit code)
+`APPLE_BUILD_CERTIFICATE_BASE64`: Base64 encoded pkcs12 certificate file from Apple to use for signing
+`APPLE_BUILD_CERTIFICATE_NAME`: Your certificate name (usually starts with `Developer ID Application`)
+`APPLE_P12_PASSWORD`: Password of your pkcs12 certificate file
+`APPLE_KEYCHAIN_PASSWORD`: A random password to use for the keychain on the runner
+`APPLE_TEAM_NAME`: Your apple team name, part of the certificate name (10 digit id in brackets)`
You can obtain the api key [here](https://appstoreconnect.apple.com/access/api) (make sure key has developer access) and the certificate [here](https://developer.apple.com/account/resources/certificates/list) (choose Developer ID Application).
### Building locally
To build locally, put your sources in the `jcef` directory of this repository, or leave it empty to clone a repository.

View File

@ -70,13 +70,9 @@ if [ -f "out/buildtools/clang-format" ]; then
fi
#Move jcef_build
if [ -f "out/jcef_build" ]; then
rm -rf jcef/jcef_build
mv out/jcef_build jcef/jcef_build
fi
#Move target to binary_distrib
if [ -f "out/target" ]; then
rm -rf jcef/binary_distrib
mv out/target jcef/binary_distrib
fi

View File

@ -2,7 +2,7 @@
if [ $# -lt 2 ] || [ $# -eq 3 ]
then
echo "Usage: ./compile_macosx.sh <architecture> <buildType> [<gitrepo> <gitref>] [<certname> <teamname> <applekeyid> <applekeypath> <applekeyissuer>]"
echo "Usage: ./compile_macosx.sh <architecture> <buildType> [<gitrepo> <gitref>] [<certname> <teamname> <applekeyid> <applekeyissuer>]"
echo ""
echo "architecture: the target architecture to build for. Architectures are either amd64 or arm64."
echo "buildType: either Release or Debug"
@ -10,8 +10,7 @@ if [ $# -lt 2 ] || [ $# -eq 3 ]
echo "gitref: the git commit id to pull"
echo "certname: the apple signing certificate name. Something like \"Developer ID Application: xxx (yyy)\""
echo "teamname: the apple team name. 10-digit id yyy from the cert name."
echo "applekeyid: id of your apple api key"
echo "applekeypath: path to your apple api key"
echo "applekeyid: your apple api key id"
echo "applekeyissuer: uuid of your apple api key issuer"
exit 1
fi
@ -64,7 +63,6 @@ ninja -j4
#Generate distribution
cd ../tools
sed -i "" 's/--ignore-source-errors//g' make_docs.sh
chmod +x make_distrib.sh
./make_distrib.sh macosx64
cd ..
@ -74,12 +72,7 @@ cd binary_distrib/macosx64
if [ $# -gt 4 ]
then
chmod +x $WORK_DIR/macosx_codesign.sh
bash $WORK_DIR/macosx_codesign.sh $(pwd) "$5" $6 $7 $8 $9
retVal=$?
if [ $retVal -ne 0 ]; then
echo "Binaries are not correctly signed"
exit 1
fi
bash $WORK_DIR/macosx_codesign.sh $(pwd) "$5" $6 $7 $8
fi
#Pack binary_distrib

View File

@ -1,14 +1,13 @@
#!/bin/bash
if [ $# -lt 6 ]
if [ $# -lt 5 ]
then
echo "Usage: ./macosx_codesign.sh <path> <certname> <teamname> <applekeyid> <applekeypath> <applekeyissuer>"
echo "Usage: ./macosx_codesign.sh <path> <certname> <teamname> <applekeyid> <applekeyissuer>"
echo ""
echo "path: the absolute(!) target path"
echo "certname: the apple signing certificate name. Something like \"Developer ID Application: xxx (yyy)\""
echo "teamname: the apple team name. 10-digit id yyy from the cert name."
echo "applekeyid: id of your apple api key"
echo "applekeypath: path to your apple api key"
echo "applekeyid: your apple api key id"
echo "applekeyissuer: uuid of your apple api key issuer"
exit 1
fi
@ -28,25 +27,24 @@ chmod +x macosx_codesign_zip.sh
#Sign helpers
echo "Signing helpers..."
cd "$( dirname "$0" )"
codesign --force --options runtime --entitlements "$ENTITLEMENTS_HELPER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper.app"
bash macosx_notarize.sh "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper.app" "$2" $3 org.jcef.jcef.helper $4 $5 $6
bash macosx_notarize.sh "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper.app" "$2" $3 org.jcef.jcef.helper $4 $5
codesign --force --options runtime --entitlements "$ENTITLEMENTS_HELPER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (GPU).app"
bash macosx_notarize.sh "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (GPU).app" "$2" $3 org.jcef.jcef.helper.gpu $4 $5 $6
bash macosx_notarize.sh "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (GPU).app" "$2" $3 org.jcef.jcef.helper.gpu $4 $5
codesign --force --options runtime --entitlements "$ENTITLEMENTS_HELPER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (Plugin).app"
bash macosx_notarize.sh "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (Plugin).app" "$2" $3 org.jcef.jcef.helper.plugin $4 $5 $6
bash macosx_notarize.sh "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (Plugin).app" "$2" $3 org.jcef.jcef.helper.plugin $4 $5
codesign --force --options runtime --entitlements "$ENTITLEMENTS_HELPER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (Renderer).app"
bash macosx_notarize.sh "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (Renderer).app" "$2" $3 org.jcef.jcef.helper.renderer $4 $5 $6
codesign --force --options runtime --entitlements "$ENTITLEMENTS_HELPER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (Alerts).app"
bash macosx_notarize.sh "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (Alerts).app" "$2" $3 org.jcef.jcef.helper.alerts $4 $5 $6
bash macosx_notarize.sh "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (Renderer).app" "$2" $3 org.jcef.jcef.helper.renderer $4 $5
#Sign libraries and framework
echo "Signing libraries and framework..."
codesign --force --options runtime --entitlements "$ENTITLEMENTS_BROWSER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/$FRAMEWORK_NAME/Libraries/libEGL.dylib"
codesign --force --options runtime --entitlements "$ENTITLEMENTS_BROWSER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/$FRAMEWORK_NAME/Libraries/libGLESv2.dylib"
codesign --force --options runtime --entitlements "$ENTITLEMENTS_BROWSER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/$FRAMEWORK_NAME/Libraries/libswiftshader_libEGL.dylib"
codesign --force --options runtime --entitlements "$ENTITLEMENTS_BROWSER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/$FRAMEWORK_NAME/Libraries/libswiftshader_libGLESv2.dylib"
codesign --force --options runtime --entitlements "$ENTITLEMENTS_BROWSER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/$FRAMEWORK_NAME/Libraries/libvk_swiftshader.dylib"
codesign --force --options runtime --entitlements "$ENTITLEMENTS_BROWSER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/$FRAMEWORK_NAME/Chromium Embedded Framework"
codesign --force --options runtime --entitlements "$ENTITLEMENTS_BROWSER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/$FRAMEWORK_NAME"
bash macosx_notarize.sh "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/$FRAMEWORK_NAME" "$2" $3 org.cef.framework $4 $5
codesign --force --options runtime --entitlements "$ENTITLEMENTS_BROWSER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/Contents/Java/libjcef.dylib"
bash macosx_codesign_zip.sh "$APP_DIR/$APP_NAME/Contents/Java/gluegen-rt-natives-macosx-universal.jar" "natives/macosx-universal/libgluegen_rt.dylib" "$2"
bash macosx_codesign_zip.sh "$APP_DIR/$APP_NAME/Contents/Java/jogl-all-natives-macosx-universal.jar" "natives/macosx-universal/libnativewindow_awt.dylib" "$2"
@ -54,16 +52,7 @@ bash macosx_codesign_zip.sh "$APP_DIR/$APP_NAME/Contents/Java/jogl-all-natives-m
bash macosx_codesign_zip.sh "$APP_DIR/$APP_NAME/Contents/Java/jogl-all-natives-macosx-universal.jar" "natives/macosx-universal/libjogl_mobile.dylib" "$2"
bash macosx_codesign_zip.sh "$APP_DIR/$APP_NAME/Contents/Java/jogl-all-natives-macosx-universal.jar" "natives/macosx-universal/libnewt_head.dylib" "$2"
bash macosx_codesign_zip.sh "$APP_DIR/$APP_NAME/Contents/Java/jogl-all-natives-macosx-universal.jar" "natives/macosx-universal/libjogl_desktop.dylib" "$2"
codesign --force --options runtime --entitlements "$ENTITLEMENTS_BROWSER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME/Contents/MacOS/JavaAppLauncher"
codesign --force --options runtime --entitlements "$ENTITLEMENTS_BROWSER" --sign "$2" --timestamp --verbose "$APP_DIR/$APP_NAME"
bash macosx_notarize.sh "$APP_DIR/$APP_NAME" "$2" $3 org.jcef.jcef $4 $5 $6
echo "Checking notarization validity"
spctl -vvv --assess --type exec "$APP_DIR/$APP_NAME"
retVal=$?
if [ $retVal -ne 0 ]; then
echo "Binaries are not correctly signed"
exit 1
fi
bash macosx_notarize.sh "$APP_DIR/$APP_NAME" "$2" $3 org.jcef.jcef $4 $5
echo "Done signing binaries"

View File

@ -3,16 +3,15 @@
#Contents partly stolen from https://scriptingosx.com/2019/09/notarize-a-command-line-tool/
#Will need updating for XCode 13+
if [ $# -lt 7 ]
if [ $# -lt 6 ]
then
echo "Usage: ./macosx_notarize.sh <path> <certname> <teamname> <bundleid> <applekeyid> <applekeypath> <applekeyissuer>"
echo "Usage: ./macosx_notarize.sh <path> <certname> <teamname> <bundleid> <applekeyid> <applekeyissuer>"
echo ""
echo "path: the absolute(!) target path"
echo "certname: the apple signing certificate name. Something like \"Developer ID Application: xxx (yyy)\""
echo "teamname: the apple team name. 10-digit id yyy from the cert name."
echo "bundleid: the bundle id of the artifact"
echo "applekeyid: id of your apple api key"
echo "applekeypath: path to your apple api key"
echo "applekeyid: your apple api key id"
echo "applekeyissuer: uuid of your apple api key issuer"
exit 1
fi
@ -28,27 +27,50 @@ cd $APP_DIR
echo "Creating zip"
zip -r "$APP_NAME.zip" "$APP_NAME"
echo "Uploading $ZIP_PATH for notarization and waiting for result"
xcrun notarytool submit "$1.zip" \
--key $6 \
--key-id $5 \
--issuer $7 \
--wait 2>&1 | tee notary_output.txt
rm "$APP_NAME.zip"
requestUUID=$(cat notary_output.txt | awk '/id:/ { print $NF; exit; }')
rm notary_output.txt
echo "Uploading $ZIP_PATH for notarization"
requestUUID=$(xcrun altool --notarize-app \
--type macos \
--primary-bundle-id "$4" \
--apiKey "$5" \
--apiIssuer "$6" \
--file "$1.zip" 2>&1 \
| awk '/RequestUUID/ { print $NF; }')
# --asc-provider "$3" \
echo "Notarization log:"
xcrun notarytool log $requestUUID \
--key $6 \
--key-id $5 \
--issuer $7 \
notarization.log
cat notarization.log
rm -f notarization.log
echo ""
echo "Notarization RequestUUID: $requestUUID"
# clean up zip
rm -f "$APP_NAME.zip"
if [[ $requestUUID == "" ]]; then
echo "Could not upload for notarization"
exit 1
fi
# wait for status to be not "in progress" any more
request_status="in progress"
while [[ "$request_status" == "in progress" ]]; do
echo -n "waiting... "
sleep 60
request_status=$(xcrun altool --notarization-info "$requestUUID" \
--apiKey "$5" \
--apiIssuer "$6" 2>&1 \
| awk -F ': ' '/Status:/ { print $2; }' )
echo "$request_status"
done
# print status information
xcrun altool --notarization-info "$requestUUID" \
--apiKey "$5" \
--apiIssuer "$6"
echo
if [[ $request_status != "success" ]]; then
echo "Could not notarize!"
exit 1
fi
# staple
xcrun stapler staple -v "$1"
xcrun stapler staple "$1"
echo "##########################################################"

View File

@ -1,9 +1,3 @@
#!/bin/bash
PYTHON=python3
brew install ninja
brew install six
"$PYTHON" -m pip list
echo "from six.moves import configparser" | "$PYTHON" && echo "Success importing stuff from six moves python module"

View File

@ -19,9 +19,9 @@ python C:/patch_cmake.py CMakeLists.txt C:/CMakeLists.txt.patch
mkdir jcef_build && cd jcef_build
:: Load vcvars for 32 or 64-bit builds
if "%TARGETARCH%"=="386" (call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars32.bat")
if "%TARGETARCH%"=="amd64" (call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat")
if "%TARGETARCH%"=="arm64" (call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsamd64_arm64.bat")
if "%TARGETARCH%"=="386" (call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars32.bat")
if "%TARGETARCH%"=="amd64" (call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat")
if "%TARGETARCH%"=="arm64" (call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsamd64_arm64.bat")
:: Edit PATH variable on 386 to use 32 bit jdk (cmake findjni does not actually care about JAVA_HOME)
if "%TARGETARCH%"=="386" (set "PATH=C:/Program Files (x86)/Java/jdk1.8.0_211;%PATH%")