diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a1241783c..7e8164689 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -36,6 +36,25 @@ To send us a pull request, please: 5. Send us a pull request, answering any default questions in the pull request interface. 6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation. + +## Build Prerequisites + +This project uses the Maven Toolchains Plugin to pin compilation to JDK 8. If you don't have a `~/.m2/toolchains.xml` configured, builds will fail with: + +``` +No toolchain found for type jdk [ version='[1.8,9)' ] +``` + +To fix this, copy the example file to your Maven config directory and update the path: + +```bash +cp toolchains.xml.example ~/.m2/toolchains.xml +``` + +Then edit `~/.m2/toolchains.xml` and set `` to your local JDK 8 installation path. + +Note: if you use `actions/setup-java` in CI (as our GitHub Actions workflows do), this file is generated automatically. + GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and [creating a pull request](https://help.github.com/articles/creating-a-pull-request/). diff --git a/aws-lambda-java-core/pom.xml b/aws-lambda-java-core/pom.xml index cca9d0cdf..0a11aa517 100644 --- a/aws-lambda-java-core/pom.xml +++ b/aws-lambda-java-core/pom.xml @@ -36,6 +36,32 @@ 1.8 + + + + org.apache.maven.plugins + maven-toolchains-plugin + 3.2.0 + + + + + [1.8,9) + + + + + + + toolchain + + + + + + + dev diff --git a/aws-lambda-java-events-sdk-transformer/pom.xml b/aws-lambda-java-events-sdk-transformer/pom.xml index 6de599ef7..11054be12 100644 --- a/aws-lambda-java-events-sdk-transformer/pom.xml +++ b/aws-lambda-java-events-sdk-transformer/pom.xml @@ -79,6 +79,27 @@ + + org.apache.maven.plugins + maven-toolchains-plugin + 3.2.0 + + + + + [1.8,9) + + + + + + + toolchain + + + + maven-surefire-plugin ${maven-surefire-plugin.version} diff --git a/aws-lambda-java-events/pom.xml b/aws-lambda-java-events/pom.xml index c8c40e0c7..1ac5d7981 100644 --- a/aws-lambda-java-events/pom.xml +++ b/aws-lambda-java-events/pom.xml @@ -42,6 +42,32 @@ 5.12.2 + + + + org.apache.maven.plugins + maven-toolchains-plugin + 3.2.0 + + + + + [1.8,9) + + + + + + + toolchain + + + + + + + sonatype-nexus-staging diff --git a/aws-lambda-java-runtime-interface-client/pom.xml b/aws-lambda-java-runtime-interface-client/pom.xml index 2ba71c43c..fa543df00 100644 --- a/aws-lambda-java-runtime-interface-client/pom.xml +++ b/aws-lambda-java-runtime-interface-client/pom.xml @@ -115,6 +115,27 @@ + + org.apache.maven.plugins + maven-toolchains-plugin + 3.2.0 + + + + + [1.8,9) + + + + + + + toolchain + + + + maven-install-plugin org.apache.maven.plugins diff --git a/aws-lambda-java-runtime-interface-client/test/integration/codebuild-local/Dockerfile.agent b/aws-lambda-java-runtime-interface-client/test/integration/codebuild-local/Dockerfile.agent index 3dbdb3c68..350305e81 100644 --- a/aws-lambda-java-runtime-interface-client/test/integration/codebuild-local/Dockerfile.agent +++ b/aws-lambda-java-runtime-interface-client/test/integration/codebuild-local/Dockerfile.agent @@ -11,4 +11,21 @@ COPY --from=docker/buildx-bin:latest /buildx /usr/libexec/docker/cli-plugins/doc ENV PATH="$PATH:/apache-maven/bin" RUN mkdir /apache-maven && \ curl https://archive.apache.org/dist/maven/maven-3/3.8.7/binaries/apache-maven-3.8.7-bin.tar.gz | \ - tar -xz -C /apache-maven --strip-components 1 \ No newline at end of file + tar -xz -C /apache-maven --strip-components 1 + +# Declare JDK 8 in toolchains.xml so maven-toolchains-plugin can resolve it +RUN mkdir -p /root/.m2 && \ + cat > /root/.m2/toolchains.xml < + + + jdk + + 8 + + + ${JAVA_HOME} + + + +EOF diff --git a/aws-lambda-java-serialization/pom.xml b/aws-lambda-java-serialization/pom.xml index 60a3c67a9..503f3e76f 100644 --- a/aws-lambda-java-serialization/pom.xml +++ b/aws-lambda-java-serialization/pom.xml @@ -191,6 +191,27 @@ + + org.apache.maven.plugins + maven-toolchains-plugin + 3.2.0 + + + + + [1.8,9) + + + + + + + toolchain + + + + org.apache.maven.plugins maven-shade-plugin diff --git a/aws-lambda-java-tests/pom.xml b/aws-lambda-java-tests/pom.xml index 5e5f19b33..4a25586ce 100644 --- a/aws-lambda-java-tests/pom.xml +++ b/aws-lambda-java-tests/pom.xml @@ -245,6 +245,27 @@ + + org.apache.maven.plugins + maven-toolchains-plugin + 3.2.0 + + + + + [1.8,9) + + + + + + + toolchain + + + + org.apache.maven.plugins maven-compiler-plugin diff --git a/toolchains.xml.example b/toolchains.xml.example new file mode 100644 index 000000000..b57490761 --- /dev/null +++ b/toolchains.xml.example @@ -0,0 +1,21 @@ + + + + + jdk + + 8 + + + /path/to/your/jdk8 + + +