Compare commits

..

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

20 changed files with 264 additions and 231 deletions

View File

@ -15,34 +15,42 @@ on:
jobs: jobs:
create-release: create-release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: write
outputs: outputs:
release_tag_name: ${{ env.release_tag_name }} upload_url: ${{ steps.create_release.outputs.upload_url }}
build_meta: ${{ env.build_meta }} build_meta: ${{ env.build_meta }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: Generate release info - name: Generate release info
run: | run: |
cd release_gen cd release_gen
chmod +x create_release_info.sh 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}} ./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 - name: Create Release
run: | id: create_release
gh release create ${{env.release_tag_name}} --title "${{env.release_name}}" --notes-file release_gen/release_message.md uses: softprops/action-gh-release@v1
env: with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} name: ${{env.release_name}}
tag_name: ${{env.release_tag_name}}
body_path: release_gen/release_message.md
- name: Add LICENSE - name: Add LICENSE
run: | uses: actions/upload-release-asset@v1
gh release upload ${{env.release_tag_name}} release_gen/LICENSE
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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 - name: Add build_meta.json
run: | uses: actions/upload-release-asset@v1
gh release upload ${{env.release_tag_name}} release_gen/build_meta.json
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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 - name: Announce build_meta.json download url to other jobs
run: | run: |
cd release_gen cd release_gen
@ -52,164 +60,188 @@ jobs:
build-linux-amd64: build-linux-amd64:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: create-release needs: create-release
permissions:
contents: write
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v1
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@master uses: docker/setup-qemu-action@master
with: with:
platforms: all platforms: all
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v1
- -
name: Build name: Build
run: | run: |
chmod +x compile_linux.sh chmod +x compile_linux.sh
./compile_linux.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} ./compile_linux.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution - name: Export distribution
run: | uses: actions/upload-release-asset@v1
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
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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: build-linux-i386:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: create-release needs: create-release
permissions:
contents: write
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v1
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@master uses: docker/setup-qemu-action@master
with: with:
platforms: all platforms: all
- -
name: Set up Docker Buildx 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 386 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution
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-i386.tar.gz
asset_content_type: application/octet-stream
build-linux-arm64:
runs-on: ubuntu-latest
needs: create-release
steps:
- 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@v1
- -
name: Build name: Build
run: | run: |
chmod +x compile_linux.sh chmod +x compile_linux.sh
./compile_linux.sh arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} ./compile_linux.sh arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution - name: Export distribution
run: | uses: actions/upload-release-asset@v1
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
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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: build-linux-arm:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: create-release needs: create-release
permissions:
contents: write
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v1
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@master uses: docker/setup-qemu-action@master
with: with:
platforms: all platforms: all
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v1
- -
name: Build name: Build
run: | run: |
chmod +x compile_linux.sh chmod +x compile_linux.sh
./compile_linux.sh arm/v6 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} ./compile_linux.sh arm/v6 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution - name: Export distribution
run: | uses: actions/upload-release-asset@v1
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
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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: build-windows-amd64:
runs-on: windows-2022 runs-on: windows-2019
needs: create-release needs: create-release
permissions:
contents: write
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v1
- -
name: Build name: Build
shell: cmd shell: cmd
run: | run: |
compile_windows.bat amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} compile_windows.bat amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution - name: Export distribution
run: | uses: actions/upload-release-asset@v1
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
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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: build-windows-i386:
runs-on: windows-2022 runs-on: windows-2019
needs: create-release needs: create-release
permissions:
contents: write
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v1
- -
name: Build name: Build
shell: cmd shell: cmd
run: | run: |
compile_windows.bat 386 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} compile_windows.bat 386 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution - name: Export distribution
run: | uses: actions/upload-release-asset@v1
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
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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: build-windows-arm64:
runs-on: windows-2022 runs-on: windows-2019
needs: create-release needs: create-release
permissions:
contents: write
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v1
- -
name: Build name: Build
shell: cmd shell: cmd
run: | run: |
compile_windows.bat arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} compile_windows.bat arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- name: Export distribution - name: Export distribution
run: | uses: actions/upload-release-asset@v1
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
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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: build-macosx-amd64:
runs-on: macos-latest runs-on: macos-10.15
needs: create-release needs: create-release
permissions:
contents: write
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v1
- -
name: Setup environment name: Setup environment
run: | run: |
chmod +x scripts/install_macos_dependencies.sh chmod +x scripts/install_macos_dependencies.sh
./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 - name: Install Apple certificate
env: env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }} BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }}
@ -241,45 +273,42 @@ jobs:
name: Build name: Build
run: | run: |
chmod +x compile_macosx.sh 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 - name: Clean up keychain
if: ${{ always() }} if: ${{ always() }}
run: | run: |
security delete-keychain $RUNNER_TEMP/app-signing.keychain-db security delete-keychain $RUNNER_TEMP/app-signing.keychain-db
rm -rf "${HOME}/private_keys" rm -rf "${HOME}/private_keys"
- name: Export distribution - name: Export distribution
run: | uses: actions/upload-release-asset@v1
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
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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 - name: Export javadoc
run: | uses: actions/upload-release-asset@v1
gh release upload ${{needs.create-release.outputs.release_tag_name}} out/javadoc.tar.gz
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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: build-macosx-arm64:
runs-on: macos-latest runs-on: macos-10.15
needs: create-release needs: create-release
permissions:
contents: write
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v1
- -
name: Setup environment name: Setup environment
run: | run: |
chmod +x scripts/install_macos_dependencies.sh chmod +x scripts/install_macos_dependencies.sh
./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 - name: Install Apple certificate
env: env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }} BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }}
@ -311,17 +340,20 @@ jobs:
name: Build name: Build
run: | run: |
chmod +x compile_macosx.sh 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 - name: Clean up keychain
if: ${{ always() }} if: ${{ always() }}
run: | run: |
security delete-keychain $RUNNER_TEMP/app-signing.keychain-db security delete-keychain $RUNNER_TEMP/app-signing.keychain-db
rm -rf "${HOME}/private_keys" rm -rf "${HOME}/private_keys"
- name: Export distribution - name: Export distribution
run: | uses: actions/upload-release-asset@v1
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
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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: build-linux-amd64:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v1
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@master uses: docker/setup-qemu-action@master
with: with:
platforms: all platforms: all
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v1
- -
name: Build name: Build
run: | run: |
@ -31,7 +31,7 @@ jobs:
./compile_linux.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} ./compile_linux.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
- -
name: Export artifacts name: Export artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v2
with: with:
name: linux-amd64.tar.gz name: linux-amd64.tar.gz
path: out/binary_distrib.tar.gz path: out/binary_distrib.tar.gz

