Skip to content

Commit

Permalink
Merge pull request #1 from jithinjosepkl/master
Browse files Browse the repository at this point in the history
Microsoft MPI - 10.0
  • Loading branch information
jithinjosepkl authored Nov 7, 2018
2 parents 9c79e0e + df55333 commit 182a281
Show file tree
Hide file tree
Showing 411 changed files with 258,348 additions and 0 deletions.
Binary file added .build/CBT/CBT.Core.dll
Binary file not shown.
158 changes: 158 additions & 0 deletions .build/CBT/build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
<?xml version="1.0" encoding="utf-8"?>
<Project InitialTargets="ShowCBTParseErrors;RestoreCBTModules" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup>
<!-- Ensures that if this file changes, projects will be rebuilt -->
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>

<EnlistmentRoot Condition=" '$(EnlistmentRoot)' != '' ">$(EnlistmentRoot.TrimEnd('\\'))</EnlistmentRoot>

<!-- Default CBT global to this directory if not specified -->
<CBTGlobalPath Condition=" '$(CBTGlobalPath)' == '' ">$(MSBuildThisFileDirectory)</CBTGlobalPath>
<CBTGlobalPath>$(CBTGlobalPath.TrimEnd('\\'))</CBTGlobalPath>

<!-- Default CBT local to ..\Local if not specified -->
<CBTLocalPath Condition=" '$(CBTLocalPath)' == '' And Exists('$([System.IO.Path]::GetDirectoryName($(CBTGlobalPath)))\Local') ">$([System.IO.Path]::GetDirectoryName($(CBTGlobalPath)))\Local</CBTLocalPath>
<CBTLocalPath>$(CBTLocalPath.TrimEnd('\\'))</CBTLocalPath>

<CBTLocalBuildExtensionsPath Condition=" '$(CBTLocalBuildExtensionsPath)' == '' And '$(CBTLocalPath)' != '' And Exists('$(CBTLocalPath)\Extensions') ">$(CBTLocalPath)\Extensions</CBTLocalBuildExtensionsPath>

<DefaultProjectConfiguration Condition=" '$(DefaultProjectConfiguration)' == '' ">Debug</DefaultProjectConfiguration>
<Configuration Condition=" '$(Configuration)' == '' And '$(DefaultProjectConfiguration)' != '' ">$(DefaultProjectConfiguration)</Configuration>
<Platform Condition=" '$(Platform)' == '' And '$(DefaultProjectPlatform)' != '' ">$(DefaultProjectPlatform)</Platform>
</PropertyGroup>

<Import Project="$(CBTLocalBuildExtensionsPath)\Before.$(MSBuildThisFile)" Condition=" '$(CBTLocalBuildExtensionsPath)' != '' And Exists('$(CBTLocalBuildExtensionsPath)\Before.$(MSBuildThisFile)') " />

<PropertyGroup>
<CBTModulePackageConfigPath Condition=" '$(CBTModulePackageConfigPath)' == '' And '$(CBTLocalPath)' != '' And Exists('$(CBTLocalPath)\CBTModules\CBTModules.proj') ">$([System.IO.Path]::Combine($(CBTLocalPath), 'CBTModules', 'CBTModules.proj'))</CBTModulePackageConfigPath>
<CBTModulePackageConfigPath Condition=" '$(CBTModulePackageConfigPath)' == '' And '$(CBTLocalPath)' != '' And Exists('$(CBTLocalPath)\CBTModules.proj') ">$([System.IO.Path]::Combine($(CBTLocalPath), 'CBTModules.proj'))</CBTModulePackageConfigPath>
<CBTModulePackageConfigPath Condition=" '$(CBTModulePackageConfigPath)' == '' And '$(CBTLocalPath)' != '' And Exists('$(CBTLocalPath)\CBTModules\packages.config') ">$([System.IO.Path]::Combine($(CBTLocalPath), 'CBTModules', 'packages.config'))</CBTModulePackageConfigPath>
<CBTModulePackageConfigPath Condition=" '$(CBTModulePackageConfigPath)' == '' And '$(CBTLocalPath)' != '' And Exists('$(CBTLocalPath)\packages.config') ">$([System.IO.Path]::Combine($(CBTLocalPath), 'packages.config'))</CBTModulePackageConfigPath>
<CBTModulePackageConfigPath Condition=" '$(CBTModulePackageConfigPath)' != '' ">$([System.IO.Path]::GetFullPath($(CBTModulePackageConfigPath)))</CBTModulePackageConfigPath>
</PropertyGroup>

