Введение
В настоящее время, я работаю над проектом, одним из основных инструментов, в котором является язык haxe. В качестве среды разработки для haxe, в данном проекте, я использую FlashDevelop. В течение дня, проект собирается множество раз, и надо точно знать, какая сборка, сейчас, выложена в общий доступ. Для этого необходимо нумеровать сборки. Так как, ни в haxe, ни во FlashDevelop стандартного средства генерации номера сборки найдено не было, предлагаю для решения этой задачи, провернуть определённый трюк.
Трюк
Для начала создадим класс Build, содержащий следующий код:
Следующим, моим шагом стала автоматизация инкрементации номера сборки. Создадим файл .build, в корне проекта, данный файл будет содержать единственную строку num=1 (либо то число, с которого надо начать счет).
А теперь, скрипт prebuild.bat, который будет делать за меня "чёрную работу". Разместим скрипт рядом с файлом .build. Этот сценарий будет создавать класс Build, содержащий номер текущей сборки, основываясь на номере, который уже содержится в файле .build. А затем, увеличивать его на единицу и перезаписывать .build.
Осталось ответить на вопрос: "Как выполнить prebuild.bat перед общей сборкой проекта?".
Для FlashDevelop (для других IDE по аналогии) это делается так: открываем меню Project->Properties, далее закладка Build и поле Pre-build command line, в котором прописываем следующее $(ProjectDir)\prebuild.bat.
На этом, трюк выполнен. Перед каждой сборкой, класс Build будет перезаписываться с новым значением поля number, что и обеспечит требуемый результат.
P.S. Код функции read_setting взят с сайта rsdn.ru.