
├── .eslintignore ├── .eslintrc.yml ├── .github ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml └── workflows │ ├── codeql-analysis.yml │ ├── dependabot-auto-merge.yml │ ├── deploy-to-gh-pages.yml │ └── linter.yml ├── .gitignore ├── CNAME ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── MigratingtoAdoptOpenJDKfromOracleJava.pdf ├── NOTICE ├── README.md ├── SECURITY.md ├── assemble.sh ├── gulpfile.js ├── netlify.toml ├── package-lock.json ├── package.json ├── robots.txt └── src ├── assets ├── 15xvbd5.png ├── GitHub.png ├── GoDaddy.png ├── adopt-flyer-de.pdf ├── adopt-flyer.pdf ├── adopt_logo_blue.svg ├── adopt_logo_white.svg ├── adoptopenjdk-dark.png ├── anchor.png ├── arrow-down.png ├── artifactory.png ├── aws.svg ├── azul.png ├── background.png ├── cargurus.svg ├── cloudflare.png ├── cross.png ├── delphix.png ├── digicert.png ├── digitalocean.png ├── docker.png ├── etnetera.png ├── favicon.ico ├── flutter.svg ├── flyer-preview.png ├── fream.png ├── github-sponsor.png ├── ibm.svg ├── inspira.png ├── installBuilder.png ├── jclarity.png ├── jenkins_headshot.png ├── lightbend.svg ├── linaro.png ├── ljc.png ├── loading_dots.gif ├── localize.png ├── macincloud.png ├── macstadium.svg ├── microsoft.png ├── newrelic.svg ├── nine.svg ├── ocado.svg ├── openlab.png ├── packet.png ├── pivotal.svg ├── pixel.png ├── qz.png ├── radiantfleet-logo.png ├── redhat.svg ├── scaleway.png ├── slack.svg ├── snyk.png ├── social-image.png ├── social-logo.png ├── squares-logo.png ├── tick.png ├── totvs_logo.png └── travelcompositor.png ├── handlebars ├── 404.handlebars ├── archive.handlebars ├── icedtea-web.handlebars ├── index.handlebars ├── logos.handlebars ├── partials │ ├── footer.handlebars │ ├── header.handlebars │ ├── jck-tick.handlebars │ ├── menu.handlebars │ ├── meta-description.handlebars │ ├── modal.handlebars │ └── social-bar.handlebars ├── quality.handlebars ├── release_notes.handlebars ├── releases.handlebars ├── sponsors.handlebars └── upstream.handlebars ├── js ├── archive.js ├── common.js ├── entry.js ├── index.js ├── releases.js └── upstream.js ├── json ├── config.json └── config.schema.json └── scss ├── styles-0-master.scss ├── styles-1-large-main.scss ├── styles-11-sponsors.scss ├── styles-12-archive.scss ├── styles-13-upstream.scss ├── styles-14-logos.scss ├── styles-2-index.scss ├── styles-4-releases.scss ├── styles-5-medium.scss └── styles-6-small.scss /.eslintignore: -------------------------------------------------------------------------------- 1 | dist/js/*.js 2 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | env: 2 | browser: true 3 | node: true 4 | es6: true 5 | jquery: true 6 | rules: 7 | no-console: 0 8 | no-inner-declarations: 0 9 | quotes: [2, single] 10 | globals: 11 | Handlebars: true 12 | moment: true 13 | extends: eslint:recommended 14 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 11 | * **Browser**: 12 | 13 | 14 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 5 | 6 | ##### Checklist 7 | 8 | 9 | - [ ] `npm test` passes 10 | - [ ] documentation is changed or added (if applicable) 11 | - [ ] permission has been obtained to add new logo (if applicable) 12 | - [ ] contribution guidelines followed [here](https://github.com/AdoptOpenJDK/openjdk-website/blob/master/CONTRIBUTING.md) 13 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # Basic dependabot.yml file with 2 | # minimum configuration for two package managers 3 | 4 | version: 2 5 | updates: 6 | # Enable version updates for npm 7 | - package-ecosystem: "npm" 8 | # Look for `package.json` and `lock` files in the `root` directory 9 | directory: "/" 10 | # Check the npm registry for updates every day (weekdays) 11 | schedule: 12 | interval: "daily" 13 | # automerged_updates: 14 | # - match: 15 | # dependency_type: "development" 16 | # # Supported dependency types: 17 | # # - "development" 18 | # # - "production" 19 | # # - "all" 20 | # update_type: "all" 21 | # # Supported updates to automerge: 22 | # # - "security:patch" 23 | # # SemVer patch update that fixes a known security vulnerability 24 | # # - "semver:patch" 25 | # # SemVer patch update, e.g. > 1.x && 1.0.1 to 1.0.3 26 | # # - "semver:minor" 27 | # # SemVer minor update, e.g. > 1.x && 2.1.4 to 2.3.1 28 | # # - "in_range" 29 | # # matching the version requirement in your package manifest 30 | # # - "all" 31 | # - match: 32 | # dependency_type: "production" 33 | # update_type: "all" 34 | # Enable version updates for Docker 35 | - package-ecosystem: "docker" 36 | # Look for a `Dockerfile` in the `root` directory 37 | directory: "/" 38 | # Check for updates once a week 39 | schedule: 40 | interval: "weekly" 41 | - package-ecosystem: github-actions 42 | directory: "/" 43 | schedule: 44 | interval: "weekly" 45 | 46 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | push: 16 | branches: [ master ] 17 | pull_request: 18 | # The branches below must be a subset of the branches above 19 | branches: [ master ] 20 | schedule: 21 | - cron: '25 1 * * 2' 22 | 23 | jobs: 24 | analyze: 25 | name: Analyze 26 | runs-on: ubuntu-latest 27 | 28 | strategy: 29 | fail-fast: false 30 | matrix: 31 | language: [ 'javascript' ] 32 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] 33 | # Learn more: 34 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed 35 | 36 | steps: 37 | - name: Checkout repository 38 | uses: actions/checkout@v4 39 | 40 | # Initializes the CodeQL tools for scanning. 41 | - name: Initialize CodeQL 42 | uses: github/codeql-action/init@v3 43 | with: 44 | languages: ${{ matrix.language }} 45 | # If you wish to specify custom queries, you can do so here or in a config file. 46 | # By default, queries listed here will override any specified in a config file. 47 | # Prefix the list here with "+" to use these queries and those in the config file. 48 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 49 | 50 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 51 | # If this step fails, then you should remove it and run the build manually (see below) 52 | - name: Autobuild 53 | uses: github/codeql-action/autobuild@v3 54 | 55 | # ℹ️ Command-line programs to run using the OS shell. 56 | # 📚 https://git.io/JvXDl 57 | 58 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 59 | # and modify them (or add more) to build your code if your project 60 | # uses a compiled language 61 | 62 | #- run: | 63 | # make bootstrap 64 | # make release 65 | 66 | - name: Perform CodeQL Analysis 67 | uses: github/codeql-action/analyze@v3 68 | -------------------------------------------------------------------------------- /.github/workflows/dependabot-auto-merge.yml: -------------------------------------------------------------------------------- 1 | name: Dependabot auto-merge 2 | on: pull_request_target 3 | 4 | jobs: 5 | dependabot: 6 | uses: adoptium/.github/.github/workflows/dependabot-auto-merge.yml@main 7 | -------------------------------------------------------------------------------- /.github/workflows/deploy-to-gh-pages.yml: -------------------------------------------------------------------------------- 1 | name: Deploy to GitHub Pages 2 | on: 3 | workflow_dispatch: 4 | push: 5 | branches: [ master ] 6 | jobs: 7 | build: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v4 12 | with: 13 | ref: master 14 | path: website 15 | 16 | - uses: actions/setup-node@v4 17 | with: 18 | node-version: '20' 19 | 20 | - name: Build 21 | run: | 22 | cd website 23 | npm install 24 | gulp build 25 | 26 | - name: Create Directory Stucture 27 | run: | 28 | mkdir tmp 29 | mv website/sitemap.xml tmp/ 30 | cd website 31 | find . -type f ! -name '*.html' ! -name '*.pdf' -maxdepth 1 -mindepth 1 -delete 32 | find . -type d -not -name 'dist' -not -name '.git' -maxdepth 1 -mindepth 1 -exec rm -rf {} \; 33 | # After this bulk-delete, copy across some other necessary files from the master branch: 34 | git checkout master -- NOTICE 35 | git checkout master -- LICENSE 36 | cp ../tmp/sitemap.xml . 37 | git checkout master -- robots.txt 38 | git checkout master -- CNAME 39 | echo "These files are ready to be moved onto the production web server:" 40 | ls 41 | 42 | # Package the artefacts using actions/upload-pages-artifact 43 | - name: Upload Pages Artifact 44 | uses: actions/upload-pages-artifact@v3 45 | with: 46 | path: ./website 47 | 48 | # Deploy job 49 | deploy: 50 | # Add a dependency to the build job 51 | needs: build 52 | 53 | # Grant GITHUB_TOKEN the permissions required to make a Pages deployment 54 | permissions: 55 | pages: write # to deploy to Pages 56 | id-token: write # to verify the deployment originates from an appropriate source 57 | 58 | # Deploy to the github-pages environment 59 | environment: 60 | name: github-pages 61 | url: ${{ steps.deployment.outputs.page_url }} 62 | 63 | # Specify runner + deployment step 64 | runs-on: ubuntu-latest 65 | steps: 66 | - name: Deploy to GitHub Pages 67 | id: deployment 68 | uses: actions/deploy-pages@v4 69 | -------------------------------------------------------------------------------- /.github/workflows/linter.yml: -------------------------------------------------------------------------------- 1 | name: Linter 2 | on: 3 | pull_request: 4 | branches: [ master ] 5 | jobs: 6 | linter: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - name: Checkout 10 | uses: actions/checkout@v4 11 | 12 | - uses: actions/setup-node@v4 13 | with: 14 | node-version: '20' 15 | 16 | - name: Test 17 | run: | 18 | npm install 19 | npm run test -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | .idea 4 | dist 5 | *.html 6 | sitemap.xml 7 | .DS_Store* 8 | .java-version 9 | .vscode/ 10 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | adoptopenjdk.net -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:22 2 | 3 | RUN \ 4 | apt-get update; \ 5 | apt-get install --no-install-recommends -y \ 6 | build-essential \ 7 | curl; \ 8 | rm -rf /var/lib/apt/lists/* 9 | 10 | RUN useradd -ms /bin/bash ubuntu 11 | 12 | # expose ports which are being used in this project 13 | EXPOSE 3001 14 | EXPOSE 3000 15 | 16 | CMD /bin/bash 17 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | https://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | https://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | 203 | -------------------------------------------------------------------------------- /MigratingtoAdoptOpenJDKfromOracleJava.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/MigratingtoAdoptOpenJDKfromOracleJava.pdf -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Portions of this software are 2 | (C) Copyright IBM Corporation 2017 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [](https://github.com/AdoptOpenJDK/openjdk-website/actions/workflows/deploy-to-gh-pages.yml) 2 | 3 | # README 4 | 5 | This repository contains the source code for https://www.adoptopenjdk.net. 6 | 7 | The `master` branch contains the source code necessary for development. A Jenkins job is used to run a build on this source code, and the output of this build is pushed to the `gh-pages` branch. GitHub Pages then uses this `gh-pages` branch to host the live, production website. 8 | 9 | # API 10 | To use the API, see the README at [api.adoptopenjdk.net](https://api.adoptopenjdk.net). 11 | 12 | To contribute to the API, or to raise issues, see the separate [GitHub repository](https://github.com/AdoptOpenJDK/openjdk-api). 13 | 14 | # Developers 15 | 16 | See the [Contribution Guidelines](CONTRIBUTING.md). 17 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | ## Reporting a Vulnerability 3 | Please report vulnerabilities to [security@adoptopenjdk.net](security@adoptopenjdk.net). 4 | A member of the security team will respond within 48 hours with details on how to proceed including whether or not the vulnerability was accepted, declined or requires further investigation. 5 | -------------------------------------------------------------------------------- /assemble.sh: -------------------------------------------------------------------------------- 1 | mkdir tmp 2 | mv sitemap.xml tmp/ 3 | find . -type f ! -name '*.html' ! -name '*.pdf' -maxdepth 1 -mindepth 1 -delete 4 | find . -type d -not -name 'dist' -not -name '.git' -maxdepth 1 -mindepth 1 -exec rm -rf {} \; 5 | # After this bulk-delete, copy across some other necessary files from the master branch: 6 | git checkout master -- NOTICE 7 | git checkout master -- LICENSE 8 | cp tmp/sitemap.xml . 9 | git checkout master -- robots.txt 10 | git checkout master -- CNAME 11 | echo "These files are ready to be moved onto the production web server:" 12 | ls 13 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | import gulp from 'gulp'; 2 | import Ajv from 'ajv'; 3 | import addFormats from 'ajv-formats'; 4 | import assert from 'assert'; 5 | import base64img from 'base64-img'; 6 | import browserify from 'browserify'; 7 | import browserSyncFactory from 'browser-sync'; 8 | const browserSync = browserSyncFactory.create(); 9 | import buffer from 'vinyl-buffer'; 10 | import clean from 'gulp-clean'; 11 | import cleanCss from 'gulp-clean-css'; 12 | import concat from 'gulp-concat'; 13 | import eslint from 'gulp-eslint'; 14 | import fs from 'fs'; 15 | import handlebars from 'gulp-compile-handlebars'; 16 | import hash from 'gulp-hash'; 17 | import imagemin from 'gulp-imagemin'; 18 | import inject from 'gulp-inject'; 19 | import log from 'fancy-log'; 20 | import PluginError from 'plugin-error'; 21 | import prefix from 'gulp-autoprefixer'; 22 | import rename from 'gulp-rename'; 23 | import gulpSass from 'gulp-sass'; 24 | import * as sass from 'sass'; 25 | const sassCompiler = gulpSass(sass); 26 | import sitemap from 'gulp-sitemap'; 27 | import source from 'vinyl-source-stream'; 28 | import uglify_ from 'gulp-uglify-es' 29 | const uglify = uglify_.default 30 | import { fileURLToPath } from 'url'; 31 | import { dirname } from 'path'; 32 | 33 | const __filename = fileURLToPath(import.meta.url); 34 | const __dirname = dirname(__filename); 35 | 36 | // clean task (deletes /dist dir) 37 | gulp.task('clean', () => gulp.src('dist', { 38 | read: false, 39 | allowEmpty: true 40 | }).pipe(clean())); 41 | 42 | // json validation task 43 | gulp.task('json-validate', () => { 44 | log('Validating config.json against config.schema.json'); 45 | 46 | const objFromJson = (uri) => JSON.parse(fs.readFileSync(uri, 'utf-8')); 47 | const loadSchemaFn = (uri) => Promise.resolve(objFromJson(uri)); 48 | const configJsonSchema = objFromJson('./src/json/config.schema.json'); 49 | const configJson = objFromJson('./src/json/config.json'); 50 | 51 | const ajv = new Ajv({ 52 | loadSchema: loadSchemaFn, 53 | allErrors: true, 54 | verbose: true}); 55 | 56 | addFormats(ajv); 57 | 58 | return ajv.compileAsync(configJsonSchema) 59 | .then(validate => 60 | validate(configJson) ? 61 | log('config.json is valid!') : 62 | assert.fail(validate.errors.map(err => `\n${ajv.errorsText([err])}. Actual: "${err.data}"`).join().concat('\n')) 63 | ) 64 | .catch(err => { 65 | throw new PluginError('json-validate', err, { 66 | showProperties: false 67 | }); 68 | }); 69 | }); 70 | 71 | // json task 72 | gulp.task('json', () => gulp.src('./src/json/*.json').pipe(gulp.dest('./dist/json/'))); 73 | 74 | // scripts task 75 | gulp.task('scripts', () => { 76 | return browserify({ 77 | entries: './src/js/entry.js', 78 | }) 79 | .transform('babelify', { 80 | presets: [ 81 | ['@babel/env', { 82 | debug: true, 83 | targets: 'defaults', // see https://babeljs.io/docs/en/babel-preset-env#targets 84 | useBuiltIns: 'usage', 85 | corejs: 3 86 | }] 87 | ] 88 | }) 89 | .bundle() 90 | .pipe(source('app.js')) 91 | .pipe(buffer()) 92 | .pipe(gulp.dest('./dist/js/')) 93 | .pipe(uglify()) 94 | .on('error', log) 95 | .pipe(rename({ 96 | suffix: '.min' 97 | })) 98 | .pipe(hash()) // Add hashes to the files' names 99 | .on('error', log) 100 | .pipe(gulp.dest('./dist/js/')) 101 | .pipe(hash.manifest('assetsJS.json', { 102 | deleteOld: true, 103 | sourceDir: __dirname + '/dist/js' 104 | })) // Switch to the manifest file 105 | .on('error', log) 106 | .pipe(gulp.dest('./dist/')); // Write the manifest file 107 | }); 108 | 109 | // styles task 110 | gulp.task('styles', () => { 111 | return gulp.src('./src/scss/*.scss') 112 | .pipe(sassCompiler()) 113 | .on('error', log) 114 | .pipe(prefix('last 2 versions')) 115 | .on('error', log) 116 | .pipe(concat('styles.css')) 117 | .on('error', log) 118 | .pipe(gulp.dest('./dist/css/')) 119 | .pipe(cleanCss()) 120 | .on('error', log) 121 | .pipe(rename({ 122 | suffix: '.min' 123 | })) 124 | .pipe(hash()) // Add hashes to the files' names 125 | .on('error', log) 126 | .pipe(gulp.dest('./dist/css/')) 127 | .pipe(hash.manifest('assetsCSS.json', { 128 | deleteOld: true, 129 | sourceDir: __dirname + '/dist/css' 130 | })) // Switch to the manifest file 131 | .on('error', log) 132 | .pipe(gulp.dest('./dist/')); // Write the manifest file 133 | }); 134 | 135 | // images task 136 | gulp.task('images', () => { 137 | return gulp.src(['./src/assets/*.jp*', './src/assets/*.png', './src/assets/*.svg', './src/assets/*.gif']) 138 | .pipe(imagemin()) 139 | .on('error', log) 140 | .pipe(gulp.dest('./dist/assets/')); 141 | }); 142 | 143 | // icon task 144 | gulp.task('icon', () => { 145 | return gulp.src('./src/assets/*.ico') 146 | .pipe(gulp.dest('./dist/assets/')); 147 | }); 148 | 149 | // Handlebars HTML build task 150 | gulp.task('handlebars', () => { 151 | const templateData = {}; 152 | 153 | const options = { 154 | batch: ['./src/handlebars/partials'], 155 | helpers: { 156 | base64img: base64img.base64Sync 157 | } 158 | }; 159 | 160 | return gulp.src('./src/handlebars/*.handlebars') 161 | .pipe(handlebars(templateData, options)) 162 | .on('error', log) 163 | .pipe(rename({ 164 | extname: '.html' 165 | })) 166 | .pipe(gulp.dest('./')); 167 | }); 168 | 169 | // inject task 170 | gulp.task('inject', () => { 171 | const options = { 172 | relative: true, 173 | addPrefix: '.' 174 | }; 175 | const minSourceFiles = gulp.src(['./dist/js/app.min-*.js', './dist/css/styles.min-*.css'], { 176 | read: false 177 | }); 178 | const targetFiles = gulp.src('./*.html'); 179 | 180 | return targetFiles.pipe(inject(minSourceFiles, options)) // injects the latest minified JS and CSS into all HTML files 181 | .pipe(gulp.dest('./')); 182 | }); 183 | 184 | // browser-sync task 185 | gulp.task('browser-sync', (done) => { 186 | browserSync.init({ 187 | server: { 188 | baseDir: './' 189 | }, 190 | notify: false, 191 | watch: true 192 | }); 193 | done(); 194 | 195 | }); 196 | 197 | gulp.task('watch', () => { 198 | gulp.watch(['./src/handlebars/partials/*.handlebars', './src/handlebars/*.handlebars'], gulp.series('handlebars', 'inject')); 199 | gulp.watch('./src/json/*.json', gulp.series('json')); 200 | gulp.watch('./src/js/**/*.js', gulp.series('scripts', 'inject')); 201 | gulp.watch('./src/scss/*.scss', gulp.series('styles', 'inject')); 202 | gulp.watch(['./src/assets/*.jp*', './src/assets/*.png', './src/assets/*.svg', './src/assets/*.gif'], gulp.series('images', 'handlebars')); 203 | gulp.watch('./src/assets/*.ico', gulp.series('icon')); 204 | }); 205 | 206 | // sitemap task 207 | gulp.task('sitemap', (done) => { 208 | gulp.src('./*.html', { 209 | read: false 210 | }) 211 | .pipe(sitemap({ 212 | siteUrl: 'https://adoptopenjdk.net' 213 | })) 214 | .pipe(gulp.dest('./')); 215 | done(); 216 | }); 217 | 218 | // lint task 219 | gulp.task('lint', () => { 220 | return gulp.src('./dist/js/app.js') 221 | .pipe(eslint()) 222 | .pipe(eslint.format()) 223 | .pipe(eslint.failAfterError()); 224 | }); 225 | 226 | // default task 227 | gulp.task('default', gulp.series('clean', 'json-validate', gulp.parallel('json', 'scripts', 'styles', 'images', 'icon'), 'handlebars', 'inject', 'browser-sync', 'watch')); 228 | 229 | // build task 230 | gulp.task('build', gulp.series('clean', gulp.parallel('json', 'scripts', 'styles', 'images', 'icon'), 'handlebars', 'inject', 'sitemap', 'lint')); 231 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | publish = "" 3 | command = "npm install; gulp build; npm run assemble" 4 | 5 | [build.environment] 6 | NODE_VERSION = "20" 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AdoptOpenJDK_website", 3 | "repository": "https://github.com/AdoptOpenJDK/openjdk-website", 4 | "version": "1.0.0", 5 | "license": "Apache-2.0", 6 | "scripts": { 7 | "start": "gulp", 8 | "json-validate": "gulp json-validate", 9 | "assemble": "bash assemble.sh", 10 | "lint": "eslint src/**/*.js", 11 | "lint-fix": "npm run lint --- --fix", 12 | "test": "npm run lint && npm run json-validate" 13 | }, 14 | "author": "Joe Brady", 15 | "devDependencies": { 16 | "@babel/core": "^7.26.10", 17 | "@babel/preset-env": "^7.26.9", 18 | "ajv": "^8.17.1", 19 | "ajv-formats": "^3.0.1", 20 | "babelify": "^10.0.0", 21 | "base64-img": "^1.0.4", 22 | "browser-sync": "^3.0.3", 23 | "browser-sync-client": "^3.0.3", 24 | "browserify": "^17.0.1", 25 | "chai": "^5.2.0", 26 | "core-js": "^3.41.0", 27 | "eslint": "^8.57.0", 28 | "fancy-log": "^2.0.0", 29 | "gulp": "^5.0.0", 30 | "gulp-autoprefixer": "^9.0.0", 31 | "gulp-clean": "^0.4.0", 32 | "gulp-clean-css": "^4.3.0", 33 | "gulp-cli": "^3.0.0", 34 | "gulp-compile-handlebars": "^0.6.1", 35 | "gulp-concat": "^2.6.1", 36 | "gulp-eslint": "^6.0.0", 37 | "gulp-hash": "^4.2.2", 38 | "gulp-imagemin": "^9.1.0", 39 | "gulp-inject": "^5.0.5", 40 | "gulp-rename": "^2.0.0", 41 | "gulp-sass": "^5.1.0", 42 | "gulp-sitemap": "^8.0.0", 43 | "gulp-uglify-es": "^3.0.0", 44 | "mocha": "^11.1.0", 45 | "node-sass": "^9.0.0", 46 | "open": "^10.1.0", 47 | "plugin-error": "^2.0.1", 48 | "run-sequence": "^2.2.1", 49 | "sass": "^1.86.0", 50 | "util": "^0.12.5", 51 | "vinyl-buffer": "^1.0.1", 52 | "vinyl-source-stream": "^2.0.0" 53 | }, 54 | "dependencies": { 55 | "@babel/polyfill": "^7.12.1" 56 | }, 57 | "type": "module" 58 | } 59 | -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: Twitterbot 2 | Disallow: 3 | 4 | User-agent: * 5 | Allow: / 6 | Allow: /dist/assets/social-image.png 7 | Disallow: /404.html 8 | Disallow: /dist 9 | -------------------------------------------------------------------------------- /src/assets/15xvbd5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/15xvbd5.png -------------------------------------------------------------------------------- /src/assets/GitHub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/GitHub.png -------------------------------------------------------------------------------- /src/assets/GoDaddy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/GoDaddy.png -------------------------------------------------------------------------------- /src/assets/adopt-flyer-de.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/adopt-flyer-de.pdf -------------------------------------------------------------------------------- /src/assets/adopt-flyer.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/adopt-flyer.pdf -------------------------------------------------------------------------------- /src/assets/adopt_logo_blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 20 | -------------------------------------------------------------------------------- /src/assets/adopt_logo_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 20 | -------------------------------------------------------------------------------- /src/assets/adoptopenjdk-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/adoptopenjdk-dark.png -------------------------------------------------------------------------------- /src/assets/anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/anchor.png -------------------------------------------------------------------------------- /src/assets/arrow-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/arrow-down.png -------------------------------------------------------------------------------- /src/assets/artifactory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/artifactory.png -------------------------------------------------------------------------------- /src/assets/aws.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 39 | -------------------------------------------------------------------------------- /src/assets/azul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/azul.png -------------------------------------------------------------------------------- /src/assets/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/background.png -------------------------------------------------------------------------------- /src/assets/cargurus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/cloudflare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/cloudflare.png -------------------------------------------------------------------------------- /src/assets/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/cross.png -------------------------------------------------------------------------------- /src/assets/delphix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/delphix.png -------------------------------------------------------------------------------- /src/assets/digicert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/digicert.png -------------------------------------------------------------------------------- /src/assets/digitalocean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/digitalocean.png -------------------------------------------------------------------------------- /src/assets/docker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/docker.png -------------------------------------------------------------------------------- /src/assets/etnetera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/etnetera.png -------------------------------------------------------------------------------- /src/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/favicon.ico -------------------------------------------------------------------------------- /src/assets/flyer-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/flyer-preview.png -------------------------------------------------------------------------------- /src/assets/fream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/fream.png -------------------------------------------------------------------------------- /src/assets/github-sponsor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/github-sponsor.png -------------------------------------------------------------------------------- /src/assets/ibm.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/assets/inspira.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/inspira.png -------------------------------------------------------------------------------- /src/assets/installBuilder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/installBuilder.png -------------------------------------------------------------------------------- /src/assets/jclarity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/jclarity.png -------------------------------------------------------------------------------- /src/assets/jenkins_headshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/jenkins_headshot.png -------------------------------------------------------------------------------- /src/assets/linaro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/linaro.png -------------------------------------------------------------------------------- /src/assets/ljc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/ljc.png -------------------------------------------------------------------------------- /src/assets/loading_dots.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/loading_dots.gif -------------------------------------------------------------------------------- /src/assets/localize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/localize.png -------------------------------------------------------------------------------- /src/assets/macincloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/macincloud.png -------------------------------------------------------------------------------- /src/assets/macstadium.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/microsoft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/microsoft.png -------------------------------------------------------------------------------- /src/assets/newrelic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/ocado.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 94 | -------------------------------------------------------------------------------- /src/assets/openlab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/openlab.png -------------------------------------------------------------------------------- /src/assets/packet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/packet.png -------------------------------------------------------------------------------- /src/assets/pixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/pixel.png -------------------------------------------------------------------------------- /src/assets/qz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/qz.png -------------------------------------------------------------------------------- /src/assets/radiantfleet-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/radiantfleet-logo.png -------------------------------------------------------------------------------- /src/assets/redhat.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scaleway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/scaleway.png -------------------------------------------------------------------------------- /src/assets/slack.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 33 | -------------------------------------------------------------------------------- /src/assets/snyk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/snyk.png -------------------------------------------------------------------------------- /src/assets/social-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/social-image.png -------------------------------------------------------------------------------- /src/assets/social-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/social-logo.png -------------------------------------------------------------------------------- /src/assets/squares-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/squares-logo.png -------------------------------------------------------------------------------- /src/assets/tick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/tick.png -------------------------------------------------------------------------------- /src/assets/totvs_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/totvs_logo.png -------------------------------------------------------------------------------- /src/assets/travelcompositor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-website/ad141ef8e0ce859dce81b914b0614fcdbd5c69cf/src/assets/travelcompositor.png -------------------------------------------------------------------------------- /src/handlebars/404.handlebars: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |Please be aware that using old, superseded, or otherwise unsupported releases is not recommended.
10 |
6 | Java™ is the world's leading programming language and platform.
7 | AdoptOpenJDK uses
8 | infrastructure,
9 | build and
10 | test scripts
11 | to produce prebuilt binaries from OpenJDK™ class libraries
12 | and a choice of either
13 | OpenJDK or the
14 | Eclipse OpenJ9 VM.
15 | All AdoptOpenJDK binaries and scripts are open source licensed and available for free.
16 |
You can stil get AdoptOpenJDK binaries by clicking one of the buttons below:
59 | 60 | 61 |