<PropertyGroup>
<CBTCoreAssemblyPath Condition=" '$(CBTCoreAssemblyPath)' == '' ">$(MSBuildThisFileDirectory)CBT.Core.dll</CBTCoreAssemblyPath>
<CBTModuleRestoreInputs Condition=" '$(CBTModuleRestoreInputs)' == '' ">$(MSBuildThisFileFullPath);$(CBTCoreAssemblyPath);$(CBTModulePackageConfigPath)</CBTModuleRestoreInputs>
</PropertyGroup>

<!-- Load modules -->

<PropertyGroup Condition=" '$(EnlistmentRoot)' != '' And '$(CBTModulePackageConfigPath)' != '' ">
<CBTIntermediateOutputPath Condition=" '$(CBTIntermediateOutputPath)' == '' ">$(MSBuildThisFileDirectory)obj</CBTIntermediateOutputPath>

<CBTModulePath Condition=" '$(CBTModulePath)' == '' ">$(CBTIntermediateOutputPath)\Modules</CBTModulePath>
<CBTModulePropertiesFile Condition=" '$(CBTModulePropertiesFile)' == '' ">$(CBTModulePath)\$(MSBuildThisFile)</CBTModulePropertiesFile>
<CBTModuleExtensionsPath Condition=" '$(CBTModuleExtensionsPath)' == '' ">$(CBTModulePath)\Extensions</CBTModuleExtensionsPath>
<CBTModuleImportsBefore Condition=" '$(CBTModuleImportsBefore)' == '' ">%24(CBTLocalBuildExtensionsPath)\%24(MSBuildThisFile)</CBTModuleImportsBefore>
<CBTModuleImportsAfter Condition=" '$(CBTModuleImportsAfter)' == '' "></CBTModuleImportsAfter>

<CBTNuGetBinDir Condition=" '$(CBTNuGetBinDir)' == '' ">$(CBTIntermediateOutputPath)\NuGet</CBTNuGetBinDir>
<CBTNuGetDownloaderAssemblyPath Condition=" '$(CBTNuGetDownloaderAssemblyPath)' == '' ">$(CBTCoreAssemblyPath)</CBTNuGetDownloaderAssemblyPath>
<CBTNuGetDownloaderClassName Condition=" '$(CBTNuGetDownloaderClassName)' == '' ">CBT.Core.Internal.DefaultNuGetDownloader</CBTNuGetDownloaderClassName>
<CBTModuleRestoreTaskName Condition=" '$(CBTModuleRestoreTaskName)' == '' ">CBT.Core.Tasks.RestoreModules</CBTModuleRestoreTaskName>
<CBTModuleRestoreCommand Condition=" '$(CBTModuleRestoreCommand)' == '' ">$(CBTNuGetBinDir)\NuGet.exe</CBTModuleRestoreCommand>
<CBTModuleRestoreCommandArguments Condition=" '$(CBTModuleRestoreCommandArguments)' == '' ">restore &quot;$(CBTModulePackageConfigPath)&quot; -NonInteractive</CBTModuleRestoreCommandArguments>
<CBTModuleRestoreCommandArguments Condition=" '$(CBTModuleRestoreCommandAdditionalArguments)' != '' ">$(CBTModuleRestoreCommandArguments) $(CBTModuleRestoreCommandAdditionalArguments)</CBTModuleRestoreCommandArguments>

