diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml
index f2e5e5cb5..5bc64b43f 100644
--- a/.github/workflows/build-docs.yml
+++ b/.github/workflows/build-docs.yml
@@ -25,9 +25,8 @@ jobs:
- name: Capture branch and tag
id: branch_name
run: |
- echo ::set-env name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/}
- echo ::set-env name=SOURCE_TAG::${GITHUB_REF#refs/tags/}
-
+ echo "SOURCE_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
+ echo "SOURCE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: install dependencies
run: make dev-docs
- name: Build docs website
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 5eb6d98bd..dfc0ce206 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -18,9 +18,8 @@ jobs:
- name: Capture branch and tag
id: branch_name
run: |
- echo ::set-env name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/}
- echo ::set-env name=SOURCE_TAG::${GITHUB_REF#refs/tags/}
-
+ echo "SOURCE_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
+ echo "SOURCE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: install dependencies
run: make dev-docs
- name: Build docs website
diff --git a/docs/content/index.mdx b/docs/content/index.mdx
index 3617340dd..df30d6cb4 100644
--- a/docs/content/index.mdx
+++ b/docs/content/index.mdx
@@ -79,7 +79,7 @@ And configure the aspectj-maven-plugin to compile-time weave (CTW) the aws-lambd
```groovy
plugins{
id 'java'
- id 'aspectj.AspectjGradlePlugin' version '0.0.3'
+ id 'aspectj.AspectjGradlePlugin' version '0.0.6'
}
repositories {
jcenter()
@@ -94,8 +94,10 @@ dependencies {
}
```
-**Note:** Please add `aspectjVersion = '1.9.6'` to the `gradle.properties` file. The aspectj plugin works at the moment with gradle 5.x only.
-Please refer to [open issue](https://github.com/awslabs/aws-lambda-powertools-java/issues/146) for more details.
+**Note:**
+
+Please add `aspectjVersion = '1.9.6'` to the `gradle.properties` file. The aspectj plugin works at the moment with gradle 5.x only if
+you are using `java 8` as runtime. Please refer to [open issue](https://github.com/awslabs/aws-lambda-powertools-java/issues/146) for more details.
## Environment variables
diff --git a/example/HelloWorldFunction/build.gradle b/example/HelloWorldFunction/build.gradle
index 328f9daf1..ace1860f5 100644
--- a/example/HelloWorldFunction/build.gradle
+++ b/example/HelloWorldFunction/build.gradle
@@ -1,6 +1,6 @@
plugins{
id 'java'
- id 'aspectj.AspectjGradlePlugin' version '0.0.3'
+ id 'aspectj.AspectjGradlePlugin' version '0.0.6'
}
repositories {
@@ -23,6 +23,9 @@ dependencies {
implementation 'software.amazon.lambda:powertools-parameters:1.0.0'
aspectpath 'software.amazon.lambda:powertools-parameters:1.0.0'
+ implementation 'software.amazon.lambda:powertools-validation:1.0.0'
+ aspectpath 'software.amazon.lambda:powertools-validation:1.0.0'
+
implementation 'com.amazonaws:aws-lambda-java-core:1.2.0'
implementation 'com.amazonaws:aws-lambda-java-events:3.1.0'
diff --git a/example/HelloWorldFunction/pom.xml b/example/HelloWorldFunction/pom.xml
index da63ac2a6..34bfcbba7 100644
--- a/example/HelloWorldFunction/pom.xml
+++ b/example/HelloWorldFunction/pom.xml
@@ -7,8 +7,8 @@
jar
A sample Hello World created for SAM CLI.
- 1.8
- 1.8
+ 11
+ 11
2.13.2
@@ -80,9 +80,10 @@
- org.codehaus.mojo
+
+ com.nickwongdev
aspectj-maven-plugin
- 1.11
+ 1.12.6
${maven.compiler.source}
${maven.compiler.target}
diff --git a/example/template.yaml b/example/template.yaml
index f9b6729f8..8ef57d12f 100644
--- a/example/template.yaml
+++ b/example/template.yaml
@@ -9,6 +9,7 @@ Description: >
Globals:
Function:
Timeout: 20
+ Runtime: java11
Resources:
HelloWorldFunction:
@@ -16,7 +17,6 @@ Resources:
Properties:
CodeUri: HelloWorldFunction
Handler: helloworld.App::handleRequest
- Runtime: java8
MemorySize: 512
Environment: # More info about Env Vars: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#environment-object
Variables:
@@ -35,7 +35,6 @@ Resources:
Properties:
CodeUri: HelloWorldFunction
Handler: helloworld.AppValidation::handleRequest
- Runtime: java8
MemorySize: 512
Tracing: Active
Events:
@@ -50,7 +49,6 @@ Resources:
Properties:
CodeUri: HelloWorldFunction
Handler: helloworld.AppStream::handleRequest
- Runtime: java8
MemorySize: 512
Tracing: Active
Environment:
@@ -68,7 +66,6 @@ Resources:
Properties:
CodeUri: HelloWorldFunction
Handler: helloworld.AppParams::handleRequest
- Runtime: java8
MemorySize: 512
Tracing: Active
Policies:
@@ -148,7 +145,6 @@ Resources:
Properties:
CodeUri: HelloWorldFunction
Handler: helloworld.AppSqsEvent::handleRequest
- Runtime: java8
MemorySize: 512
Tracing: Active
Policies:
@@ -174,7 +170,6 @@ Resources:
Properties:
CodeUri: HelloWorldFunction
Handler: helloworld.AppSqsEventUtil::handleRequest
- Runtime: java8
MemorySize: 512
Tracing: Active
Policies:
diff --git a/powertools-core/src/main/java/software/amazon/lambda/powertools/core/internal/LambdaHandlerProcessor.java b/powertools-core/src/main/java/software/amazon/lambda/powertools/core/internal/LambdaHandlerProcessor.java
index 5475d89b6..467822f40 100644
--- a/powertools-core/src/main/java/software/amazon/lambda/powertools/core/internal/LambdaHandlerProcessor.java
+++ b/powertools-core/src/main/java/software/amazon/lambda/powertools/core/internal/LambdaHandlerProcessor.java
@@ -78,4 +78,8 @@ public static boolean isColdStart() {
public static void coldStartDone() {
IS_COLD_START = false;
}
+
+ public static boolean isSamLocal() {
+ return "true".equals(System.getenv("AWS_SAM_LOCAL"));
+ }
}
diff --git a/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspect.java b/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspect.java
index 9aafa0a94..ebc2829d7 100644
--- a/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspect.java
+++ b/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspect.java
@@ -24,6 +24,7 @@
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.coldStartDone;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.isColdStart;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.isHandlerMethod;
+import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.isSamLocal;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.placedOnRequestHandler;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.placedOnStreamHandler;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.serviceName;
@@ -62,7 +63,9 @@ public Object around(ProceedingJoinPoint pjp,
}
throw e;
} finally {
- AWSXRay.endSubsegment();
+ if (!isSamLocal()) {
+ AWSXRay.endSubsegment();
+ }
}
}
diff --git a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspectTest.java b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspectTest.java
index 477ceddb4..58a9af4f2 100644
--- a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspectTest.java
+++ b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspectTest.java
@@ -25,6 +25,7 @@
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
+import software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor;
import software.amazon.lambda.powertools.tracing.handlers.PowerToolDisabled;
import software.amazon.lambda.powertools.tracing.handlers.PowerToolDisabledForStream;
import software.amazon.lambda.powertools.tracing.handlers.PowerTracerToolEnabled;
@@ -32,13 +33,12 @@
import software.amazon.lambda.powertools.tracing.handlers.PowerTracerToolEnabledForStreamWithNoMetaData;
import software.amazon.lambda.powertools.tracing.handlers.PowerTracerToolEnabledWithException;
import software.amazon.lambda.powertools.tracing.handlers.PowerTracerToolEnabledWithNoMetaData;
-import software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor;
import static org.apache.commons.lang3.reflect.FieldUtils.writeStaticField;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;
import static org.mockito.Mockito.when;
-import static org.mockito.MockitoAnnotations.initMocks;
+import static org.mockito.MockitoAnnotations.openMocks;
class LambdaTracingAspectTest {
private RequestHandler