Как использовать 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
Другие вопросы по тегам