Как использовать psake из командного файла?
То, что я хочу, это один файл, который я могу дважды щелкнуть, чтобы запустить необходимый процесс сборки с помощью psake.
Я новичок в psake и PowerShell, поэтому будьте осторожны:-).
Теперь у меня есть 3 файла:
Файл 1: Build.bat
PowerShell -ExecutionPolicy Unrestricted -File .\Build.ps1 %1
Файл 2: Build.ps1
Import-Module .\psake.psm1
Invoke-psake .\BuildTasks.ps1 $args
Файл 3: BuildTasks.ps1
task default -depends Verify, Joe
task Verify {
write-host "hello from Verify!"
}
task Joe {
write-host "hello from Joe"
}
Есть ли способ объединить Build.ps1 и BuildTasks.ps1 в один файл?
2 ответа
Решение
Вы должны быть в состоянии сделать это с
powershell -Command "& {Import-Module .\psake.psm1; Invoke-psake .\BuildTasks.ps1 %*}"
который избавляется от build.ps1
файл.
Psake поставляется со скриптом PowerShell "psake.ps1", который оборачивает вызов для вас. Это выглядит как:
import-module .\psake.psm1
invoke-psake @args
remove-module psake
Так что ваш пакетный скрипт выглядит
powershell {path-to-module}\psake.ps1 .\buildTasks.ps1