Skip to content

Commit

Permalink
Add missing no jdk distributions (opensearch-project#4722)
Browse files Browse the repository at this point in the history
* add missing no-jdk gradle targets for distributions

by convention all supported platforms should also have a gradle target
to produce a no-jdk build and that target should be called
`no-jdk-[platform]`.

this is a first step in the path to publishing the no-jdk distributions
as part of the release, as there are use-cases where a specific JDK
should be used instead of the packaged one and it's cleaner to use a
small distribution which doesn't bring along an unneeded JDK (the JDK
greatly increases the resulting distribution since).

note that i failed to rename the `linux-s390x` target, it seems that
there's too much generic build code out there which tries to stitch
together that name and then fails if it doesn't find it.

this is part of opensearch-build#99.

Signed-off-by: Ralph Ursprung <[email protected]>

* add basic README for `:distribution`

this is primarily to document the JDK & No JDK setup (to codify it for
the future), however the README can be extended in the future to
document more information which is currently hidden away only somewhere
in the code.

Signed-off-by: Ralph Ursprung <[email protected]>

Signed-off-by: Ralph Ursprung <[email protected]>
  • Loading branch information
rursprung authored Oct 24, 2022
1 parent 2310a3d commit dfa1118
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- Add support for GeoJson Point type in GeoPoint field ([#4597](https://github.com/opensearch-project/OpenSearch/pull/4597))
- Add dev guide for dealing with flakey tests ([4868](https://github.com/opensearch-project/OpenSearch/pull/4868))
- Update pull request template ([#4851](https://github.com/opensearch-project/OpenSearch/pull/4851))
- Added missing no-jdk distributions ([#4722](https://github.com/opensearch-project/OpenSearch/pull/4722))

### Dependencies
- Bumps `log4j-core` from 2.18.0 to 2.19.0
Expand Down
12 changes: 12 additions & 0 deletions distribution/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Distributions
This subproject contains the necessary tooling to build the various distributions.
Note that some of this can only be run on the specific architecture and does not support cross-compile.

The following distributions are being built:
* Archives (`*.zip`, `*.tar`): these form the basis for all other OpenSearch distributions
* Packages (`*.deb`, `*.rpm`): specific package formats for some Linux distributions
* Docker images
* Backwards compatibility tests: used internally for version compatibility testing, not for public consumption

## With or Without JDK?
For each supported platform there should be both a target bundled with a JDK and a target without a bundled JDK.
9 changes: 9 additions & 0 deletions distribution/archives/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,13 @@ distribution_archives {
}
}

noJdkLinuxArm64Tar {
archiveClassifier = 'no-jdk-linux-arm64'
content {
archiveFiles(modulesFiles('linux-arm64'), 'tar', 'linux', 'arm64', false)
}
}

linuxTar {
archiveClassifier = 'linux-x64'
content {
Expand All @@ -151,6 +158,8 @@ distribution_archives {
}
}

// Should really be `no-jdk-linux-s390x` as it ships without a JDK, however it seems that the build can't handle
// the absence of the `linux-s390x` target.
linuxS390xTar {
archiveClassifier = 'linux-s390x'
content {
Expand Down
8 changes: 8 additions & 0 deletions distribution/packages/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,10 @@ tasks.register('buildArm64Deb', Deb) {
configure(commonDebConfig(true, 'arm64'))
}

tasks.register('buildNoJdkArm64Deb', Deb) {
configure(commonDebConfig(false, 'arm64'))
}

tasks.register('buildDeb', Deb) {
configure(commonDebConfig(true, 'x64'))
}
Expand Down Expand Up @@ -387,6 +391,10 @@ tasks.register('buildArm64Rpm', Rpm) {
configure(commonRpmConfig(true, 'arm64'))
}

tasks.register('buildNoJdkArm64Rpm', Rpm) {
configure(commonRpmConfig(false, 'arm64'))
}

tasks.register('buildRpm', Rpm) {
configure(commonRpmConfig(true, 'x64'))
}
Expand Down
3 changes: 3 additions & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ List projects = [
'distribution:archives:freebsd-tar',
'distribution:archives:no-jdk-freebsd-tar',
'distribution:archives:linux-arm64-tar',
'distribution:archives:no-jdk-linux-arm64-tar',
'distribution:archives:linux-s390x-tar',
'distribution:archives:linux-tar',
'distribution:archives:no-jdk-linux-tar',
Expand All @@ -57,9 +58,11 @@ List projects = [
'distribution:docker:docker-build-context',
'distribution:docker:docker-export',
'distribution:packages:arm64-deb',
'distribution:packages:no-jdk-arm64-deb',
'distribution:packages:deb',
'distribution:packages:no-jdk-deb',
'distribution:packages:arm64-rpm',
'distribution:packages:no-jdk-arm64-rpm',
'distribution:packages:rpm',
'distribution:packages:no-jdk-rpm',
'distribution:bwc:bugfix',
Expand Down

0 comments on commit dfa1118

Please sign in to comment.