• Java 84.9%
  • C++ 10.2%
  • Python 3%
  • CMake 0.5%
  • Shell 0.4%
  • Other 0.8%
Find a file
2025-04-09 15:53:12 +04:00
.github/ISSUE_TEMPLATE Merge branch 'java-cef/master' into 'dev' 2023-12-07 12:23:18 +04:00
cmake JBR-4430: initial implementation (java part) 2023-12-08 12:11:31 +04:00
java [remote] Check lenght of pipe name 2025-04-09 15:53:12 +04:00
java_tests [tests] JBR-8512 Use NativeServerManager.isProcessAlive with small pause 2025-04-03 15:22:14 +04:00
jb build: update Dockerfile_arm64 2025-01-02 20:07:59 +01:00
native JBR-8321 Implemented simple watchdog for all jcef subprocesses 2025-02-24 15:24:38 +04:00
remote JBR-8591 Improve logic of NativeServerManager.startAndWait 2025-04-09 15:32:39 +04:00
third_party build: update vcpkg 2025-01-02 20:51:02 +01:00
tools refactor: remove unused env vars and binaries copies 2024-02-13 03:21:33 +01:00
vcpkg_triplets build: force VS2019 for vcpkg 2024-04-24 17:49:56 +02:00
.clang-format Update tooling to use clang-format (issue #272) 2017-05-18 16:23:53 +02:00
.gitignore Update tooling to use clang-format (issue #272) 2017-05-18 16:23:53 +02:00
.gitmodules cef_server: inital implementation 2023-09-14 19:59:36 +02:00
.style.cfg Update tooling to use yapf for Python file formatting (issue #272) 2017-05-28 15:15:10 +02:00
.style.yapf Update tooling to use yapf for Python file formatting (issue #272) 2017-05-28 15:15:10 +02:00
appveyor.yml Add missing DLLs to Windows distribution and add AppVeyor config. 2017-08-17 18:44:30 +00:00
AUTHORS.txt Update AUTHORS.txt documentation 2020-05-08 12:36:19 -04:00
build.xml bump api version 2025-01-03 19:19:36 +01:00
CMakeLists.txt build: don't download clang-format style 2024-04-30 18:02:38 +02:00
LICENSE.txt Remove the top-level src directory. See updated download instructions on the BranchesAndBuilding Wiki page. 2015-06-09 16:43:21 -04:00
pom.xml bump api version 2025-01-03 19:19:36 +01:00
README.md update link to JB platform slack 2023-10-25 22:07:09 +02:00

official JetBrains project

Welcome

This is a fork of java-cef. It's distributed as part of JetBrainsRuntime.

Quick Links

Help

  • Check the issue tracker. Probably the problem is known.
  • Vote the for the opened issues. We track votes and take it into consideration for planning.
  • JetBrains Platform Slack community
  • Check CEF forum. It is a great source of knowledge about cef project.
  • Report a bug at JetBrains youtrack.

Building JCEF

Building on Windows

  1. Get sources.
    git clone https://github.com/JetBrains/jcef.git
    
  2. Install Apache Ant. Make sure that ANT_HOME is set.
  3. Set JAVA_HOME.
  4. Set VS160COMNTOOLS env variable to point onto your Visual Studio 2019 Community installation. E.g.
    VS160COMNTOOLS='C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools'.
    
  5. Install cmake. Set JCEF_CMAKE env variable. E.g.
    `JCEF_CMAKE='C:\cmake-3.27.0-rc2-windows-x86_64'`.
    
  6. Run at <project_root>\jb\tools\windows directory. Replace x86_64 with arm64 if needed.
    cmd /c build.bat all x86_64
    
  7. Check jcef_win_x86_64.tar.gz or jcef_win_arm64.tar.gz file in the project root directory.

Building JetBrainsRuntime with JCEF.

  1. Assume that we are working on x86_64 platform. For x64 or x86_64 has to replaced with arm64 or aarch64.

  2. Prepare the build environment for JetBrainsRuntime(JBR). Next command are run under Cygwin bash installed on this step.

    Note: You may skip NVDA controller client installation, but you'd need to patch mkimages_x64.sh script.

  3. Get JBR sources

    $ git clone https://github.com/JetBrains/JetBrainsRuntime.git
    $ cd JetBrainsRuntime
    
  4. Switch to the required branch. E.g.

    $ git checkout jbr17
    
  5. Bring jcef build artifact from the previous steps. Assuming that our platform is x86_64.

    $ mkdir jcef_win_x64
    $ tar -xvzf <jcef_project_root>/jcef_win_x86_64.tar.gz -C ./jcef_win_x64
    
  6. (Optional). If NVDA Controller Client is not installed, patch mkimages_x64.sh. Remove the following line:

        --with-nvdacontrollerclient=$NVDA_PATH \
    
  7. Set BOOT_JDK env var.

  8. Run:

       $ bash jb/project/tools/windows/scripts/mkimages_x64.sh 1 jcef
    

    1 - is the build number.

  9. Check output dirs:

    $ ls jbr*
    jbr_jcef-17.0.8.1-windows-x64-b1:
    bin  conf  include  legal  lib  release
    
    jbrsdk_jcef-17.0.8.1-windows-x64-b1:
    bin  conf  include  jmods  legal  lib  release
    

Building on Linux

  1. Get tools to build jcef apt-get install ant git gcc cmake.
  2. Get tools to build jcef rpc apt-get install bison flex pkg-config.
  3. Get sources
    git clone https://github.com/JetBrains/jcef.git
    
  4. Set JAVA_HOME.
  5. Run ./jb/tools/linux/build.sh all <x86_64 or arm64> at the project root.
  6. Check jcef_linux_<x86_64 or arm64>.tar.gz file in the project root directory.

Building on Mac

  1. Get sources git clone https://github.com/JetBrains/jcef.git
  2. Set JAVA_HOME.
  3. Run ./jb/tools/mac/build.sh all <x86_64 or arm64> at the project root.
  4. Check jcef_mac_<x86_64 or arm64>.tar.gz file in the project root directory.

Developing with CLion

To be done

Developing with IntelliJ IDEA and running the tests

  1. Open <project_root>/jb/project/java-gradle/build.gradle as project in IntelliJ IDEA.
  2. Edit <project_root>/jb/project/java-gradle/gradle.properties to specify path to the tested JBR+JCEF build. E.g.
    jbr_win = <path to jbr>/jbr_jcef-17.0.8.1-windows-x64-b1
    jbr_mac = <path to jbr>/jbrsdk_jcef-17.0.8.1-osx-aarch64-b1/Contents/Home
    jbr_linux = <path to jbr>/jbr
    
  3. Reload the gradle project.
  4. Navigate a test in <project_root>/java_tests/tests/junittests and run.

Out of process CEF

See remote/README.md.