a11y: exclude tests crashing JBR in the runs with enabled Voice Over
1 file changed
tree: cc4d4659c1d9d3494b4acfedd873c0cd51982ae4
  1. .github/
  2. .jcheck/
  3. bin/
  4. doc/
  5. jb/
  6. make/
  7. src/
  8. test/
  9. .gitattributes
  10. .gitignore
  11. .hgtags
  12. ADDITIONAL_LICENSE_INFO
  13. ASSEMBLY_EXCEPTION
  14. configure
  15. CONTRIBUTING.md
  16. LICENSE
  17. Makefile
  18. modules.list
  19. README.md
README.md

official JetBrains project

Welcome to JetBrains Runtime!

JetBrains Runtime is a fork of OpenJDK available for Windows, Mac OS X, and Linux. It includes a number enhancements in font rendering, HiDPI support, ligatures, performance improvements, and bugfixes.

Contents

Products Built on JetBrains Runtime

  • Android Studio. The official IDE for Google's Android operating system.
  • CLion. A cross-platform IDE for C and C++ from JetBrains.
  • DataGrip. The IDE for Databases and SQL from JetBrains.
  • GoLand. The cross-platform Go IDE from JetBrains.
  • IntelliJ IDEA. The IDE for JVM from JetBrains.
  • JProfiler. The Java profiler.
  • PhpStorm. The PHP IDE from JetBrains.
  • PyCharm. The Python IDE from JetBrains.
  • Rider. The cross-platform .NET IDE from JetBrains.
  • RubyMine. The Ruby and Rails IDE from JetBrains.
  • WebStorm. The JavaScript IDE from JetBrains.
  • YourKit. Java and .NET profilers.

Getting Sources

macOS, Linux

git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git

Windows

git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git

Configuring the Build Environment

Here are quick per-platform instructions for those who can't wait to get started. Please refer to OpenJDK build docs for in-depth coverage of all the details.

TIP: To get a preliminary report of what's missing, run ./configure and check its output. It would usually have a meaningful advice on how to solve the problem.

Linux (Docker)

Create a container:

$ cd jb/project/docker
$ docker build .
...
Successfully built 942ea9900054

Run these commands in the new container:

$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
# cd /JetBrainsRuntime
# git checkout master17
# sh ./configure
# make images CONF=linux-x86_64-normal-server-release

Ubuntu Linux

Install the necessary tools, libraries, and headers with:

$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
       libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev \
       java-16-amazon-corretto-jdk

Then run the following:

$ cd JetBrainsRuntime
$ git checkout master17
$ sh ./configure
$ make images

This will build the release configuration under ./build/linux-x86_64-server-release/.

Windows

Install the following:

  • Cygwin x64. Required packages: autoconf, binutils, cpio, diffutils, file, gawk, gcc-core, make, m4, unzip, zip.
    Install those together with Cygwin.
  • Visual Studio compiler toolset. Install with the desktop development kit, which includes Windows SDK and compilers. Visual Studio 2019 is supported by default.
  • Java 16 (for instance, from AdoptOpenJDK). If you have problems while configuring, read Java tips on Cygwin.

From the command line:

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l

The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.

In the Cygwin shell:

$ cd JetBrainsRuntime
$ git checkout master17
$ bash configure --with-toolchain-version=2019
$ make images

This will build the release configuration under ./build/windows-x86_64-server-release/.

macOS

Install the following:

  • Xcode command line developer tools and autoconf via Homebrew.
  • Java 16 (for instance, from AdoptOpenJDK).

From the command line:

$ cd JetBrainsRuntime
$ git checkout master17
$ sh ./configure
$ make images

This will build the release configuration under ./build/macosx-x86_64-server-release/.

Developing

You can use CLion to develop native parts of the JetBrains Runtime and IntelliJ IDEA for the parts written in Java. Both require projects to be created.

CLion

Run

$ make compile-commands

in the git root and open the resulting build/.../compile_commands.json file as a project. Then use Tools | Compilation Database | Change Project Root to point to git root of this repository.

See also this detailed step-by-step tutorial for all platforms: How to develop OpenJDK with CLion.

IDEA

Run

$ sh ./bin/idea.sh

in the git root to generate project files (add --help for options). If you have multiple configurations (for example, release and fastdebug), supply the --conf <conf_name> argument. Then open the git root directory as a project in IDEA.

Contributing

We are happy to receive your pull requests! Before you submit one, please sign our Contributor License Agreement (CLA).

Resources