<!-- Do not restore CBT modules when NuGet is evaluating CBTModules.proj. -->
<RestoreCBTModules Condition=" $(RestoreGraphProjectInput.Contains($(CBTModulePackageConfigPath))) ">false</RestoreCBTModules>
<!--
Evaluating this property loads CBT.Core.dll as a byte[] and stores the result in the AppDomain via SetData(). This is the only way we could find to load an assembly from bytes and be able to access it in a later call.
Normally when assemblies are loaded with this context, other calls can't reuse the loaded assembly. Since the Assembly object is stored in the data of the AppDomain, subsequent calls can access via the GetData() method.
The condition on this property also ensures that the Assembly is only loaded once per AppDomain and since property evaluation is single threaded we don't have to worry about synchronization. Another piece of this
property is that the the SetData() method returns void so immediately after SetData() we call GetData() which returns the Assembly and the property evaluates to something like:
"CBT.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
If the CBTCoreAssemblyName property has a value then we know we were able to successfully load the assembly.
The most complicated part of this call is how to get an object[] to pass to the ReadAllBytes() method. MSBuild coerces the arguments to a method but creating a populated object[] with one call is not possible. By calling
System.IO.Directory.GetFiles(), we are returned a string[] which MSBuild coerces to an object[] to ReadAllBytes().
-->
<CBTCoreAssemblyName Condition=" Exists('$(CBTCoreAssemblyPath)') And '$(CBTCoreAssemblyPath.GetType().Assembly.GetType(`System.AppDomain`).GetProperty(`CurrentDomain`).GetValue(null).GetData(`CBT_CORE_ASSEMBLY`))' == '' ">$(CBTCoreAssemblyPath.GetType().Assembly.GetType('System.AppDomain').GetProperty('CurrentDomain').GetValue(null).SetData('CBT_CORE_ASSEMBLY', $(CBTCoreAssemblyPath.GetType().Assembly.GetType('System.AppDomain').GetProperty('CurrentDomain').GetValue(null).Load($(CBTCoreAssemblyPath.GetType().Assembly.GetType('System.IO.File').GetMethod('ReadAllBytes').Invoke(null, $([System.IO.Directory]::GetFiles($([System.IO.Path]::GetDirectoryName($(CBTCoreAssemblyPath))), $([System.IO.Path]::GetFileName($(CBTCoreAssemblyPath)))))))))))</CBTCoreAssemblyName>
<CBTCoreAssemblyName>$(CBTCoreAssemblyPath.GetType().Assembly.GetType('System.AppDomain').GetProperty('CurrentDomain').GetValue(null).GetData('CBT_CORE_ASSEMBLY'))</CBTCoreAssemblyName>
<CBTModulesRestored Condition=" '$(RestoreCBTModules)' != 'false' And '$(BuildingInsideVisualStudio)' != 'true' And '$(CBTModulesRestored)' != 'true' And '$(CBTCoreAssemblyName)' != '' ">$(CBTCoreAssemblyPath.GetType().Assembly.GetType('System.AppDomain').GetProperty('CurrentDomain').GetValue(null).GetData('CBT_CORE_ASSEMBLY').CreateInstance($(CBTModuleRestoreTaskName)).Execute($(CBTModuleImportsAfter.Split(';')), $(CBTModuleImportsBefore.Split(';')), $(CBTModuleExtensionsPath), $(CBTModulePropertiesFile), $(CBTNuGetDownloaderAssemblyPath), $(CBTNuGetDownloaderClassName), '$(CBTNuGetDownloaderArguments)', $(CBTModuleRestoreInputs.Split(';')), $(CBTModulePackageConfigPath), $(CBTModuleRestoreCommand), $(CBTModuleRestoreCommandArguments), $(MSBuildProjectFullPath), $(MSBuildBinPath)))</CBTModulesRestored>

</PropertyGroup>

<ItemGroup>
<CBTParseError Condition=" '$(EnlistmentRoot)' == '' " Include="The 'EnlistmentRoot' property must be set. Please ensure it is declared in a properties file before CBT Core is imported.">
<Code>CBT1000</Code>
</CBTParseError>
<CBTParseError Condition=" '$(CBTModulesRestored)' == 'false' " Include="Modules were not restored and the build cannot continue. Refer to other errors for more information.">
<Code>CBT1001</Code>
</CBTParseError>
<CBTParseError Condition=" '$(CBTModulePackageConfigPath)' == '' " Include="The CBT module configuration file packages.config or CBTModules.proj was not found under $(CBTLocalPath) or $(CBTLocalPath)\CBTModules. Please add a CBT module package configuration file or set the property 'CBTModulePackageConfigPath' to your custom location.">
<Code>CBT1002</Code>
</CBTParseError>
</ItemGroup>

