Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 1 addition & 13 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -36,25 +36,13 @@ go_deps.module(
)
use_repo(go_deps, "com_github_spdx_tools_golang")

### JETTY ###
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't do jetty builds anymore

http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
name = "jetty",
add_prefix = "output",
build_file = "//java:BUILD.jetty",
sha256 = "b04b4cd45f3bf3c09a26bdf7f4e8d1a67e1a0f224ef4539534a0719b2c701088",
strip_prefix = "jetty-distribution-9.4.53.v20231009/",
urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.53.v20231009/jetty-distribution-9.4.53.v20231009.tar.gz"],
)

### BUSYBOX ###
busybox = use_extension("//private/extensions:busybox.bzl", "busybox")
busybox.archive()
use_repo(busybox, "busybox_amd64", "busybox_arm", "busybox_arm64", "busybox_ppc64le", "busybox_s390x")

### JAVA ###
include("//private/repos:java.MODULE.bazel")
include("//private/repos/java_temurin:java.MODULE.bazel")

### NODE ###
node = use_extension("//private/extensions:node.bzl", "node")
Expand Down
110 changes: 109 additions & 1 deletion MODULE.bazel.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions knife
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,14 @@ function cmd_lint () {
}

function cmd_update_java_archives () {
source scripts/update_java_archives.sh
old_version=$(get_java_version)
generate_java_archives > private/repos/java.MODULE.bazel
new_version=$(get_java_version)
source knife.d/update_java_archives.sh
old_version=$(get_java_version 21)
generate_java_archives 21 > private/repos/java_temurin/java_21.MODULE.bazel
new_version=$(get_java_version 21)
update_test_versions_java21 $old_version $new_version

# java 17 set up
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't actually have java17 builds yet for debian13, and we need to update this when we do.

generate_java_archives 17 > private/repos/java_temurin/java_17.MODULE.bazel
}

