1
1
// @ts -check
2
2
const { basename, join, relative } = require ( "path" ) ;
3
- const { emptyDirSync } = require ( "fs-extra" ) ;
3
+ const { copySync , emptyDirSync } = require ( "fs-extra" ) ;
4
4
const { copyFileSync } = require ( "fs" ) ;
5
5
const { spawnProcess } = require ( "../utils/spawn-process" ) ;
6
- const { CODE_GEN_ROOT , CODE_GEN_SDK_ROOT , TEMP_CODE_GEN_INPUT_DIR } = require ( "./code-gen-dir" ) ;
6
+ const {
7
+ CODE_GEN_ROOT ,
8
+ CODE_GEN_SDK_ROOT ,
9
+ CODE_GEN_SDK_OUTPUT_DIR ,
10
+ TEMP_CODE_GEN_INPUT_DIR ,
11
+ TEMP_CODE_GEN_SDK_OUTPUT_DIR ,
12
+ } = require ( "./code-gen-dir" ) ;
7
13
const { getModelFilepaths } = require ( "./get-model-filepaths" ) ;
8
14
9
15
const generateClients = async ( models , batchSize ) => {
@@ -22,7 +28,13 @@ const generateClients = async (models, batchSize) => {
22
28
copyFileSync ( filepath , join ( TEMP_CODE_GEN_INPUT_DIR , filename ) ) ;
23
29
}
24
30
await spawnProcess ( "./gradlew" , options , { cwd : CODE_GEN_ROOT } ) ;
31
+ // We're copying generated code to temporary directory as it's cleans
32
+ // codegen directory in every run.
33
+ // Refs: https://github.com/aws/aws-sdk-js-v3/issues/3321
34
+ copySync ( CODE_GEN_SDK_OUTPUT_DIR , TEMP_CODE_GEN_SDK_OUTPUT_DIR ) ;
25
35
}
36
+ copySync ( TEMP_CODE_GEN_SDK_OUTPUT_DIR , CODE_GEN_SDK_OUTPUT_DIR ) ;
37
+ emptyDirSync ( TEMP_CODE_GEN_SDK_OUTPUT_DIR ) ;
26
38
} ;
27
39
28
40
const generateProtocolTests = async ( ) => {
0 commit comments