<Import Project="$(CBTModulePropertiesFile)" Condition=" ('$(CBTModulesRestored)' == 'true' Or '$(BuildingInsideVisualStudio)' == 'true') And Exists('$(CBTModulePropertiesFile)') "/>

<UsingTask TaskName="RestoreModules" AssemblyFile="$(CBTCoreAssemblyPath)" />
<UsingTask TaskName="WriteModuleRestoreInfo" AssemblyFile="$(CBTCoreAssemblyPath)" />

<Target Name="ShowCBTParseErrors" Condition=" '@(CBTParseError)' != '' ">
<Error Text="%(CBTParseError.Identity)" Code="%(CBTParseError.Code)" />
</Target>

<Target Name="RestoreCBTModules"
Condition=" '$(RestoreCBTModules)' != 'false' And '$(CBTModulesRestored)' != 'true' "
Inputs="$(CBTModuleRestoreInputs)"
Outputs="$([MSBuild]::ValueOrDefault($(CBTModulePropertiesFile), 'null'))">

<RestoreModules
AfterImports="$(CBTModuleImportsAfter.Split(';'))"
BeforeImports="$(CBTModuleImportsBefore.Split(';'))"
ExtensionsPath="$(CBTModuleExtensionsPath)"
ImportsFile="$(CBTModulePropertiesFile)"
MSBuildBinPath="$(MSBuildBinPath)"
NuGetDownloaderAssemblyPath="$(CBTNuGetDownloaderAssemblyPath)"
NuGetDownloaderClassName="$(CBTNuGetDownloaderClassName)"
NuGetDownloaderArguments="$(CBTNuGetDownloaderArguments)"
PackageConfig="$(CBTModulePackageConfigPath)"
ProjectFullPath="$(MSBuildProjectFullPath)"
RestoreCommand="$(CBTModuleRestoreCommand)"
RestoreCommandArguments="$(CBTModuleRestoreCommandArguments)"
/>

<PropertyGroup>
<CBTModulesRestored Condition=" '$(CBTModulesRestored)' != 'true' ">true</CBTModulesRestored>
</PropertyGroup>

<MSBuild Projects="$(MSBuildProjectFullPath)"
Targets="CBTDesignTimeBuild"
Properties="DesignTimeBuild=$(DesignTimeBuild);BuildingProject=$(BuildingProject);BuildingInsideVisualStudio=$(BuildingInsideVisualStudio);CBTModulesRestored=$(CBTModulesRestored)"
Condition=" '$(CBTModulesRestored)' == 'true' And '$(BuildingInsideVisualStudio)' == 'true' "
/>

</Target>

<!-- _GenerateRestoreProjectSpec is a from the nuget.targets new to NuGet 4.x. -->
<Target Name="GenerateModuleRestoreInfo" AfterTargets="_GenerateRestoreProjectSpec" Condition=" '$(RestoreOutputAbsolutePath)' != '' And '$(MSBuildProjectFullPath)' == '$(CBTModulePackageConfigPath)' " >
<ItemGroup>
<CBTModuleRestoreInfo Remove="@(CBTModuleRestoreInfo)"/>
<CBTModuleRestoreInfo Include="ProjectJsonPath">
<value>$(_CurrentProjectJsonPath)</value>
</CBTModuleRestoreInfo>
<CBTModuleRestoreInfo Include="RestoreProjectStyle">
<value>$(RestoreProjectStyle)</value>
<value Condition=" '$(RestoreProjectStyle)' == '' " >$(NuGetProjectStyle)</value>
</CBTModuleRestoreInfo>
<CBTModuleRestoreInfo Include="RestoreOutputAbsolutePath">
<value>$(RestoreOutputAbsolutePath)</value>
</CBTModuleRestoreInfo>
<CBTModuleRestoreInfo Include="PackageReference">
<id>%(PackageReference.Identity)</id>
<version>%(PackageReference.Version)</version>
</CBTModuleRestoreInfo>
</ItemGroup>
<WriteModuleRestoreInfo File="$(CBTModuleRestoreInfoFile)" Input="@(CBTModuleRestoreInfo)" />
</Target>

