diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..cd12ac878 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: Apache-2.0 +# +# Copyright 2015-2024 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM ghcr.io/graalvm/jdk-community:21 +WORKDIR /build/ +ADD . /build/ + +RUN ./mvnw -Pnative -DskipTests package diff --git a/README.md b/README.md index 4ba915102..85ce689a3 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,8 @@ Your starting point should be the instance methods of ./mvnw install ``` +The _native_ binaries can be built with `./build-natives.sh` and will be available in `TODO`. + ## Contributing Please see [the contributors guide](CONTRIBUTING.md) for details. @@ -161,7 +163,7 @@ Please see [the contributors guide](CONTRIBUTING.md) for details. ## License ```text -Copyright 2015 Google Inc. +Copyright 2015-2024 Google Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of diff --git a/build-natives.sh b/build-natives.sh new file mode 100755 index 000000000..acf7df998 --- /dev/null +++ b/build-natives.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: Apache-2.0 +# +# Copyright 2015-2024 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -euox pipefail + +# TODO Mount some directory as volume so that the native image falls out + +docker build --rm .