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
6 changes: 0 additions & 6 deletions .project
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,6 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
Expand All @@ -24,7 +19,6 @@
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
<filteredResources>
<filter>
Expand Down
7 changes: 0 additions & 7 deletions Makefile

This file was deleted.

37 changes: 37 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,40 @@
## Build and package

Use Maven with JDK 25 (the Java version declared in `pom.xml`):

```sh
mvn clean verify
```

The executable shaded JAR is `target/lambda-native-<version>.jar`, with the
version taken from `pom.xml`. Customers can use this JAR with a compatible
GraalVM Native Image installation to build their own native binary.

To build the Linux native binary and AWS Lambda custom-runtime ZIP, install
Docker and `zip`, then run:

```sh
bash native-image-linux.sh
```

The script runs `mvn clean install`, reads the JAR name and Java version from
Maven, and uses `ghcr.io/graalvm/native-image-community:<maven.compiler.target>`.
Set `GRAALVM_IMAGE` to select a pinned image compatible with that Java version.
Docker builds for its host architecture; use a host matching your Lambda
architecture and verify the resulting binary against your chosen Lambda runtime.
The ZIP is `lambda-native-custom-runtime.zip` and contains executable
`lambda-native` and `bootstrap` files. HTTP and HTTPS protocols are enabled.
Build or packaging failures stop the script with a nonzero exit status.

Run the native-build script regression tests separately with Python 3 and `zip`:

```sh
python3 tests/test_native_image_script.py
```

These tests stub Maven and Docker to check packaging and failure handling.
They are not run by Maven or the current CI workflow.

### Test with Main

We have provided a Main class in the src folder for testing all the middleware handlers with a sample request. You can run the Main class within your IDE with debug mode to see how each middleware handler works.
Expand Down
2 changes: 1 addition & 1 deletion bootstrap
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh
set -euo pipefail
set -eu
./lambda-native -Dlight-4j-config-dir=/opt -Dlogback.configurationFile=/opt/logback.xml
49 changes: 0 additions & 49 deletions build.gradle

This file was deleted.

21 changes: 0 additions & 21 deletions build_graalvm.sh

This file was deleted.

8 changes: 0 additions & 8 deletions gradle.properties

This file was deleted.

6 changes: 0 additions & 6 deletions gradle/wrapper/gradle-wrapper.properties

This file was deleted.

169 changes: 0 additions & 169 deletions gradlew

This file was deleted.

Loading
Loading