2
2
# SPDX-License-Identifier: Apache-2.0
3
3
4
4
CORES =2
5
+ ENABLE_EXTERN_PROCESSING =1
5
6
TRANSPILE_TESTS_IN_RUST =1
6
7
7
8
include ../SharedMakefile.mk
@@ -63,9 +64,9 @@ PROJECT_INDEX := \
63
64
submodules/MaterialProviders/AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore/src/Index.dfy \
64
65
submodules/MaterialProviders/TestVectorsAwsCryptographicMaterialProviders/dafny/KeyVectors/src/Index.dfy \
65
66
DynamoDbEncryption/dafny/StructuredEncryption/src/Index.dfy \
67
+ DynamoDbEncryption/dafny/DynamoDbEncryption/src/Index.dfy \
66
68
DynamoDbEncryption/dafny/DynamoDbItemEncryptor/src/Index.dfy \
67
69
DynamoDbEncryption/dafny/DynamoDbEncryptionTransforms/src/Index.dfy \
68
- DynamoDbEncryption/dafny/DynamoDbEncryption/src/Index.dfy \
69
70
70
71
STD_LIBRARY =submodules/MaterialProviders/StandardLibrary
71
72
SMITHY_DEPS =submodules/MaterialProviders/model
@@ -79,14 +80,80 @@ SERVICE_DEPS_DDBEncryption := \
79
80
submodules/MaterialProviders/ComAmazonawsDynamodb \
80
81
submodules/MaterialProviders/AwsCryptographicMaterialProviders/dafny/AwsCryptographicMaterialProviders \
81
82
submodules/MaterialProviders/AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore \
82
- DynamoDbEncryption/dafny/DynamoDbEncryptionTransforms \
83
- DynamoDbEncryption/dafny/DynamoDbEncryption \
84
- DynamoDbEncryption/dafny/DynamoDbItemEncryptor \
85
83
DynamoDbEncryption/dafny/StructuredEncryption \
84
+ DynamoDbEncryption/dafny/DynamoDbEncryption \
86
85
submodules/MaterialProviders/TestVectorsAwsCryptographicMaterialProviders/dafny/TestVectorsAwsCryptographicMaterialProviders \
87
86
88
87
transpile_implementation_rust : _remove_wrapped_client_rust
89
88
90
89
_remove_wrapped_client_rust :
91
90
$(MAKE ) _sed_file SED_FILE_PATH=" runtimes/rust/src/deps/aws_cryptography_materialProviders.rs" \
92
91
SED_BEFORE_STRING =' \# \[cfg(feature = "wrapped-client")\]' SED_AFTER_STRING='\/\/ Removed cfg(feature = "wrapped-client")'
92
+
93
+ # Go
94
+ GO_MODULE_NAME ="github.com/aws/aws-database-encryption-sdk-dynamodb/testvectors"
95
+
96
+ GO_DEPENDENCY_MODULE_NAMES := \
97
+ --dependency-library-name=aws.cryptography.primitives=github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives \
98
+ --dependency-library-name=com.amazonaws.kms=github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms \
99
+ --dependency-library-name=com.amazonaws.dynamodb=github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb \
100
+ --dependency-library-name=aws.cryptography.materialProviders=github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl \
101
+ --dependency-library-name=aws.cryptography.keyStore=github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl \
102
+ --dependency-library-name=sdk.com.amazonaws.dynamodb=github.com/aws/aws-sdk-go-v2/service/dynamodb \
103
+ --dependency-library-name=sdk.com.amazonaws.kms=github.com/aws/aws-sdk-go-v2/service/kms \
104
+ --dependency-library-name=aws.cryptography.dbEncryptionSdk.structuredEncryption=github.com/aws/aws-database-encryption-sdk-dynamodb \
105
+ --dependency-library-name=aws.cryptography.dbEncryptionSdk.dynamoDb=github.com/aws/aws-database-encryption-sdk-dynamodb \
106
+ --dependency-library-name=aws.cryptography.dbEncryptionSdk.dynamoDb.itemEncryptor=github.com/aws/aws-database-encryption-sdk-dynamodb \
107
+ --dependency-library-name=aws.cryptography.dbEncryptionSdk.dynamoDb.transforms=github.com/aws/aws-database-encryption-sdk-dynamodb
108
+
109
+ TRANSLATION_RECORD_GO := \
110
+ DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/ImplementationFromDafny-go.dtr \
111
+ submodules/MaterialProviders/StandardLibrary/runtimes/go/ImplementationFromDafny-go/ImplementationFromDafny-go.dtr \
112
+ submodules/MaterialProviders/ComAmazonawsKms/runtimes/go/ImplementationFromDafny-go/ImplementationFromDafny-go.dtr \
113
+ submodules/MaterialProviders/ComAmazonawsDynamodb/runtimes/go/ImplementationFromDafny-go/ImplementationFromDafny-go.dtr \
114
+ submodules/MaterialProviders/AwsCryptographyPrimitives/runtimes/go/ImplementationFromDafny-go/ImplementationFromDafny-go.dtr \
115
+ submodules/MaterialProviders/AwsCryptographicMaterialProviders/runtimes/go/ImplementationFromDafny-go/ImplementationFromDafny-go.dtr \
116
+ submodules/MaterialProviders/TestVectorsAwsCryptographicMaterialProviders/runtimes/go/ImplementationFromDafny-go/ImplementationFromDafny-go.dtr
117
+
118
+ # Constants for languages that drop extern names (Python, Go)
119
+
120
+ INDEX_FILE_PATH =dafny/DDBEncryption/src/LibraryIndex.dfy
121
+ INDEX_FILE_WITH_EXTERN_STRING ="module {:extern \"software.amazon.cryptography.dbencryptionsdk.dynamodb.internaldafny.wrapped\"} WrappedDynamoDbEncryption refines WrappedAbstractAwsCryptographyDynamoDbEncryptionService"
122
+ INDEX_FILE_WITHOUT_EXTERN_STRING ="module WrappedDynamoDbEncryption refines WrappedAbstractAwsCryptographyDynamoDbEncryptionService"
123
+
124
+ _sed_types_file_remove_extern :
125
+ echo " no types file"
126
+
127
+ _sed_types_file_add_extern :
128
+ echo " no types file"
129
+
130
+ _polymorph_go : purge_polymorph_code
131
+
132
+ # Smithy-dafny generated shim needs a long term fix.
133
+ # TODO: Remove this commands once smithy-dafny is fixed
134
+ # This commands does not work on windows
135
+ # https://taskei.amazon.dev/tasks/CrypTool-5283
136
+ purge_polymorph_code :
137
+ find .. -name " shim.go" | xargs sed -i $(SED_PARAMETER ) ' s/(_static \*CompanionStruct_Default___)//g'
138
+ rm -rf runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated \
139
+ runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes \
140
+ runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbService \
141
+ runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated \
142
+ runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes \
143
+ runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbService
144
+
145
+
146
+ _transpile_implementation_all :
147
+ @echo " No polymorphing of dependency"
148
+
149
+ _transpile_test_all :
150
+ @echo " No polymorphing of dependency"
151
+
152
+ _transpile_dependencies :
153
+ @echo " No polymorphing of dependency"
154
+
155
+ _transpile_dependencies_test :
156
+ @echo " No polymorphing of dependency"
157
+
158
+ mvn_local_deploy_dependencies :
159
+ @echo " No polymorphing of dependency"
0 commit comments