<Target Name="CBTDesignTimeBuild" DependsOnTargets="$(CBTDesignTimeBuildDependsOn)" />

<Import Project="$(CBTLocalBuildExtensionsPath)\After.$(MSBuildThisFile)" Condition=" '$(CBTLocalBuildExtensionsPath)' != '' And Exists('$(CBTLocalBuildExtensionsPath)\After.$(MSBuildThisFile)') " />

</Project>
60 changes: 60 additions & 0 deletions .build/Local/CBTModules/CBTModules.proj
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
</PropertyGroup>
<!--
*******************************************************************************************************************
This file contains the CBT modules that you want to use. Modules are standard NuGet packages that apply to the
whole project tree rather than on a per-project basis. Modules provide extensions to your build in a centralized
way and act as a replacement of having to check-in all of the build logic.
Modules include build extensions such as:
1. Analyzing source code and/or build output
2. Assembly versioning
3. Policy enforcement
4. Strong-name signing of build output
To find more modules, use "NuGet.exe list CBT.*" or browse a list at http://commonbuildtoolset.github.io
*******************************************************************************************************************
-->

<ItemGroup>
<!--
*******************************************************************************************************************
CBT.Traversal module provides the build logic to have a dirs.proj which defines the projects you want built in a
hosted build environment. Use this module if you want more control over your official build output and are willing
to move away from Visual Studio solution files.
*******************************************************************************************************************
-->
<PackageReference Include="CBT.Traversal" Version="2.0.53" />

<!--
*******************************************************************************************************************
CBT.NuGet module provides NuGet package restore from the command-line prior to build. This allows users to not
have to restore before building a project tree. This is mostly useful for hosted builds which run from a command-
line environment rather than Visual Studio.
*******************************************************************************************************************
-->
<PackageReference Include="CBT.NuGet" Version="2.2.2" />

<!--
*******************************************************************************************************************
CBT.DotNetFx provides the .NET Framework reference assemblies so that users do not have to have them installed to
build your projects. When using this module, be sure to include ALL of the versions of the target frameworks that
your projects use. For example, if your projects target .NET 4.5 and .NET 4.6, you'll need to include both of the
corresponding modules.
By default build packages are disabled when added to the cbtmodules project.
To use any build package globally it must be enabled for the code base.
Do this by setting Enable#NuGetPackageID# where the . is replaced with _.
Example add this property to your Directory.Build.props for the CBT.DotNetFx-net46 package.
<EnableCBT_DotNetFx-net46>true</EnableCBT_DotNetFx-net46>
*******************************************************************************************************************
-->
<PackageReference Include="CBT.DotNetFx-net46" Version="1.0.0-beta01" />


</ItemGroup>
</Project>
40 changes: 40 additions & 0 deletions COPYRIGHT-mpich.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@

COPYRIGHT

The following is a notice of limited availability of the code, and disclaimer
which must be included in the prologue of the code and in all source listings
of the code.

Copyright Notice
+ 2002 University of Chicago

Permission is hereby granted to use, reproduce, prepare derivative works, and
to redistribute to others. This software was authored by:

Argonne National Laboratory Group
W. Gropp: (630) 252-4318; FAX: (630) 252-5986; e-mail: [email protected]
E. Lusk: (630) 252-7852; FAX: (630) 252-5986; e-mail: [email protected]
Mathematics and Computer Science Division
Argonne National Laboratory, Argonne IL 60439


GOVERNMENT LICENSE

Portions of this material resulted from work developed under a U.S.
Government Contract and are subject to the following license: the Government
is granted for itself and others acting on its behalf a paid-up, nonexclusive,
irrevocable worldwide license in this computer software to reproduce, prepare
derivative works, and perform publicly and display publicly.

DISCLAIMER

This computer code material was prepared, in part, as an account of work
sponsored by an agency of the United States Government. Neither the United
States, nor the University of Chicago, nor any of their employees, makes any
warranty express or implied, or assumes any legal liability or responsibility
for the accuracy, completeness, or usefulness of any information, apparatus,
product, or process disclosed, or represents that its use would not infringe
privately owned rights.



Loading

0 comments on commit 182a281

Please sign in to comment.