src/React.MSBuild/tools/install.ps1 (33 lines of code) (raw):
function Resolve-ProjectName {
param(
[parameter(ValueFromPipelineByPropertyName = $true)]
[string[]]$ProjectName
)
if($ProjectName) {
$projects = Get-Project $ProjectName
}
else {
# All projects by default
$projects = Get-Project
}
$projects
}
function Get-MSBuildProject {
param(
[parameter(ValueFromPipelineByPropertyName = $true)]
[string[]]$ProjectName
)
Process {
(Resolve-ProjectName $ProjectName) | % {
$path = $_.FullName
@([Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($path))[0]
}
}
}
$project = Get-Project
$buildProject = Get-MSBuildProject
$target = $buildProject.Xml.AddTarget("TransformBabel")
$target.AfterTargets = "Build"
$task = $target.AddTask("Exec")
$task.SetParameter("Command", '"$(msbuildtoolspath)\msbuild.exe" $(ProjectDirectory)TransformBabel.proj /p:OutputPath=$(OutputPath) /nr:false')
$project.Save()