Skip to content

Commit f321e8c

Browse files
committed
update
1 parent 5d684b2 commit f321e8c

8 files changed

Lines changed: 99 additions & 8 deletions

File tree

integration-tests/.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,13 @@ Thumbs.db
3838
# Lambda artifacts
3939
response.json
4040
lambda-bundle.zip
41+
42+
# Java build artifacts
43+
lambda/base-java/target/
44+
lambda/base-java/dependency-reduced-pom.xml
45+
46+
# .NET build artifacts
47+
lambda/base-dotnet/bin/
48+
lambda/base-dotnet/obj/
49+
lambda/base-dotnet/publish/
50+
lambda/base-dotnet/lambda.zip
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFramework>net8.0</TargetFramework>
4+
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
5+
<AWSProjectType>Lambda</AWSProjectType>
6+
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
7+
<PublishReadyToRun>true</PublishReadyToRun>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<PackageReference Include="Amazon.Lambda.Core" Version="2.2.0" />
12+
<PackageReference Include="Amazon.Lambda.Serialization.SystemTextJson" Version="2.4.0" />
13+
</ItemGroup>
14+
</Project>

integration-tests/lambda/base-dotnet/Function.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Amazon.Lambda.Core;
2+
using System;
23
using System.Collections.Generic;
34

45
[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))]
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>com.example</groupId>
8+
<artifactId>base-java</artifactId>
9+
<version>1.0.0</version>
10+
<packaging>jar</packaging>
11+
12+
<properties>
13+
<maven.compiler.source>21</maven.compiler.source>
14+
<maven.compiler.target>21</maven.compiler.target>
15+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
16+
</properties>
17+
18+
<dependencies>
19+
<dependency>
20+
<groupId>com.amazonaws</groupId>
21+
<artifactId>aws-lambda-java-core</artifactId>
22+
<version>1.2.3</version>
23+
</dependency>
24+
</dependencies>
25+
26+
<build>
27+
<plugins>
28+
<plugin>
29+
<groupId>org.apache.maven.plugins</groupId>
30+
<artifactId>maven-shade-plugin</artifactId>
31+
<version>3.5.1</version>
32+
<executions>
33+
<execution>
34+
<phase>package</phase>
35+
<goals>
36+
<goal>shade</goal>
37+
</goals>
38+
</execution>
39+
</executions>
40+
</plugin>
41+
</plugins>
42+
</build>
43+
</project>

integration-tests/lambda/base-java/Handler.java renamed to integration-tests/lambda/base-java/src/main/java/Handler.java

File renamed without changes.

integration-tests/lib/base-dotnet-stack.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as cdk from 'aws-cdk-lib';
22
import * as lambda from 'aws-cdk-lib/aws-lambda';
33
import { Construct } from 'constructs';
4-
import { createLogGroup, datadogEnvVariables, secretPolicy, getExtensionLayer, getDotnetLayer } from './util';
4+
import { createLogGroup, datadogEnvVariables, secretPolicy, getExtensionLayer, getDotnetLayer, getDotnetCode } from './util';
55

66
export class BaseDotnetStack extends cdk.Stack {
77
constructor(scope: Construct, id: string, props: cdk.StackProps) {
@@ -12,7 +12,7 @@ export class BaseDotnetStack extends cdk.Stack {
1212
runtime: lambda.Runtime.DOTNET_8,
1313
architecture: lambda.Architecture.ARM_64,
1414
handler: 'BaseDotnet::BaseDotnet.Function::FunctionHandler',
15-
code: lambda.Code.fromAsset('./lambda/base-dotnet'),
15+
code: getDotnetCode('./lambda/base-dotnet'),
1616
functionName: dotnetFunctionName,
1717
timeout: cdk.Duration.seconds(30),
1818
memorySize: 512,
@@ -21,10 +21,6 @@ export class BaseDotnetStack extends cdk.Stack {
2121
DD_SERVICE: dotnetFunctionName,
2222
DD_TRACE_ENABLED: 'true',
2323
AWS_LAMBDA_EXEC_WRAPPER: '/opt/datadog_wrapper',
24-
CORECLR_ENABLE_PROFILING: '1',
25-
CORECLR_PROFILER: '{846F5F1C-F9AE-4B07-969E-05C26BC060D8}',
26-
CORECLR_PROFILER_PATH: '/opt/datadog/Datadog.Trace.ClrProfiler.Native.so',
27-
DD_DOTNET_TRACER_HOME: '/opt/datadog',
2824
},
2925
logGroup: createLogGroup(this, dotnetFunctionName)
3026
});

integration-tests/lib/base-java-stack.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as cdk from 'aws-cdk-lib';
22
import * as lambda from 'aws-cdk-lib/aws-lambda';
33
import { Construct } from 'constructs';
4-
import { createLogGroup, datadogEnvVariables, secretPolicy, getExtensionLayer, getJavaLayer } from './util';
4+
import { createLogGroup, datadogEnvVariables, secretPolicy, getExtensionLayer, getJavaLayer, getJavaCode } from './util';
55

66
export class BaseJavaStack extends cdk.Stack {
77
constructor(scope: Construct, id: string, props: cdk.StackProps) {
@@ -12,7 +12,7 @@ export class BaseJavaStack extends cdk.Stack {
1212
runtime: lambda.Runtime.JAVA_21,
1313
architecture: lambda.Architecture.ARM_64,
1414
handler: 'Handler::handleRequest',
15-
code: lambda.Code.fromAsset('./lambda/base-java'),
15+
code: getJavaCode('./lambda/base-java'),
1616
functionName: javaFunctionName,
1717
timeout: cdk.Duration.seconds(30),
1818
memorySize: 512,

integration-tests/lib/util.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Construct } from "constructs";
22
import * as logs from 'aws-cdk-lib/aws-logs';
33
import * as cdk from 'aws-cdk-lib';
44
import * as iam from 'aws-cdk-lib/aws-iam';
5+
import * as lambda from 'aws-cdk-lib/aws-lambda';
56
import { LayerVersion } from "aws-cdk-lib/aws-lambda";
67

78
export const datadogSecretArn = process.env.DATADOG_API_SECRET_ARN || '';
@@ -83,3 +84,29 @@ export const getDotnetLayer = (scope: Construct) => {
8384
dotnetLayerArn
8485
);
8586
};
87+
88+
export const getJavaCode = (directory: string) => {
89+
return lambda.Code.fromAsset(directory, {
90+
bundling: {
91+
image: lambda.Runtime.JAVA_21.bundlingImage,
92+
command: [
93+
'/bin/sh', '-c',
94+
'mvn clean package -q && find target -name "*.jar" -not -name "original-*.jar" -exec cp {} /asset-output/ \\;'
95+
],
96+
user: 'root'
97+
}
98+
});
99+
};
100+
101+
export const getDotnetCode = (directory: string) => {
102+
return lambda.Code.fromAsset(directory, {
103+
bundling: {
104+
image: lambda.Runtime.DOTNET_8.bundlingImage,
105+
command: [
106+
'/bin/sh', '-c',
107+
'dotnet publish -c Release -o /asset-output --runtime linux-arm64'
108+
],
109+
user: 'root'
110+
}
111+
});
112+
};

0 commit comments

Comments
 (0)