Skip to content

Commit e31d6fe

Browse files
chore: upgrade AspectjGradlePlugin to latest and example project to java 11 (#189)
1 parent 8cdff29 commit e31d6fe

File tree

9 files changed

+30
-24
lines changed

9 files changed

+30
-24
lines changed

.github/workflows/build-docs.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ jobs:
2525
- name: Capture branch and tag
2626
id: branch_name
2727
run: |
28-
echo ::set-env name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/}
29-
echo ::set-env name=SOURCE_TAG::${GITHUB_REF#refs/tags/}
30-
28+
echo "SOURCE_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
29+
echo "SOURCE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
3130
- name: install dependencies
3231
run: make dev-docs
3332
- name: Build docs website

.github/workflows/docs.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,8 @@ jobs:
1818
- name: Capture branch and tag
1919
id: branch_name
2020
run: |
21-
echo ::set-env name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/}
22-
echo ::set-env name=SOURCE_TAG::${GITHUB_REF#refs/tags/}
23-
21+
echo "SOURCE_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
22+
echo "SOURCE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
2423
- name: install dependencies
2524
run: make dev-docs
2625
- name: Build docs website

docs/content/index.mdx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ And configure the aspectj-maven-plugin to compile-time weave (CTW) the aws-lambd
7979
```groovy
8080
plugins{
8181
id 'java'
82-
id 'aspectj.AspectjGradlePlugin' version '0.0.3'
82+
id 'aspectj.AspectjGradlePlugin' version '0.0.6'
8383
}
8484
repositories {
8585
jcenter()
@@ -94,8 +94,10 @@ dependencies {
9494
}
9595
```
9696

97-
**Note:** Please add `aspectjVersion = '1.9.6'` to the `gradle.properties` file. The aspectj plugin works at the moment with gradle 5.x only.
98-
Please refer to [open issue](https://github.com/awslabs/aws-lambda-powertools-java/issues/146) for more details.
97+
**Note:**
98+
99+
Please add `aspectjVersion = '1.9.6'` to the `gradle.properties` file. The aspectj plugin works at the moment with gradle 5.x only if
100+
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.
99101

100102
## Environment variables
101103

example/HelloWorldFunction/build.gradle

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins{
22
id 'java'
3-
id 'aspectj.AspectjGradlePlugin' version '0.0.3'
3+
id 'aspectj.AspectjGradlePlugin' version '0.0.6'
44
}
55

66
repositories {
@@ -23,6 +23,9 @@ dependencies {
2323
implementation 'software.amazon.lambda:powertools-parameters:1.0.0'
2424
aspectpath 'software.amazon.lambda:powertools-parameters:1.0.0'
2525

26+
implementation 'software.amazon.lambda:powertools-validation:1.0.0'
27+
aspectpath 'software.amazon.lambda:powertools-validation:1.0.0'
28+
2629
implementation 'com.amazonaws:aws-lambda-java-core:1.2.0'
2730
implementation 'com.amazonaws:aws-lambda-java-events:3.1.0'
2831

example/HelloWorldFunction/pom.xml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
<packaging>jar</packaging>
88
<name>A sample Hello World created for SAM CLI.</name>
99
<properties>
10-
<maven.compiler.source>1.8</maven.compiler.source>
11-
<maven.compiler.target>1.8</maven.compiler.target>
10+
<maven.compiler.source>11</maven.compiler.source>
11+
<maven.compiler.target>11</maven.compiler.target>
1212
<log4j.version>2.13.2</log4j.version>
1313
</properties>
1414

@@ -80,9 +80,10 @@
8080
<build>
8181
<plugins>
8282
<plugin>
83-
<groupId>org.codehaus.mojo</groupId>
83+
<!-- Refer https://github.com/awslabs/aws-lambda-powertools-java/issues/50 -->
84+
<groupId>com.nickwongdev</groupId>
8485
<artifactId>aspectj-maven-plugin</artifactId>
85-
<version>1.11</version>
86+
<version>1.12.6</version>
8687
<configuration>
8788
<source>${maven.compiler.source}</source>
8889
<target>${maven.compiler.target}</target>

example/template.yaml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ Description: >
99
Globals:
1010
Function:
1111
Timeout: 20
12+
Runtime: java11
1213

1314
Resources:
1415
HelloWorldFunction:
1516
Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
1617
Properties:
1718
CodeUri: HelloWorldFunction
1819
Handler: helloworld.App::handleRequest
19-
Runtime: java8
2020
MemorySize: 512
2121
Environment: # More info about Env Vars: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#environment-object
2222
Variables:
@@ -35,7 +35,6 @@ Resources:
3535
Properties:
3636
CodeUri: HelloWorldFunction
3737
Handler: helloworld.AppValidation::handleRequest
38-
Runtime: java8
3938
MemorySize: 512
4039
Tracing: Active
4140
Events:
@@ -50,7 +49,6 @@ Resources:
5049
Properties:
5150
CodeUri: HelloWorldFunction
5251
Handler: helloworld.AppStream::handleRequest
53-
Runtime: java8
5452
MemorySize: 512
5553
Tracing: Active
5654
Environment:
@@ -68,7 +66,6 @@ Resources:
6866
Properties:
6967
CodeUri: HelloWorldFunction
7068
Handler: helloworld.AppParams::handleRequest
71-
Runtime: java8
7269
MemorySize: 512
7370
Tracing: Active
7471
Policies:
@@ -148,7 +145,6 @@ Resources:
148145
Properties:
149146
CodeUri: HelloWorldFunction
150147
Handler: helloworld.AppSqsEvent::handleRequest
151-
Runtime: java8
152148
MemorySize: 512
153149
Tracing: Active
154150
Policies:
@@ -174,7 +170,6 @@ Resources:
174170
Properties:
175171
CodeUri: HelloWorldFunction
176172
Handler: helloworld.AppSqsEventUtil::handleRequest
177-
Runtime: java8
178173
MemorySize: 512
179174
Tracing: Active
180175
Policies:

powertools-core/src/main/java/software/amazon/lambda/powertools/core/internal/LambdaHandlerProcessor.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,8 @@ public static boolean isColdStart() {
7878
public static void coldStartDone() {
7979
IS_COLD_START = false;
8080
}
81+
82+
public static boolean isSamLocal() {
83+
return "true".equals(System.getenv("AWS_SAM_LOCAL"));
84+
}
8185
}

powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspect.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.coldStartDone;
2525
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.isColdStart;
2626
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.isHandlerMethod;
27+
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.isSamLocal;
2728
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.placedOnRequestHandler;
2829
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.placedOnStreamHandler;
2930
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.serviceName;
@@ -62,7 +63,9 @@ public Object around(ProceedingJoinPoint pjp,
6263
}
6364
throw e;
6465
} finally {
65-
AWSXRay.endSubsegment();
66+
if (!isSamLocal()) {
67+
AWSXRay.endSubsegment();
68+
}
6669
}
6770
}
6871

powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspectTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,20 @@
2525
import org.junit.jupiter.api.BeforeEach;
2626
import org.junit.jupiter.api.Test;
2727
import org.mockito.Mock;
28+
import software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor;
2829
import software.amazon.lambda.powertools.tracing.handlers.PowerToolDisabled;
2930
import software.amazon.lambda.powertools.tracing.handlers.PowerToolDisabledForStream;
3031
import software.amazon.lambda.powertools.tracing.handlers.PowerTracerToolEnabled;
3132
import software.amazon.lambda.powertools.tracing.handlers.PowerTracerToolEnabledForStream;
3233
import software.amazon.lambda.powertools.tracing.handlers.PowerTracerToolEnabledForStreamWithNoMetaData;
3334
import software.amazon.lambda.powertools.tracing.handlers.PowerTracerToolEnabledWithException;
3435
import software.amazon.lambda.powertools.tracing.handlers.PowerTracerToolEnabledWithNoMetaData;
35-
import software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor;
3636

3737
import static org.apache.commons.lang3.reflect.FieldUtils.writeStaticField;
3838
import static org.assertj.core.api.Assertions.assertThat;
3939
import static org.assertj.core.api.Assertions.catchThrowable;
4040
import static org.mockito.Mockito.when;
41-
import static org.mockito.MockitoAnnotations.initMocks;
41+
import static org.mockito.MockitoAnnotations.openMocks;
4242

4343
class LambdaTracingAspectTest {
4444
private RequestHandler<Object, Object> requestHandler;
@@ -49,7 +49,7 @@ class LambdaTracingAspectTest {
4949

5050
@BeforeEach
5151
void setUp() throws IllegalAccessException {
52-
initMocks(this);
52+
openMocks(this);
5353
writeStaticField(LambdaHandlerProcessor.class, "IS_COLD_START", null, true);
5454
setupContext();
5555
requestHandler = new PowerTracerToolEnabled();

0 commit comments

Comments
 (0)