Обновить eclipse из командной строки

Вопрос

Я хочу обновить eclipse из командной строки. Как я могу это сделать?

Контекст

Обычно я запускаю сборки следующим образом:

$ myCompaniesSpecialBuildScript.sh

Это делает некоторую настройку проекта, которая необходима для Eclipse для отображения проекта без ошибок компиляции.

Это означает, что всякий раз, когда я запускаю сборку, мои шаги:

  • $ myCompaniesSpecialBuildScript.sh
  • Внутри затмения:

    • Выберите проект, над которым я работаю → Щелкните правой кнопкой мыши и выберите Refresh, ИЛИ
    • В верхнем меню: Project -> Clean... -> Clean all

В идеале, вместо этого я бы скорее запустил это из командной строки:

$ myCompaniesSpecialBuildScript.sh && myScriptToRefreshEclipse.sh

Я изучаю, как сделать myScriptToRefreshEclipse.sh.

Прогресс

Это то, что я нашел до сих пор:

  • IResource.refresh - Позволяет обновлять ресурсы.
  • Существует также ant задача, которая может быть использована, которая обертывает IResource.refresh

Кажется, что обе эти вещи нужно запускать внутри JVM Eclipse. Есть ли способ получить это из командной строки?

Ответ 1

В рабочей области Предпочтения включите Общие > Рабочее пространство > Обновите, используя собственные перехватчики или опрос. Это должно заставить Eclipse автоматически обновлять ресурсы рабочей области при первом запуске после их изменения.

Ответ 2

Хотя я и не был прямым ответом на вопрос, я считаю, что наилучшая интеграция с Eclipse может быть достигнута за счет запуска даже оболочки script из Eclipse: создайте External Tool Configuration, введите путь к вашему файлу script, а затем перейдите на вкладку "Обновить", чтобы выбрать, какие части рабочей области необходимо обновить после запуска script.

Ответ 3

Я думаю, что это самый простой способ достичь этого, не набирая код Java, он просто пишет файл ant build.xml, содержащий оба:

  • связанная с eclipse.refreshLocal задача.
  • задача запуска executemyCompaniesSpecialBuildScript.s

Что-то вроде этого

<?xml version="1.0" encoding="UTF-8"?>
<project>
  <target name="nameofyourtarget">
      <exec executable="/bin/bash">
        <arg value="/path/to/myCompaniesSpecialBuildScript.sh"/>
      </exec>
      <eclipse.refreshLocal resource="MyProject/src" depth="infinite"/>
  </target>
</project>

Затем вы сможете запустить весь процесс из командной строки с помощью

ant nameofyourtarget