Кросс-платформенный метод Eclipse для получения git rev в version.h

Я использую eclipse indigo (не могу обновиться до более новых версий, так как этот индиго заключен в среду поставщика). Я помещаю хеш коммита git в файл version.h, используя этап предварительной сборки для запуска (дрянного) пакетного файла (эй, я признаюсь, что я скрипичный котенок, который собирает вещи вместе, чтобы выполнить работу):

rem echo off
git rev-parse HEAD >> commithash
setlocal enabledelayedexpansion 
set "line = " 
for /f "delims = " %%a in (commithash) do set "line=!line!%%a" 
echo char * version=^"%line%^"; > ..\Application\version.h
del commithash

Результат такой: char * version = "e016e6df4f17e7fd982d9a2575d8410eadf3c4b2";

Теперь мне нужно взять этот же проект и скомпилировать его на Linux. Несмотря на то, что есть способы запустить один и тот же сценарий в Windows и Linux, я уверен, что я сделал это хуже, чем должно быть. Я уверен, что есть способ использовать make-файл (я использую управляемые make-файлы), чтобы сделать именно это, но я не могу узнать, где взять документацию, объясняющую (всю) систему make eclipse, чтобы я мог действительно понять. Я пробовал сделать это, добавив построитель, но это не сработало, и снова я не могу найти документацию, которая объясняет (всю) «строительную» систему eclipse, чтобы я мог по-настоящему понять. Итак, мой вопрос состоит из трех частей:

1) Где я могу найти что-то, что объясняет, как работает система создания индиго eclipse И работает система построения (и мне не нужна документация по eclipse, в которой говорится, какую кнопку нажать, чтобы открыть диалоговое окно конструктора и как вводить текст в поля и какую кнопку нажать, чтобы закрыть диалоговое окно). Я хочу понять, что происходит и как это работает.

2) Если ресурс в (1) не существует, как мне настроить конструктор, который действительно работает (я пробовал, искал, экспериментировал и потратил слишком много денег клиента), чтобы сделать это?

3) Если ни (1), ни (2) невозможны, как я могу создать make-файл (шаг?), Который будет выполнять эту кроссплатформенную работу?

Заранее глубокая признательность. Я могу даже отправить наличные, если потребуется.

Разрешено ли нам принимать советы по SO? lol - хорошо написанный вопрос, удачи!

Geek Stocks 25.10.2018 04:09

Деньги здесь никогда не требуются! После получения ответа, если вы хотите выразить свою признательность, вы можете проголосовать за него и отметить его как правильный ответ!

hatef 25.10.2018 07:27

Как запустить пакетный сценарий в Windows и в чем проблема с переходом на Linux? Почему вы не можете обновить?

howlger 25.10.2018 13:13

Howlger: Я запускаю пакет в Windows, используя предварительную сборку. Вы заставили меня задуматься, почему его нельзя запустить в Linux. Думаю, основная проблема - это пути ... Но теперь я должен проверить. Обновлю с этим ответом. Спасибо за вопрос.

levocs 25.10.2018 19:57

howlger: После того, как я решил вопросы о пути, он отлично работает на Linux. Еще раз спасибо за вопрос!

levocs 03.12.2018 03:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
49
0

Другие вопросы по теме