1- import * as fs from 'fs' ;
1+ import { existsSync , mkdirSync , readFileSync , rmSync } from 'fs' ;
22import * as winston from 'winston' ;
33import { getRepoKey , RepoKey } from '../utils/repo' ;
44import {
@@ -67,18 +67,22 @@ export const getSdkAutoContext = async (options: SdkAutoOptions): Promise<SdkAut
6767 logger . add ( loggerTestTransport ( ) ) ;
6868 }
6969
70- const fullLogFileName = path . join ( options . workingFolder , 'full.log' ) ;
71- const filteredLogFileName = path . join ( options . workingFolder , 'filtered.log' ) ;
70+ const logFolder = path . join ( options . workingFolder , 'out/logs' ) ;
71+ if ( ! existsSync ( logFolder ) ) {
72+ mkdirSync ( logFolder , { recursive : true } ) ;
73+ }
74+ const fullLogFileName = path . join ( logFolder , 'full.log' ) ;
75+ const filteredLogFileName = path . join ( logFolder , 'filtered.log' ) ;
7276 // eg: spec-gen-sdk-java-result.html
73- const htmlLogFileName = path . join ( options . workingFolder , `spec-gen-sdk-${ options . sdkName . substring ( "azure-sdk-for-" . length ) } -result.html` ) ;
74- if ( fs . existsSync ( fullLogFileName ) ) {
75- fs . rmSync ( fullLogFileName ) ;
77+ const htmlLogFileName = path . join ( logFolder , `spec-gen-sdk-${ options . sdkName . substring ( "azure-sdk-for-" . length ) } -result.html` ) ;
78+ if ( existsSync ( fullLogFileName ) ) {
79+ rmSync ( fullLogFileName ) ;
7680 }
77- if ( fs . existsSync ( filteredLogFileName ) ) {
78- fs . rmSync ( filteredLogFileName ) ;
81+ if ( existsSync ( filteredLogFileName ) ) {
82+ rmSync ( filteredLogFileName ) ;
7983 }
80- if ( fs . existsSync ( htmlLogFileName ) ) {
81- fs . rmSync ( htmlLogFileName ) ;
84+ if ( existsSync ( htmlLogFileName ) ) {
85+ rmSync ( htmlLogFileName ) ;
8286 }
8387 logger . add ( loggerFileTransport ( fullLogFileName ) ) ;
8488 logger . info ( `Log to ${ fullLogFileName } ` ) ;
@@ -92,11 +96,11 @@ export const getSdkAutoContext = async (options: SdkAutoOptions): Promise<SdkAut
9296 const swaggerToSdkConfig = getSwaggerToSdkConfig ( swaggerToSdkConfigContent ) ;
9397
9498 return {
95- htmlLogFileName,
9699 config : options ,
97100 logger,
98101 fullLogFileName,
99102 filteredLogFileName,
103+ htmlLogFileName,
100104 specRepoConfig,
101105 sdkRepoConfig,
102106 swaggerToSdkConfig,
@@ -152,7 +156,7 @@ export const getLanguageByRepoName = (repoName: string) => {
152156export const loadConfigContent = ( fileName : string , logger : winston . Logger ) => {
153157 logger . info ( `Load config file: ${ fileName } ` ) ;
154158 try {
155- const fileContent = fs . readFileSync ( fileName ) . toString ( ) ;
159+ const fileContent = readFileSync ( fileName ) . toString ( ) ;
156160 const result = JSON . parse ( fileContent ) ;
157161 return result ;
158162 }
0 commit comments