View File

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

View File

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

37
.github/workflows/build-linux-i386.yml vendored Normal file
View File

@ -0,0 +1,37 @@
name: build-linux-i386
on:
workflow_dispatch:
inputs:
repo:
description: 'Git repository to clone'
required: true
default: 'https://bitbucket.org/chromiumembedded/java-cef.git'
ref:
description: 'Git commit id to checkout'
required: true
default: 'master'
jobs:
build-linux-i386:
runs-on: ubuntu-latest
steps:
- 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@v1
-
name: Build
run: |
chmod +x compile_linux.sh
./compile_linux.sh 386 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
-
name: Export artifacts
uses: actions/upload-artifact@v2
with:
name: linux-i386.tar.gz
path: out/binary_distrib.tar.gz

View File

@ -14,22 +14,14 @@ on:
jobs: jobs:
build-macosx-amd64: build-macosx-amd64:
runs-on: macos-latest runs-on: macos-10.15
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v1
- -
name: Setup environment name: Setup environment
run: | run: |
chmod +x scripts/install_macos_dependencies.sh chmod +x scripts/install_macos_dependencies.sh
./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 - name: Install Apple certificate
env: env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }} BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }}
@ -61,7 +53,7 @@ jobs:
name: Build name: Build
run: | run: |
chmod +x compile_macosx.sh 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 - name: Clean up keychain
if: ${{ always() }} if: ${{ always() }}
run: | run: |
@ -69,7 +61,7 @@ jobs:
rm -rf "${HOME}/private_keys" rm -rf "${HOME}/private_keys"
- -
name: Export artifacts name: Export artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v2
with: with:
name: macosx-amd64.tar.gz name: macosx-amd64.tar.gz
path: out/binary_distrib.tar.gz path: out/binary_distrib.tar.gz