function cmd_update_node_archives () {
Expand Down Expand Up @@ -168,7 +171,7 @@ function cmd_update_node_archives () {
done

joined_versions=$(IFS=, ; echo "${versions[*]}")
node scripts/update_node_archives.js "$joined_versions"
node knife.d/update_node_archives.js "$joined_versions"
}


Expand All @@ -177,6 +180,9 @@ function cmd_test () {
echo ""

local arch=$(uname -m)
if [ ${arch} == "x86_64" ]; then
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uname works funny, so convert to debian arch names

arch="amd64"
fi

echo "💡 only including image tests for $arch"
echo ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,22 @@ set -o pipefail -o errexit -o nounset
# a collection of functions to use when updating java archives from the knife utility

function get_java_version() {
grep "#VERSION " ./private/repos/java.MODULE.bazel | cut -d" " -f2
: "${1:?Error: java major version required}"
local major_version=$1
grep "#VERSION " "./private/repos/java_temurin/java_${major_version}.MODULE.bazel" | cut -d" " -f2
}

function underscore_encode() {
echo "${1/\+/_}"
}

function generate_java_archives() {
: "${1:?Error: java major version required}"
local releases latest_release release_name version plain_version archs archs_deb variants

releases=$(curl -sSL https://api.github.com/repos/adoptium/temurin21-binaries/releases)
local major_version=$1

releases=$(curl -sSL "https://api.github.com/repos/adoptium/temurin${major_version}-binaries/releases")
latest_release=$(echo "$releases" | jq -r 'map(select(.name | test("jdk-([0-9.]+)(\\+([0-9]+))?"))) | sort_by(.published_at) | last')
release_name=$(echo "$latest_release" | jq -r '.name')
version=${release_name#jdk-}
Expand All @@ -37,7 +42,7 @@ function generate_java_archives() {
variants=("jre" "jdk")

cat << EOM
"repositories for java"
"repositories for java ${major_version}"

#VERSION ${plain_version}

Expand All @@ -50,7 +55,7 @@ EOM

arch=${archs[arch_index]}
arch_deb=${archs_deb[arch_index]}
name="OpenJDK21U-${variant}_${arch}_linux_hotspot_$(underscore_encode "${version}").tar.gz"
name="OpenJDK${major_version}U-${variant}_${arch}_linux_hotspot_$(underscore_encode "${version}").tar.gz"
archive_url=$(echo "$latest_release" | jq -r --arg NAME "$name" '.assets | .[] | select(.name==$NAME) | .browser_download_url')
: ${archive_url:?"no url found for '${name}'"}
sha256_name="${name}.sha256.txt"
Expand All @@ -66,7 +71,7 @@ EOM

cat << EOM
java.archive(
name = "temurin21_${variant}_${arch_deb}",
name = "temurin${major_version}_${variant}_${arch_deb}",
architecture = "${arch_deb}",
plain_version = "${plain_version}",
sha256 = "${sha256}",
Expand All @@ -78,14 +83,16 @@ EOM

done
done

cat << EOM
use_repo(java, "java_versions", "temurin21_jdk_amd64", "temurin21_jdk_arm64", "temurin21_jdk_ppc64le", "temurin21_jre_amd64", "temurin21_jre_arm64", "temurin21_jre_ppc64le")
EOM
}

function update_test_versions_java21() {
local old_version=${1?:"no old version set in param 1"}
local new_version=${2?:"no new version set in param 2"}
sed -i -e "s/$old_version/$new_version/g" java/testdata/java21_*
}

function update_test_versions_java17() {
local old_version=${1?:"no old version set in param 1"}
local new_version=${2?:"no new version set in param 2"}
sed -i -e "s/$old_version/$new_version/g" java/testdata/java17_debian13
}
File renamed without changes.
File renamed without changes.
22 changes: 22 additions & 0 deletions private/repos/java_temurin/java.MODULE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"repositories for java"

include("//private/repos/java_temurin:java_17.MODULE.bazel")
include("//private/repos/java_temurin:java_21.MODULE.bazel")

java = use_extension("//private/extensions:java.bzl", "java")
use_repo(
java,
"java_versions",
"temurin17_jdk_amd64",
"temurin17_jdk_arm64",
"temurin17_jdk_ppc64le",
"temurin17_jre_amd64",
"temurin17_jre_arm64",
"temurin17_jre_ppc64le",
"temurin21_jdk_amd64",
"temurin21_jdk_arm64",
"temurin21_jdk_ppc64le",
"temurin21_jre_amd64",
"temurin21_jre_arm64",
"temurin21_jre_ppc64le"
)
59 changes: 59 additions & 0 deletions private/repos/java_temurin/java_17.MODULE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
"repositories for java 17"

#VERSION 17.0.16

java = use_extension("//private/extensions:java.bzl", "java")
java.archive(
name = "temurin17_jre_amd64",
architecture = "amd64",
plain_version = "17.0.16",
sha256 = "2885b944da3793144d4a86a29524f4d7b68ba155f5c08afa444a3b40f7071892",
strip_prefix = "jdk-17.0.16+8-jre",
urls = ["https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.16%2B8/OpenJDK17U-jre_x64_linux_hotspot_17.0.16_8.tar.gz"],
version = "17.0.16+8",
)
java.archive(
name = "temurin17_jdk_amd64",
architecture = "amd64",
plain_version = "17.0.16",
sha256 = "166774efcf0f722f2ee18eba0039de2d685b350ee14d7b69e6f83437dafd2af1",
strip_prefix = "jdk-17.0.16+8",
urls = ["https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.16%2B8/OpenJDK17U-jdk_x64_linux_hotspot_17.0.16_8.tar.gz"],
version = "17.0.16+8",
)
java.archive(
name = "temurin17_jre_arm64",
architecture = "arm64",
plain_version = "17.0.16",
sha256 = "98f9d60be880b6ec551f5f1fcd784971aa573e8d8f5b9923fb0148c25afcd161",
strip_prefix = "jdk-17.0.16+8-jre",
urls = ["https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.16%2B8/OpenJDK17U-jre_aarch64_linux_hotspot_17.0.16_8.tar.gz"],
version = "17.0.16+8",
)
java.archive(
name = "temurin17_jdk_arm64",
architecture = "arm64",
plain_version = "17.0.16",
sha256 = "423416447885d9e45f96dd9e0b2c1367da5e1b0353e187cfdf9388c9820ac147",
strip_prefix = "jdk-17.0.16+8",
urls = ["https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.16%2B8/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.16_8.tar.gz"],
version = "17.0.16+8",
)
java.archive(
name = "temurin17_jre_ppc64le",
architecture = "ppc64le",
plain_version = "17.0.16",
sha256 = "a0a3e94b278a869a2a03802cd549ca0ecdfe1f568175a8ddac113613ee9a8bb9",
strip_prefix = "jdk-17.0.16+8-jre",
urls = ["https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.16%2B8/OpenJDK17U-jre_ppc64le_linux_hotspot_17.0.16_8.tar.gz"],
version = "17.0.16+8",
)
java.archive(
name = "temurin17_jdk_ppc64le",
architecture = "ppc64le",
plain_version = "17.0.16",
sha256 = "eb020f74e00870379522be0b44fc6322c2214e77971c258400c8b5af704d5c0a",
strip_prefix = "jdk-17.0.16+8",
urls = ["https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.16%2B8/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.16_8.tar.gz"],
version = "17.0.16+8",
)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"repositories for java"
"repositories for java 21"

#VERSION 21.0.8

Expand Down Expand Up @@ -57,4 +57,3 @@ java.archive(
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.8_9.tar.gz"],
version = "21.0.8+9",
)
use_repo(java, "java_versions", "temurin21_jdk_amd64", "temurin21_jdk_arm64", "temurin21_jdk_ppc64le", "temurin21_jre_amd64", "temurin21_jre_arm64", "temurin21_jre_ppc64le")
Loading