openstack-cli-powershell/Openstack.Client.Powershell/Openstack.Client.Powershell.csproj
paybackman 53dc8b3bf9 This change addresses the Code Review from the previous commit. Changes include the following
Stronger Validation for Openstack.config.
 Better handling of detecting and raising NullReferenceExceptions
 Removal of dead code in a few places
 Added ability for each ServiceProvider to supply a ServiceMap which translates his name for a CoreService to something we can work with.
 Optimized code for dealing with Runspaces.

This change implements 2 separate use cases for Multi-Vendor support.

a. Initial Bootstrapping
b. Switch Providers

Change-Id: Ided462e5050214321e1ead50cf0498707d59128f
Partially-implements: blueprint implement-multiple-vendor-support
2014-06-11 14:53:06 -05:00

291 lines
15 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{32BAC168-2EC8-4074-9E6D-8C13460DCFAD}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Openstack.Client.Powershell</RootNamespace>
<AssemblyName>Openstack.Client.Powershell</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\..\..\..\Documents\WindowsPowerShell\Modules\Openstack\Openstack-Core\</OutputPath>
<DefineConstants>DEBUG</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget>
<RunCodeAnalysis>false</RunCodeAnalysis>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'TransformTool Build|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\TransformTool Build\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
<Reference Include="AWSSDK, Version=2.0.11.0, Culture=neutral, PublicKeyToken=9f476d3089b52be3, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\AWSSDK.2.0.11.0\lib\net45\AWSSDK.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Newtonsoft.Json.6.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="OpenStack, Version=0.9.1.0, Culture=neutral, PublicKeyToken=baf191d8aca7391c, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\OpenStack-SDK-DotNet.0.9.1.0\lib\net40\OpenStack.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Core" />
<Reference Include="System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Net" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.Extensions">
<HintPath>..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Net.Http.Primitives">
<HintPath>..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.ServiceModel.Activation" />
<Reference Include="System.ServiceModel.Web" />
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="XamlBuildTask" />
</ItemGroup>
<ItemGroup>
<Compile Include="Cmdlets\BasePSCmdlet.cs" />
<Compile Include="Cmdlets\Common\BaseAuthenticationCmdlet.cs" />
<Compile Include="Cmdlets\Common\BasePSCmdlet.cs" />
<Compile Include="Cmdlets\Common\GetCatalogCmdlet.cs" />
<Compile Include="Cmdlets\Common\GetConfigCmdlet.cs" />
<Compile Include="Cmdlets\Common\GetVersionCmdlet.cs" />
<Compile Include="Cmdlets\Common\GetZoneCmdlet.cs" />
<Compile Include="Cmdlets\Common\GetZonesCmdlet.cs" />
<Compile Include="Cmdlets\Common\SetConfigCmdlet.cs" />
<Compile Include="Cmdlets\Common\SetZoneCmdlet.cs" />
<Compile Include="Cmdlets\Common\TokenTestCmdlet.cs" />
<Compile Include="Providers\Common\BaseNavigationCmdletProvider.cs" />
<Compile Include="Providers\Common\CommonDriveInfo.cs" />
<Compile Include="Providers\Common\CommonDriveParameters.cs" />
<Compile Include="Utility\AccountCapabilities.cs" />
<Compile Include="Utility\AvailabilityZone.cs" />
<Compile Include="Utility\CredentialElement.cs" />
<Compile Include="Cmdlets\Common\GetServiceProvidersCmdlet.cs" />
<Compile Include="Cmdlets\Common\NewServiceProviderCmdlet.cs" />
<Compile Include="Cmdlets\Common\SetServiceProviderCmdlet.cs" />
<Compile Include="Cmdlets\ObjectStorage\Objects\CopyItemCmdlet.cs" />
<Compile Include="Cmdlets\ObjectStorage\Objects\GetURICmdlet.cs" />
<Compile Include="Cmdlets\ObjectStorage\Objects\RemoveItemCmdlet.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Providers\ObjectStorage\StorageItemViewModel.cs" />
<Compile Include="Utility\CredentialManager.cs" />
<Compile Include="Providers\ObjectStorage\ObjectStoragePSDriveInfo.cs" />
<Compile Include="Providers\ObjectStorage\ObjectStorageDriveParameters.cs" />
<Compile Include="Providers\ObjectStorage\ObjectStorageNavigationProvider.cs" />
<Compile Include="Utility\Context.cs" />
<Compile Include="Utility\Enums.cs" />
<Compile Include="Utility\ExtensionManager.cs" />
<Compile Include="Providers\ObjectStorage\ObjectStorageDriveConverter.cs" />
<Compile Include="Utility\ExtensionMethods.cs" />
<Compile Include="Utility\OpenstackCoreRegistrationManager.cs" />
<Compile Include="Utility\RegistrationManager.cs" />
<Compile Include="Utility\RegistrationResponse.cs" />
<Compile Include="Utility\SecureStringHelper.cs" />
<Compile Include="Utility\ServiceMap.cs" />
<Compile Include="Utility\ServiceProvider.cs" />
<Compile Include="Utility\ConfigurationManager.cs" />
<Compile Include="Utility\ServiceProviderAttribute.cs" />
<Compile Include="Utility\Settings.cs" />
<Compile Include="Utility\StoragePath.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config">
<SubType>Designer</SubType>
</None>
<None Include="Deployment\NavigationGraph.dgml" />
<None Include="Deployment\Openstack.config">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Deployment\DevProfile.ps1" />
<None Include="Deployment\PostBuild.bat" />
<None Include="Deployment\Openstack.config.example">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Deployment\DevProfile.ps1.example" />
<None Include="Deployment\Openstack.format.ps1xml">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Deployment\Microsoft.PowerShell_profile.ps1">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Deployment\PostBuild.example" />
<None Include="packages.config" />
<Resource Include="Deployment\powershell.exe.config">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Resource>
</ItemGroup>
<ItemGroup>
<Folder Include="Cmdlets\BlockStorage\" />
<Folder Include="Cmdlets\Compute\Security\" />
<Folder Include="Cmdlets\Compute\Server\" />
<Folder Include="Cmdlets\DBaaS\" />
<Folder Include="Cmdlets\Networking\" />
<Folder Include="Cmdlets\ObjectStorage\CDN\" />
<Folder Include="Cmdlets\ObjectStorage\Containers\" />
<Folder Include="Cmdlets\Security\" />
<Folder Include="Migrations\" />
<Folder Include="Providers\BlockStorage\" />
<Folder Include="Providers\Compute\" />
<Folder Include="Providers\Dbaas\" />
<Folder Include="Providers\Networking\" />
<Folder Include="Providers\Security\" />
</ItemGroup>
<ItemGroup>
<Content Include="Deployment\Aliases.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Deployment\ApacheLicense.txt" />
<Content Include="Deployment\CredentialList.xml">
<SubType>Designer</SubType>
</Content>
<Content Include="Deployment\NavigationGraph.txt" />
<Content Include="Deployment\Openstack.Client.Powershell.dll-Help.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Deployment\readme.txt" />
<Content Include="Deployment\ReleaseManifest.xml" />
<Content Include="Deployment\ScratchPad\SecurityGroupData\SecurityGroupTest.xml" />
<Content Include="Deployment\ScratchPad\SecurityGroupData\SecurityGroupsTest.xml" />
<Content Include="Deployment\ScratchPad\SecurityGroupData\SecurityGroups.xml" />
<Content Include="Deployment\ScratchPad\ServerData\Server.xml">
<SubType>Designer</SubType>
</Content>
<Content Include="Deployment\ScratchPad\ServerData\Server1.xml" />
<Content Include="Deployment\ScratchPad\ServerData\Servers.xml" />
<Content Include="License.txt" />
<None Include="Deployment\Openstack-Core.psd1">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Deployment\ReleaseNotes.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Service References\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!--<PropertyGroup>
<SlowCheetahTargets Condition=" '$(SlowCheetahTargets)'=='' ">$(LOCALAPPDATA)\Microsoft\MSBuild\SlowCheetah\v1\SlowCheetah.Transforms.targets</SlowCheetahTargets>
</PropertyGroup>-->
<!--<Import Project="$(SlowCheetahTargets)" Condition="Exists('$(SlowCheetahTargets)')" />-->
<!--To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.-->
<PropertyGroup>
<PostBuildEvent>Echo =====================
Echo Executing Post-Build Scripts
Echo =====================
md %25USERPROFILE%25\Documents\WindowsPowerShell
md %25USERPROFILE%25\Documents\WindowsPowerShell\Modules
md %25USERPROFILE%25\Documents\WindowsPowerShell\Modules\Openstack
md %25USERPROFILE%25\Documents\WindowsPowerShell\Modules\Openstack\Openstack-Core
md %25USERPROFILE%25\Documents\OS
md $(ProjectDir)bin\debug
copy $(ProjectDir)\Deployment\*.* %25USERPROFILE%25\Documents\WindowsPowerShell\Modules\Openstack\Openstack-Core
copy $(ProjectDir)\Deployment\DevProfile.ps1 %25USERPROFILE%25\Documents\WindowsPowerShell\Microsoft.Powershell_profile.ps1
copy $(ProjectDir)\Deployment\Openstack.config %25USERPROFILE%25\Documents\OS\Openstack.config
echo 'Proj Dir = ' + $(ProjectDir)
echo 'userProfile = ' + %25USERPROFILE%25
echo copy C:\Users\tplummer\Source\Repos\FixIt\openstack-cli-powershell\Openstack.Client.Powershell\Deployment\Openstack.config %25USERPROFILE%25\Documents\OS\Openstack.config
Echo The statement below is causing symbol mismatches when attaching the debugger remotely. For now, you should point this projects output folder
Echo to the correct runtime location. That is C:\Users\username\Documents\WindowsPowerShell\Modules\Openstack\Openstack-Core
Echo ' copy $(ProjectDir)bin\debug\*.* %25USERPROFILE%25\Documents\WindowsPowershell\Modules\Openstack\openstack-core
</PostBuildEvent>
</PropertyGroup>
<!--<Import Project="$(ProjectDir)\Deployment\PostBuild.targets" Condition="Exists('$(ProjectDir)\Deployment\PostBuild.targets')" />-->
<!---->
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
</PropertyGroup>
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
</Target>
</Project>