I want to execute an action per DeploymentTarget, of which there can be more than 1 per ProjectsForDeployment. I know if there was only 1 DeploymentTarget child per ProjectsForDeployment, the target batching would work - but what happens if there's multiple children? Is it still possible to run ProcessDeployableObject 4 times against A1/A2/B1/B2 whilst maintaining references to the siblings and parent?
Thanks!
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Deploy" >
<CallTarget Targets="ProcessDeployableProject" />
</Target>
<Target Name="ProcessDeployableProject" Inputs="@(ProjectsForDeployment)" Outputs="%(ProjectsForDeployment.Identity)\dummy.txt" >
<!-- Processing goes here for %(ProjectsForDeployment.DeploymentTarget), needs OtherMetadataWeNeed and ProjectsForDeployment.Identity too. -->
</Target>
<ItemGroup>
<ProjectsForDeployment Include="/src/A/A.csproj" >
<DeploymentTarget>A1</DeploymentTarget>
<DeploymentTarget>A2</DeploymentTarget>
<OtherMetadataWeNeed>Metadata</OtherMetadataWeNeed>
</ProjectsForDeployment>
<ProjectsForDeployment Include="/src/B/B.csproj" >
<DeploymentTarget>B1</DeploymentTarget>
<DeploymentTarget>B2</DeploymentTarget>
<OtherMetadataWeNeed>Metadata</OtherMetadataWeNeed>
</ProjectsForDeployment>
</ItemGroup>
</Project>