Удаление определенных классов при запуске внешнего инструмента в Eclipse? - PullRequest
0 голосов
/ 16 сентября 2008

Я установил внешний инструмент (sablecc) в eclipse (3.4), который генерирует группу классов в текущем проекте. Мне нужно запустить этот инструмент и регенерировать эти классы довольно часто. Это означает, что каждый раз, когда я хочу запустить sablecc, мне нужно вручную удалять пакеты / классы, которые создает sablecc, чтобы избежать конфликтов между старым и новым сгенерированными классами. Есть ли какой-нибудь простой способ автоматизировать это из затмения или иным образом?

Ответы [ 3 ]

1 голос
/ 16 сентября 2008

Не уверен, правильно ли я понимаю вашу точку зрения, я полагаю, вам нужно удалить старые классы перед запуском sablecc, потому что некоторые из них в конечном итоге не будут созданы при новом запуске.

Вероятно, лучше написать короткую Ant build.xml с целью, которая сначала удаляет классы (задача удаления Ant), а затем запускает sablecc (задача Ant exec). Также возможно предварительно настроить eclipse, чтобы он обновлял рабочее пространство после завершения Ant.

Поместите build.xml в любое место проекта, щелкните правой кнопкой мыши, Run As / Ant Build.

Просто ради чистого стиля вы могли бы затем вызвать sablecc с его задачей Ant (реализованной org.sablecc.ant.taskdef) вместо того, чтобы запускать его извне в новом процессе.

0 голосов
/ 16 сентября 2008

JesperE ссылается на параметр Обновить-> Обновить ресурсы по завершении в конфигурации внешних инструментов для запуска sablecc.

0 голосов
/ 16 сентября 2008

Вы можете указать Eclipse обновить рабочее пространство (или его части) после запуска внешнего инструмента. Это должно заставить Eclipse обнаруживать любые новые / удаленные классы.

...