Skip to content

Commit c447f4f

Browse files
committed
Updating Generator templates for 1.10
1 parent 63e159e commit c447f4f

File tree

9 files changed

+308
-206
lines changed

9 files changed

+308
-206
lines changed

generated/aws-cpp-sdk-dynamodb/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ else ()
8383
PUBLIC ${aws-crt-cpp_INCLUDE_DIRS}
8484
PUBLIC ${CJSON_INCLUDE_DIRS}
8585
)
86-
message(STATUS "CRT: ${aws-crt-cpp_LIBRARY_DIRS}")
8786
target_link_directories(
8887
aws-sdk-cpp-dynamodb
8988
PUBLIC ${aws-crt-cpp_LIBRARY_DIRS}

generated/aws-cpp-sdk-dynamodb/source/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,5 @@ target_sources(aws-sdk-cpp-dynamodb
44
${CMAKE_CURRENT_SOURCE_DIR}/DynamoDBEndpoint.cpp
55
${CMAKE_CURRENT_SOURCE_DIR}/DynamoDBErrorMarshaller.cpp
66
${CMAKE_CURRENT_SOURCE_DIR}/DynamoDBErrors.cpp
7-
${AWS_DYNAMODB_MODEL_SOURCE}
87
)
98
add_subdirectory(model)

generated/aws-cpp-sdk-dynamodb/source/model/CMakeLists.txt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
target_sources(aws-sdk-cpp-dynamodb
1+
target_sources(aws-sdk-cpp-${metadata.projectName}
22
PRIVATE
33
${CMAKE_CURRENT_SOURCE_DIR}/ArchivalSummary.cpp
44
${CMAKE_CURRENT_SOURCE_DIR}/AttributeAction.cpp
@@ -34,8 +34,8 @@ target_sources(aws-sdk-cpp-dynamodb
3434
${CMAKE_CURRENT_SOURCE_DIR}/Capacity.cpp
3535
${CMAKE_CURRENT_SOURCE_DIR}/ComparisonOperator.cpp
3636
${CMAKE_CURRENT_SOURCE_DIR}/Condition.cpp
37-
${CMAKE_CURRENT_SOURCE_DIR}/ConditionalOperator.cpp
3837
${CMAKE_CURRENT_SOURCE_DIR}/ConditionCheck.cpp
38+
${CMAKE_CURRENT_SOURCE_DIR}/ConditionalOperator.cpp
3939
${CMAKE_CURRENT_SOURCE_DIR}/ConsumedCapacity.cpp
4040
${CMAKE_CURRENT_SOURCE_DIR}/ContinuousBackupsDescription.cpp
4141
${CMAKE_CURRENT_SOURCE_DIR}/ContinuousBackupsStatus.cpp
@@ -130,9 +130,9 @@ target_sources(aws-sdk-cpp-dynamodb
130130
${CMAKE_CURRENT_SOURCE_DIR}/InputFormatOptions.cpp
131131
${CMAKE_CURRENT_SOURCE_DIR}/ItemCollectionMetrics.cpp
132132
${CMAKE_CURRENT_SOURCE_DIR}/ItemResponse.cpp
133-
${CMAKE_CURRENT_SOURCE_DIR}/KeysAndAttributes.cpp
134133
${CMAKE_CURRENT_SOURCE_DIR}/KeySchemaElement.cpp
135134
${CMAKE_CURRENT_SOURCE_DIR}/KeyType.cpp
135+
${CMAKE_CURRENT_SOURCE_DIR}/KeysAndAttributes.cpp
136136
${CMAKE_CURRENT_SOURCE_DIR}/KinesisDataStreamDestination.cpp
137137
${CMAKE_CURRENT_SOURCE_DIR}/ListBackupsRequest.cpp
138138
${CMAKE_CURRENT_SOURCE_DIR}/ListBackupsResult.cpp
@@ -179,8 +179,8 @@ target_sources(aws-sdk-cpp-dynamodb
179179
${CMAKE_CURRENT_SOURCE_DIR}/ReplicaSettingsDescription.cpp
180180
${CMAKE_CURRENT_SOURCE_DIR}/ReplicaSettingsUpdate.cpp
181181
${CMAKE_CURRENT_SOURCE_DIR}/ReplicaStatus.cpp
182-
${CMAKE_CURRENT_SOURCE_DIR}/ReplicationGroupUpdate.cpp
183182
${CMAKE_CURRENT_SOURCE_DIR}/ReplicaUpdate.cpp
183+
${CMAKE_CURRENT_SOURCE_DIR}/ReplicationGroupUpdate.cpp
184184
${CMAKE_CURRENT_SOURCE_DIR}/RestoreSummary.cpp
185185
${CMAKE_CURRENT_SOURCE_DIR}/RestoreTableFromBackupRequest.cpp
186186
${CMAKE_CURRENT_SOURCE_DIR}/RestoreTableFromBackupResult.cpp
@@ -192,16 +192,16 @@ target_sources(aws-sdk-cpp-dynamodb
192192
${CMAKE_CURRENT_SOURCE_DIR}/ReturnValuesOnConditionCheckFailure.cpp
193193
${CMAKE_CURRENT_SOURCE_DIR}/S3BucketSource.cpp
194194
${CMAKE_CURRENT_SOURCE_DIR}/S3SseAlgorithm.cpp
195+
${CMAKE_CURRENT_SOURCE_DIR}/SSEDescription.cpp
196+
${CMAKE_CURRENT_SOURCE_DIR}/SSESpecification.cpp
197+
${CMAKE_CURRENT_SOURCE_DIR}/SSEStatus.cpp
198+
${CMAKE_CURRENT_SOURCE_DIR}/SSEType.cpp
195199
${CMAKE_CURRENT_SOURCE_DIR}/ScalarAttributeType.cpp
196200
${CMAKE_CURRENT_SOURCE_DIR}/ScanRequest.cpp
197201
${CMAKE_CURRENT_SOURCE_DIR}/ScanResult.cpp
198202
${CMAKE_CURRENT_SOURCE_DIR}/Select.cpp
199203
${CMAKE_CURRENT_SOURCE_DIR}/SourceTableDetails.cpp
200204
${CMAKE_CURRENT_SOURCE_DIR}/SourceTableFeatureDetails.cpp
201-
${CMAKE_CURRENT_SOURCE_DIR}/SSEDescription.cpp
202-
${CMAKE_CURRENT_SOURCE_DIR}/SSESpecification.cpp
203-
${CMAKE_CURRENT_SOURCE_DIR}/SSEStatus.cpp
204-
${CMAKE_CURRENT_SOURCE_DIR}/SSEType.cpp
205205
${CMAKE_CURRENT_SOURCE_DIR}/StreamSpecification.cpp
206206
${CMAKE_CURRENT_SOURCE_DIR}/StreamViewType.cpp
207207
${CMAKE_CURRENT_SOURCE_DIR}/TableAutoScalingDescription.cpp
@@ -218,10 +218,10 @@ target_sources(aws-sdk-cpp-dynamodb
218218
${CMAKE_CURRENT_SOURCE_DIR}/TransactGetItem.cpp
219219
${CMAKE_CURRENT_SOURCE_DIR}/TransactGetItemsRequest.cpp
220220
${CMAKE_CURRENT_SOURCE_DIR}/TransactGetItemsResult.cpp
221-
${CMAKE_CURRENT_SOURCE_DIR}/TransactionCanceledException.cpp
222221
${CMAKE_CURRENT_SOURCE_DIR}/TransactWriteItem.cpp
223222
${CMAKE_CURRENT_SOURCE_DIR}/TransactWriteItemsRequest.cpp
224223
${CMAKE_CURRENT_SOURCE_DIR}/TransactWriteItemsResult.cpp
224+
${CMAKE_CURRENT_SOURCE_DIR}/TransactionCanceledException.cpp
225225
${CMAKE_CURRENT_SOURCE_DIR}/UntagResourceRequest.cpp
226226
${CMAKE_CURRENT_SOURCE_DIR}/Update.cpp
227227
${CMAKE_CURRENT_SOURCE_DIR}/UpdateContinuousBackupsRequest.cpp
@@ -243,4 +243,4 @@ target_sources(aws-sdk-cpp-dynamodb
243243
${CMAKE_CURRENT_SOURCE_DIR}/UpdateTimeToLiveRequest.cpp
244244
${CMAKE_CURRENT_SOURCE_DIR}/UpdateTimeToLiveResult.cpp
245245
${CMAKE_CURRENT_SOURCE_DIR}/WriteRequest.cpp
246-
)
246+
)

tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppClientGenerator.java

Lines changed: 66 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@
2626
import java.io.IOException;
2727
import java.io.StringWriter;
2828
import java.nio.charset.StandardCharsets;
29+
import java.nio.file.Paths;
2930
import java.util.*;
31+
import java.util.stream.Collectors;
32+
import java.util.stream.Stream;
3033

3134
public abstract class CppClientGenerator implements ClientGenerator {
3235

@@ -52,11 +55,11 @@ public SdkFileEntry[] generateSourceFiles(ServiceModel serviceModel) throws Exce
5255
//check on all fields.
5356
serviceModel.getShapes().values().stream().filter(hasMembers -> hasMembers.getMembers() != null).forEach(shape ->
5457
shape.getMembers().values().stream().filter(shapeMember ->
55-
shapeMember.isRequired()).forEach( member -> member.setRequired(false)));
58+
shapeMember.isRequired()).forEach(member -> member.setRequired(false)));
5659

5760
getOperationsToRemove().stream().forEach(operation ->
5861
{
59-
serviceModel.getOperations().remove(operation);
62+
serviceModel.getOperations().remove(operation);
6063
});
6164
List<SdkFileEntry> fileList = new ArrayList<>();
6265
fileList.addAll(generateModelHeaderFiles(serviceModel));
@@ -75,6 +78,10 @@ public SdkFileEntry[] generateSourceFiles(ServiceModel serviceModel) throws Exce
7578
fileList.add(generateServiceRequestHeader(serviceModel));
7679
fileList.add(generateExportHeader(serviceModel));
7780
fileList.add(generateCmakeFile(serviceModel));
81+
fileList.add(generateCmakeFileInclude(serviceModel));
82+
fileList.add(generateCmakeFileSource(serviceModel));
83+
fileList.add(generateCmakeFileSourceModel(fileList));
84+
7885

7986
SdkFileEntry[] retArray = new SdkFileEntry[fileList.size()];
8087
return fileList.toArray(retArray);
@@ -127,13 +134,11 @@ protected SdkFileEntry generateModelHeaderFile(ServiceModel serviceModel, Map.En
127134
break;
128135
}
129136
}
130-
}
131-
else if (shape.isEnum()) {
137+
} else if (shape.isEnum()) {
132138
template = velocityEngine.getTemplate("/com/amazonaws/util/awsclientgenerator/velocity/cpp/ModelEnumHeader.vm", StandardCharsets.UTF_8.name());
133139
EnumModel enumModel = new EnumModel(serviceModel.getMetadata().getNamespace(), shapeEntry.getKey(), shape.getEnumValues());
134140
context.put("enumModel", enumModel);
135-
}
136-
else if (shape.isEvent() && shape.getEventPayloadType().equals("blob")) {
141+
} else if (shape.isEvent() && shape.getEventPayloadType().equals("blob")) {
137142
template = velocityEngine.getTemplate("/com/amazonaws/util/awsclientgenerator/velocity/cpp/EventHeader.vm", StandardCharsets.UTF_8.name());
138143
shape.getMembers().entrySet().stream().filter(memberEntry -> memberEntry.getKey().equals(shape.getEventPayloadMemberName())).forEach(blobMemberEntry -> context.put("blobMember", blobMemberEntry));
139144
}
@@ -184,14 +189,12 @@ protected List<SdkFileEntry> generateModelSourceFiles(final ServiceModel service
184189
for (Map.Entry<String, Shape> shapeEntry : serviceModel.getShapes().entrySet()) {
185190

186191
SdkFileEntry sdkFileEntry = generateModelSourceFile(serviceModel, shapeEntry);
187-
if (sdkFileEntry != null)
188-
{
192+
if (sdkFileEntry != null) {
189193
sdkFileEntries.add(sdkFileEntry);
190194
}
191195

192196
sdkFileEntry = generateEventStreamHandlerSourceFile(serviceModel, shapeEntry);
193-
if (sdkFileEntry != null)
194-
{
197+
if (sdkFileEntry != null) {
195198
sdkFileEntries.add(sdkFileEntry);
196199
}
197200
}
@@ -261,10 +264,10 @@ protected SdkFileEntry generateEventStreamHandlerSourceFile(ServiceModel service
261264
protected SdkFileEntry generateErrorSourceFile(final ServiceModel serviceModel) throws Exception {
262265

263266
Set<String> retryableErrors = getRetryableErrors();
264-
for(Error error : serviceModel.getServiceErrors()) {
265-
if(retryableErrors.contains(error.getName())) {
266-
error.setRetryable(true);
267-
}
267+
for (Error error : serviceModel.getServiceErrors()) {
268+
if (retryableErrors.contains(error.getName())) {
269+
error.setRetryable(true);
270+
}
268271
}
269272

270273
Template template = velocityEngine.getTemplate("/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceErrorsSource.vm", StandardCharsets.UTF_8.name());
@@ -377,11 +380,10 @@ protected Map<String, String> computeEndpointMappingForService(ServiceModel serv
377380
Map<String, String> endpoints = new HashMap<>();
378381

379382
if (serviceModel.getServiceName().equals("budgets") ||
380-
serviceModel.getServiceName().equals("cloudfront") ||
381-
serviceModel.getServiceName().equals("importexport") ||
382-
serviceModel.getServiceName().equals("savingsplans") ||
383-
serviceModel.getServiceName().equals("waf"))
384-
{
383+
serviceModel.getServiceName().equals("cloudfront") ||
384+
serviceModel.getServiceName().equals("importexport") ||
385+
serviceModel.getServiceName().equals("savingsplans") ||
386+
serviceModel.getServiceName().equals("waf")) {
385387
serviceModel.getMetadata().setGlobalEndpoint(serviceModel.getServiceName() + ".amazonaws.com");
386388

387389
} else if (serviceModel.getServiceName().equals("ce")) {
@@ -417,10 +419,8 @@ protected Map<String, String> computeEndpointMappingForService(ServiceModel serv
417419

418420
} else if (serviceModel.getServiceName().equals("shield")) {
419421
endpoints.put("fips-aws-global", "shield-fips.us-east-1.amazonaws.com");
420-
}
421-
422-
else if (serviceModel.getServiceName().equals("sts")) {
423-
serviceModel.getMetadata().setGlobalEndpoint(null);
422+
} else if (serviceModel.getServiceName().equals("sts")) {
423+
serviceModel.getMetadata().setGlobalEndpoint(null);
424424
}
425425

426426
return endpoints;
@@ -447,6 +447,48 @@ private SdkFileEntry generateCmakeFile(final ServiceModel serviceModel) throws E
447447
return makeFile(template, context, "CMakeLists.txt", false);
448448
}
449449

450+
private SdkFileEntry generateCmakeFileInclude(final ServiceModel serviceModel) throws Exception {
451+
452+
Template template = velocityEngine.getTemplate("/com/amazonaws/util/awsclientgenerator/velocity/cpp/CMakeFileInclude.vm", StandardCharsets.UTF_8.name());
453+
454+
VelocityContext context = createContext(serviceModel);
455+
456+
return makeFile(template, context, "include/CMakeLists.txt", false);
457+
}
458+
459+
private SdkFileEntry generateCmakeFileSource(final ServiceModel serviceModel) throws Exception {
460+
461+
Template template = velocityEngine.getTemplate("/com/amazonaws/util/awsclientgenerator/velocity/cpp/CMakeFileSource.vm", StandardCharsets.UTF_8.name());
462+
463+
VelocityContext context = createContext(serviceModel);
464+
465+
return makeFile(template, context, "source/CMakeLists.txt", false);
466+
}
467+
468+
private SdkFileEntry generateCmakeFileSourceModel(final List<SdkFileEntry> fileList) throws Exception {
469+
470+
Template template = velocityEngine.getTemplate("/com/amazonaws/util/awsclientgenerator/velocity/cpp/CMakeFileSourceModel.vm", StandardCharsets.UTF_8.name());
471+
472+
VelocityContext context = new VelocityContext();
473+
context.put("nl", System.lineSeparator());
474+
List<String> files = new ArrayList<>();
475+
for (int i = 0; i < fileList.size(); i++) {
476+
if (fileList.get(i) != null) {
477+
String filePath = fileList.get(i).getPathRelativeToRoot();
478+
if (filePath.endsWith("cpp") && filePath.contains("/model/")) {
479+
files.add(Paths.get(filePath).getFileName().toString());
480+
}
481+
}
482+
}
483+
Collections.sort(files);
484+
context.put("filelist", files);
485+
context.put("input.encoding", StandardCharsets.UTF_8.name());
486+
context.put("output.encoding", StandardCharsets.UTF_8.name());
487+
488+
return makeFile(template, context, "source/model/CMakeLists.txt", false);
489+
}
490+
491+
450492
protected final SdkFileEntry makeFile(Template template, VelocityContext context, String path, boolean needsBOM) throws IOException {
451493
StringWriter sw = new StringWriter();
452494
template.merge(context, sw);
@@ -467,7 +509,7 @@ protected final SdkFileEntry makeFile(Template template, VelocityContext context
467509
return file;
468510
}
469511

470-
protected Set<String> getOperationsToRemove(){
512+
protected Set<String> getOperationsToRemove() {
471513
return new HashSet<String>();
472514
}
473515
}

0 commit comments

Comments
 (0)