Я использую Знатока на командной строке, и моя сборка требует времени к (1-2min) полному. Я ищу возможность сцепиться в КОНЕЦ сборки и инициировать определенную команду (запустите программу муравья, и т.д.), когда сборка закончена - зависимый к результату моей (Успешной/Неудавшейся) сборки.
Моя цель состоит в том, что мой компьютер просто играет звук (один для успешной сборки, другого для неудавшейся сборки), таким образом, я замечу, что моя сборка сделана.
Я могу понять это, и как? Я предполагаю, что Муравей был бы возможностью, но я надеюсь, что могу также сделать это без Муравья.
Спасибо за побуждающие к размышлениям импульсы! Поскольку я работаю в Windows, я реализовал это с помощью пакетного сценария, который вызывает небольшую программу Java. Эта программа запускает действие (показывает большую зеленую / красную панель JPanel, воспроизводит звук) в соответствии с заданным ErrorLevel.
Вместо вызова mvn compile
и т. Д. Я теперь вызываю m compile
m.bat:
@echo off
call mvn %*
start javaw -cp "D:\Workspace\Java\BuildInfo\bin" BuildInfo %ERRORLEVEL%
Работает отлично. Теперь мне больше не нужно смотреть в консоль, чтобы узнать, готова ли моя сборка!
Я полагаю, что, как и большинство хороших инструментов командной строки, код выхода , возвращаемый из mvn
, когда он завершается, отражает, была ли сборка успешной или нет. Другими словами, mvn
возвращает 1, если сборка прошла успешно, и 0, если она не удалась (вам нужно будет узнать подробности, чтобы быть уверенным).
Если это так, вы можете написать собственный сценарий пакета / оболочки, который просто обертывает команду mvn
, передавая любые полученные аргументы команде mvn
(чтобы вы могли запустить mymvn compile
и mymvn clean deploy site
так же легко).
Ваш собственный сценарий оболочки может затем вызвать любую команду, необходимую для воспроизведения звука, на основе кода возврата из mvn
.
Вот небольшой сценарий (для Windows), использованный нашим разработчиком, который просто изменяет цвет bg приглашения cmd, снова используя код выхода.
@echo off
color 07
call mvn %*
IF ERRORLEVEL 1 goto RedBuild
IF ERRORLEVEL 0 goto GreenBuild
:RedBuild
color 4F
goto TheEnd
:GreenBuild
color 2F
:TheEnd