View File

@ -14,22 +14,14 @@ on:
jobs: jobs:
build-macosx-arm64: build-macosx-arm64:
runs-on: macos-latest runs-on: macos-10.15
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v1
- -
name: Setup environment name: Setup environment
run: | run: |
chmod +x scripts/install_macos_dependencies.sh chmod +x scripts/install_macos_dependencies.sh
./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 - name: Install Apple certificate
env: env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }} BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }}
@ -61,7 +53,7 @@ jobs:
name: Build name: Build
run: | run: |
chmod +x compile_macosx.sh 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 - name: Clean up keychain
if: ${{ always() }} if: ${{ always() }}
run: | run: |
@ -69,7 +61,7 @@ jobs:
rm -rf "${HOME}/private_keys" rm -rf "${HOME}/private_keys"
- -
name: Export artifacts name: Export artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v2
with: with:
name: macosx-arm64.tar.gz name: macosx-arm64.tar.gz
path: out/binary_distrib.tar.gz path: out/binary_distrib.tar.gz

View File

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

View File

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

View File

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

View File

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

View File

@ -12,7 +12,7 @@
<table> <table>
<tr> <tr>
<td width="12%"></td> <td width="12%"></td>
<td width="22%"><a href="#"><img src="https://simpleicons.org/icons/linux.svg" alt="linux" width="32" height="32"></a><br/><b>amd64, arm64 & arm</b></td> <td width="22%"><a href="#"><img src="https://simpleicons.org/icons/linux.svg" alt="linux" width="32" height="32"></a><br/><b>amd64, arm64, i386 & arm</b></td>
<td width="22%"><a href="#"><img src="https://simpleicons.org/icons/windows.svg" alt="windows" width="32" height="32"></a><br/><b>amd64 & i386</b></td> <td width="22%"><a href="#"><img src="https://simpleicons.org/icons/windows.svg" alt="windows" width="32" height="32"></a><br/><b>amd64 & i386</b></td>
<td width="22%"><a href="#"><img src="https://simpleicons.org/icons/windows.svg" alt="windows" width="32" height="32"></a><br/><b>arm64</b></td> <td width="22%"><a href="#"><img src="https://simpleicons.org/icons/windows.svg" alt="windows" width="32" height="32"></a><br/><b>arm64</b></td>
<td width="22%"><a href="#"><img src="https://simpleicons.org/icons/apple.svg" alt="apple" width="32" height="32"></a><br/><b>amd64 & arm64</b></td> <td width="22%"><a href="#"><img src="https://simpleicons.org/icons/apple.svg" alt="apple" width="32" height="32"></a><br/><b>amd64 & arm64</b></td>
@ -29,14 +29,14 @@
<td>GCC 10</td> <td>GCC 10</td>
<td>VS 2019</td> <td>VS 2019</td>
<td>VS 2019</td> <td>VS 2019</td>
<td>Xcode 13</td> <td>Xcode 12</td>
</tr> </tr>
<tr> <tr>
<td><b>Build</b></td> <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 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>
<tr> <tr>
<td><b>Limitations</b></td> <td><b>Limitations</b></td>
@ -61,26 +61,11 @@ You have multiple options to build your own project using this repository. They
To build another git repo, simply fork this repository. Then go to the "Actions" tab of your forked repository, To build another git repo, simply fork this repository. Then go to the "Actions" tab of your forked repository,
activate the workflows and manually run the `build-all` (or `build-<platform>`) workflow with your repository and commit id/branch specified. activate the workflows and manually run the `build-all` (or `build-<platform>`) workflow with your repository and commit id/branch specified.
This will trigger a build of your desired repository and platforms. This will trigger a build of your desired repository and platforms.
To produce a build for MacOS, you will need to specify your code signing information or remove the signing and notarization steps from the action workflows.
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 ### Building locally
To build locally, put your sources in the `jcef` directory of this repository, or leave it empty to clone a repository. To build locally, put your sources in the `jcef` directory of this repository, or leave it empty to clone a repository.
On Windows and Linux, make sure you installed docker (NOT the Snap version!). On MacOS, make sure you installed the build dependencies specified On Windows and Linux, make sure you installed docker (NOT the Snap version!).
On MacOS, make sure you installed the build dependencies specified
[here](https://bitbucket.org/chromiumembedded/java-cef/wiki/BranchesAndBuilding) and `ninja`. [here](https://bitbucket.org/chromiumembedded/java-cef/wiki/BranchesAndBuilding) and `ninja`.
Then execute `compile-<os>.<sh|bat> <arch> <buildType> [<gitrepo> <gitref>]`. Then execute `compile-<os>.<sh|bat> <arch> <buildType> [<gitrepo> <gitref>]`.

View File

@ -4,7 +4,7 @@ if [ $# -lt 2 ] || [ $# -eq 3 ]
then then
echo "Usage: ./compile_linux.sh <architecture> <buildType> [<gitrepo> <gitref>]" echo "Usage: ./compile_linux.sh <architecture> <buildType> [<gitrepo> <gitref>]"
echo "" echo ""
echo "architecture: the target architecture to build for. Architectures are either arm64, arm/v6 or amd64." echo "architecture: the target architecture to build for. Architectures are either arm64, arm/v6, 386 or amd64."
echo "buildType: either Release or Debug" echo "buildType: either Release or Debug"
echo "gitrepo: git repository url to clone" echo "gitrepo: git repository url to clone"
echo "gitref: the git commit id to pull" echo "gitref: the git commit id to pull"
@ -70,13 +70,9 @@ if [ -f "out/buildtools/clang-format" ]; then
fi fi
#Move jcef_build #Move jcef_build
if [ -f "out/jcef_build" ]; then
rm -rf jcef/jcef_build rm -rf jcef/jcef_build
mv out/jcef_build jcef/jcef_build mv out/jcef_build jcef/jcef_build
fi
#Move target to binary_distrib #Move target to binary_distrib
if [ -f "out/target" ]; then
rm -rf jcef/binary_distrib rm -rf jcef/binary_distrib
mv out/target jcef/binary_distrib mv out/target jcef/binary_distrib
fi

View File

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

View File

@ -1,14 +1,13 @@
#!/bin/bash #!/bin/bash
if [ $# -lt 6 ] if [ $# -lt 5 ]
then then
echo "Usage: ./macosx_codesign.sh <path> <certname> <teamname> <applekeyid> <applekeypath> <applekeyissuer>" echo "Usage: ./macosx_codesign.sh <path> <certname> <teamname> <applekeyid> <applekeyissuer>"
echo "" echo ""
echo "path: the absolute(!) target path" echo "path: the absolute(!) target path"
echo "certname: the apple signing certificate name. Something like \"Developer ID Application: xxx (yyy)\"" 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 "teamname: the apple team name. 10-digit id yyy from the cert name."
echo "applekeyid: id of your apple api key" echo "applekeyid: your apple api key id"
echo "applekeypath: path to your apple api key"
echo "applekeyissuer: uuid of your apple api key issuer" echo "applekeyissuer: uuid of your apple api key issuer"
exit 1 exit 1
fi fi
@ -28,25 +27,24 @@ chmod +x macosx_codesign_zip.sh
#Sign helpers #Sign helpers
echo "Signing 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" 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" 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" 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" 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 bash macosx_notarize.sh "$APP_DIR/$APP_NAME/$FRAMEWORKS_DIR/jcef Helper (Renderer).app" "$2" $3 org.jcef.jcef.helper.renderer $4 $5
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
#Sign libraries and framework #Sign libraries and framework
echo "Signing 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/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/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/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" 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" 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/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" 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/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/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" 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" 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 bash macosx_notarize.sh "$APP_DIR/$APP_NAME" "$2" $3 org.jcef.jcef $4 $5
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
echo "Done signing binaries" echo "Done signing binaries"

View File

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

View File

@ -76,6 +76,7 @@ mv LICENSE.txt ../LICENSE
echo " \"actions_url\": \"$3\", " echo " \"actions_url\": \"$3\", "
echo " \"actions_number\": \"$4\", " echo " \"actions_number\": \"$4\", "
echo " \"filename_linux_amd64\": \"linux-amd64.tar.gz\", " echo " \"filename_linux_amd64\": \"linux-amd64.tar.gz\", "
echo " \"filename_linux_i386\": \"linux-i386.tar.gz\", "
echo " \"filename_linux_arm64\": \"linux-arm64.tar.gz\", " echo " \"filename_linux_arm64\": \"linux-arm64.tar.gz\", "
echo " \"filename_linux_arm\": \"linux-arm.tar.gz\", " echo " \"filename_linux_arm\": \"linux-arm.tar.gz\", "
echo " \"filename_windows_amd64\": \"windows-amd64.tar.gz\", " echo " \"filename_windows_amd64\": \"windows-amd64.tar.gz\", "
@ -87,6 +88,7 @@ mv LICENSE.txt ../LICENSE
echo " \"release_tag\": \"$real_release_tag\"," echo " \"release_tag\": \"$real_release_tag\","
echo " \"release_url\": \"https://github.com/$5/releases/tag/$release_tag\", " echo " \"release_url\": \"https://github.com/$5/releases/tag/$release_tag\", "
echo " \"download_url_linux_amd64\": \"https://github.com/$5/releases/download/$release_tag/linux-amd64.tar.gz\", " echo " \"download_url_linux_amd64\": \"https://github.com/$5/releases/download/$release_tag/linux-amd64.tar.gz\", "
echo " \"download_url_linux_i386\": \"https://github.com/$5/releases/download/$release_tag/linux-i386.tar.gz\", "
echo " \"download_url_linux_arm64\": \"https://github.com/$5/releases/download/$release_tag/linux-arm64.tar.gz\", " echo " \"download_url_linux_arm64\": \"https://github.com/$5/releases/download/$release_tag/linux-arm64.tar.gz\", "
echo " \"download_url_linux_arm\": \"https://github.com/$5/releases/download/$release_tag/linux-arm.tar.gz\", " echo " \"download_url_linux_arm\": \"https://github.com/$5/releases/download/$release_tag/linux-arm.tar.gz\", "
echo " \"download_url_windows_amd64\": \"https://github.com/$5/releases/download/$release_tag/windows-amd64.tar.gz\", " echo " \"download_url_windows_amd64\": \"https://github.com/$5/releases/download/$release_tag/windows-amd64.tar.gz\", "

View File

@ -1,9 +1,3 @@
#!/bin/bash #!/bin/bash
PYTHON=python3
brew install ninja 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

@ -59,8 +59,7 @@ chmod +x compile.sh
if [ ${TARGETARCH} == 'amd64' ] || [ ${TARGETARCH} == 'arm64' ]; then if [ ${TARGETARCH} == 'amd64' ] || [ ${TARGETARCH} == 'arm64' ]; then
./compile.sh linux64 ./compile.sh linux64
elif [ ${TARGETARCH} == '386' ]; then elif [ ${TARGETARCH} == '386' ]; then
echo "386 is no longer supported since chromium 104" ./compile.sh linux32
exit 1
else else
echo "Can not compile java classes under arm/v6 currently. So we copy from prebuild directory." echo "Can not compile java classes under arm/v6 currently. So we copy from prebuild directory."
mkdir -p /jcef/out/linux32 mkdir -p /jcef/out/linux32

View File

@ -19,9 +19,9 @@ python C:/patch_cmake.py CMakeLists.txt C:/CMakeLists.txt.patch
mkdir jcef_build && cd jcef_build mkdir jcef_build && cd jcef_build
:: Load vcvars for 32 or 64-bit builds :: 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%"=="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\2022\BuildTools\VC\Auxiliary\Build\vcvars64.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\2022\BuildTools\VC\Auxiliary\Build\vcvarsamd64_arm64.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) :: 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%") if "%TARGETARCH%"=="386" (set "PATH=C:/Program Files (x86)/Java/jdk1.8.0_211;%PATH%")