OpenJDK Workspaces: prebuilt tarballs of OpenJDK Mercurial repositories for quick and easy checkouts

These tarballs are automatically generated from the OpenJDK repositories at hg.openjdk.java.net. Seeding the local copy with these tarballs is usually much faster than Mercurial transfer from US West coast, especially if you are in Europe, especially if you are checking out the large monorepo JDK 10+.


There were multiple pleas to provide the stop-gap solution: enable clonebundles extension on OpenJDK Mercurial servers. This never went anywere, so we would have to keep at having these bundles.


On the up side, many repositories have moved to GitHub, so please pull from there. This page has the repositories that have not been moved (yet?).


Archive names are derived from the names of the tracked repositories. Tarballs are updated at least monthly, using the workspace-pack-*.sh scripts below. Don't forget to "hg pull" to get the latest changesets after unpacking the tarball. By default, the archive contains only the Mercurial metadata, use "hg update" to materialize the working copy.


The workspaces defaults its parent path to the upstream repository, over the https. This allows anonymous access to the repository. If you want to push to OpenJDK repository, then add "default-push" clause to your .hg/hgrc, like this:


$ cat .hg/hgrc
[paths]
default = https://hg.openjdk.java.net/[repo-path]
default-push = ssh://[your-openjdk-id]@hg.openjdk.java.net/[repo-path]

Builds require a few build dependencies. Configure script usually tells what dependencies to install on the concrete OS flavor. On recent Debian/Ubuntu, this should be enough:


$ sudo apt install build-essential libx11-dev libxext-dev libxrender-dev \
                   libxtst-dev libxt-dev libcups2-dev libfontconfig1-dev \
                   libasound2-dev libfreetype6-dev libpng-dev autoconf

Example to checkout and build old (multi-forest) JDK 8u or derivatives:


$ curl https://builds.shipilev.net/workspaces/jdk8u-jdk8u.tar.xz | tar xJf -; \
  cd jdk8u-jdk8u; \
  hg pull; hg up; \
  bash common/bin/hgforest.sh pull; bash common/bin/hgforest.sh up; \
  bash ./configure; \
  make images; \
  build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/java -version

Example to checkout and build JDK 8u monorepo or derivatives:


$ curl https://builds.shipilev.net/workspaces/jdk8u-monojdk8u-dev.tar.xz | tar xJf -; \
  cd jdk8u-monojdk8u-dev; \
  hg pull; hg up; \
  bash ./configure; \
  make images; \
  build/linux-x86_64-*server-release/images/jdk/bin/java -version


Depending on your environment, "configure" might require a few options that deal with compiler warnings on too old or too new toolchains. The #YOLO option is most probably --disable-warnings-as-errors or --with-extra-cflags=-Wno-error.

/workspaces/

File Name  ↓ File Size  ↓ Date  ↓ 
--
791 B2023-Jun-01 01:29
223.0 MiB2023-Jun-01 01:26
233.1 MiB2023-Jun-01 01:26
154.5 MiB2021-Jul-01 01:00
221.8 MiB2023-Jun-01 01:26
221.7 MiB2023-Jun-01 01:26
236.2 MiB2023-Jun-01 01:26
236.2 MiB2023-Jun-01 01:26
232.8 MiB2023-Jun-01 01:16
2.8 KiB2023-Jun-01 01:26
3.5 KiB2023-Jun-01 01:26
2.0 KiB2020-Oct-01 11:44