Generate enums in sorted order
Summary: This PR forces the order of the generated enums in alphabetically order. This is needed to have a predictable order of the enums across different python versions. Which reduces the pain for merging multiple enum additions. Closes https://github.com/facebook/yoga/pull/370 Reviewed By: gkassabli Differential Revision: D4501140 Pulled By: emilsjolander fbshipit-source-id: 66c0ed9e4ea7a5990578b53b0a7e400c13dd53a9
This commit is contained in:
committed by
Facebook Github Bot
parent
d62ca8c518
commit
511a129a7e
8
enums.py
8
enums.py
@@ -125,7 +125,7 @@ with open(root + '/yoga/YGEnums.h', 'w') as f:
|
||||
f.write('#pragma once\n\n')
|
||||
f.write('#include "YGMacros.h"\n\n')
|
||||
f.write('YG_EXTERN_C_BEGIN\n\n')
|
||||
for name, values in ENUMS.items():
|
||||
for name, values in sorted(ENUMS.items()):
|
||||
f.write('#define YG%sCount %s\n' % (name, len(values)))
|
||||
f.write('typedef YG_ENUM_BEGIN(YG%s) {\n' % name)
|
||||
for value in values:
|
||||
@@ -138,7 +138,7 @@ with open(root + '/yoga/YGEnums.h', 'w') as f:
|
||||
f.write('YG_EXTERN_C_END\n')
|
||||
|
||||
# write out java files
|
||||
for name, values in ENUMS.items():
|
||||
for name, values in sorted(ENUMS.items()):
|
||||
with open(root + '/java/com/facebook/yoga/Yoga%s.java' % name, 'w') as f:
|
||||
f.write(LICENSE)
|
||||
f.write('package com.facebook.yoga;\n\n')
|
||||
@@ -181,7 +181,7 @@ for name, values in ENUMS.items():
|
||||
f.write('}\n')
|
||||
|
||||
# write out csharp files
|
||||
for name, values in ENUMS.items():
|
||||
for name, values in sorted(ENUMS.items()):
|
||||
with open(root + '/csharp/Facebook.Yoga/Yoga%s.cs' % name, 'w') as f:
|
||||
f.write(LICENSE)
|
||||
f.write('namespace Facebook.Yoga\n{\n')
|
||||
@@ -198,7 +198,7 @@ for name, values in ENUMS.items():
|
||||
with open(root + '/javascript/sources/YGEnums.js', 'w') as f:
|
||||
f.write(LICENSE)
|
||||
f.write('module.exports = {\n\n')
|
||||
for name, values in ENUMS.items():
|
||||
for name, values in sorted(ENUMS.items()):
|
||||
f.write(' %s_COUNT: %s,\n' % (to_java_upper(name), len(values)))
|
||||
base = 0
|
||||
for value in values:
|
||||
|
Reference in New Issue
Block a user