@@ -22,6 +22,7 @@ type BuildType = 'dry-run' | 'release' | 'nightly';
22
22
const SDKS_DIR = path . normalize ( path . join ( __dirname , '..' , '..' , 'sdks' ) ) ;
23
23
const HERMES_DIR = path . join ( SDKS_DIR , 'hermes' ) ;
24
24
const HERMES_TAG_FILE_PATH = path . join ( SDKS_DIR , '.hermesversion' ) ;
25
+ const HERMES_V1_TAG_FILE_PATH = path . join ( SDKS_DIR , '.hermesv1version' ) ;
25
26
const HERMES_SOURCE_TARBALL_BASE_URL =
26
27
'https://github.com/facebook/hermes/tarball/' ;
27
28
const HERMES_TARBALL_DOWNLOAD_DIR = path . join ( SDKS_DIR , 'download' ) ;
@@ -66,7 +67,27 @@ function readHermesTag() /*: string */ {
66
67
return 'main' ;
67
68
}
68
69
69
- function setHermesTag ( hermesTag /*: string */ ) {
70
+ function readHermesV1Tag ( ) /*: string */ {
71
+ if ( fs . existsSync ( HERMES_V1_TAG_FILE_PATH ) ) {
72
+ const data = fs
73
+ . readFileSync ( HERMES_V1_TAG_FILE_PATH , {
74
+ encoding : 'utf8' ,
75
+ flag : 'r' ,
76
+ } )
77
+ . trim ( ) ;
78
+
79
+ if ( data . length > 0 ) {
80
+ return data ;
81
+ } else {
82
+ throw new Error ( '[Hermes] .hermesv1version file is empty.' ) ;
83
+ }
84
+ }
85
+
86
+ // TODO: what should be the default here?
87
+ return 'main' ;
88
+ }
89
+
90
+ function setHermesTag ( hermesTag /*: string */ , hermesV1Tag /*: string */ ) {
70
91
if ( readHermesTag ( ) === hermesTag ) {
71
92
// No need to update.
72
93
return ;
@@ -76,6 +97,7 @@ function setHermesTag(hermesTag /*: string */) {
76
97
fs . mkdirSync ( SDKS_DIR , { recursive : true } ) ;
77
98
}
78
99
fs . writeFileSync ( HERMES_TAG_FILE_PATH , hermesTag . trim ( ) ) ;
100
+ fs . writeFileSync ( HERMES_V1_TAG_FILE_PATH , hermesV1Tag . trim ( ) ) ;
79
101
console . log ( 'Hermes tag has been updated. Please commit your changes.' ) ;
80
102
}
81
103
@@ -337,6 +359,7 @@ module.exports = {
337
359
getHermesTarballDownloadPath,
338
360
getHermesPrebuiltArtifactsTarballName,
339
361
readHermesTag,
362
+ readHermesV1Tag,
340
363
setHermesTag,
341
364
shouldBuildHermesFromSource,
342
365
shouldUsePrebuiltHermesC,
0 commit comments