Skip to content

Commit

Permalink
Initial code commit. Adding sources from Visual Studio 2015 release b…
Browse files Browse the repository at this point in the history
…ranch.
  • Loading branch information
dotnet-bot authored and AndyGerlicher committed Mar 14, 2015
1 parent 1f63d6c commit 82177a5
Show file tree
Hide file tree
Showing 1,201 changed files with 467,049 additions and 0 deletions.
80 changes: 80 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################

[attr]wintext text eol=crlf

* text=auto

# Default
*.* wintext

# Build Specifications
*.sln wintext
*.props wintext
*.proj wintext
*.targets wintext
*.tasks wintext
*.overridetasks wintext
*.csproj wintext
*.rptproj wintext
*.vcxproj wintext
*.filters wintext
*.cd wintext

# Sources (Managed)
*.cs wintext
*.vb wintext
*.resx wintext
*.xaml wintext
*.config wintext
*.manifest wintext
*.txt wintext
*.tst wintext

# Sources (Web)
*.html wintext
*.css wintext
*.js wintext

# Sources (Native)
*.h wintext
*.cpp wintext
*.rc wintext

# Sources (Xml)
*.xml wintext
*.xsl wintext
*.xsd wintext

# Sources (Script)
*.cmd wintext
*.bat wintext
*.rsp wintext
*.sample wintext


# Sources (Binary)
*.doc binary
*.ico binary
*.appx binary

# Configuration
*.gitattributes wintext
*.gitignore wintext

#Binaries
*.exe binary
*.dll binary
*.obj binary
*.pdb binary
*.zip binary
*.chm binary
*.nupkg binary
*.lex binary
*.ocx binary
*.mui binary

#Images (Binary)
*.png binary
*.jpg binary
183 changes: 183 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.sln.docstates

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/

# Roslyn cache directories
*.ide/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

#NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# JustCode is a .NET coding addin-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
_NCrunch_*
.*crunch*.local.xml

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# If using the old MSBuild-Integrated Package Restore, uncomment this:
#!**/packages/repositories.config

# Windows Azure Build Output
csx/
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
*.mdf
*.ldf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings

# Microsoft Fakes
FakesAssemblies/
59 changes: 59 additions & 0 deletions BuildAndCopy.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
:: Usage:
:: BuildAndCopy <path> <retail framework>
:: <path> - Where to copy the build output
:: <retail framework> - true to have MSBuild target Microsoft.Build.Framework
::
:: Example: BuildAndCopy.cmd bin\MSBuild false

@echo off
setlocal

set MSBuild14Path=%ProgramFiles(x86)%\MSBuild\14.0\Bin
set DebugBuildOutputPath=%~dp0bin\Windows_NT\Debug
set OutputPath=%~dp0bin\MSBuild

:: Check prerequisites
if not defined VS140COMNTOOLS (
echo Error: This script should be run from a Visual Studio 2015 Command Prompt.
echo Please see https://github.com/Microsoft/msbuild/wiki/Building-Testing-and-Debugging for build instructions.
exit /b 1
)

if not "%1"=="" (
set OutputPath=%1
if "%2"=="true" (
set AdditionalBuildCommand= /p:TargetRetailBuildFramework=true
)
)

echo ** Creating a build package
echo ** Output Path: %OutputPath%
echo ** Additional Build Parameters:%AdditionalBuildCommand%
echo.
:: Build MSBuild
call "%~dp0build.cmd" /t:Rebuild %AdditionalBuildCommand%

:: Make a copy of our build
echo ** ROBOCOPY bin\Windows_NT\Debug -^> %OutputPath%
robocopy "%DebugBuildOutputPath%" "%OutputPath%" *.* /S /NFL /NDL /NJH /NJS /nc /ns /np
echo.

:: This is a bit hacky, but we need to copy certain dependencies.
:: The files needed are defined in MSBuildLocalSystemDependencies.txt (one per line)
:: Note: Files may be in use if the compiler is still running (this is generally ok)
echo ** Copying required dependencies from MSBuild 14.0
for /F "tokens=*" %%A in (MSBuildLocalSystemDependencies.txt) do (
robocopy "%MSBuild14Path%" "%OutputPath%" %%A /NFL /NDL /NJH /NJS /nc /ns /np>nul
)
echo.

:: Delete the copy of Microsoft.Build.Framework.dll we built so there are no conflicts
if "%2"=="true" (
echo ** Deleting Microsoft.Build.Framework.dll we built in favor of the Retail version.
del %OutputPath%\Microsoft.Build.Framework.*
)

echo.
echo ** Packaging complete.
set MSBUILDCUSTOMPATH="%OutputPath%\MSBuild.exe"
echo ** MSBuild = %MSBUILDCUSTOMPATH%
13 changes: 13 additions & 0 deletions MSBuildLocalSystemDependencies.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
csc2.exe
Microsoft.CodeAnalysis.CSharp.Desktop.dll
Microsoft.CodeAnalysis.CSharp.dll
Microsoft.CodeAnalysis.dll
Microsoft.CodeAnalysis.Desktop.dll
Microsoft.CodeAnalysis.VisualBasic.Desktop.dll
Microsoft.CodeAnalysis.VisualBasic.dll
System.Collections.Immutable.dll
System.Reflection.Metadata.dll
Tracker.exe
vbc2.exe
VBCSCompiler.exe
VBCSCompiler.exe.config
47 changes: 47 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Microsoft.Build (MSBuild)
The Microsoft Build Engine is a platform for building applications. This engine, which is also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software. Visual Studio uses MSBuild, but it doesn't depend on Visual Studio. By invoking msbuild.exe on your project or solution file, you can orchestrate and build products in environments where Visual Studio isn't installed.

For more information on MSBuild, see the [MSDN documentation](https://msdn.microsoft.com/en-us/library/dd393574(v=vs.120).aspx).

### Source code

* Clone the sources: `git clone https://github.com/Microsoft/msbuild.git`

### Building
For the full supported experience, you will need to have Visual Studio 2015 Preview or later. You can open the solution in Visual Studio 2013, but you will encounter issues building with the provided scripts.

To get started on **Visual Studio 2015 Preview**:

1. Set up a box with Visual Studio 2015 Preview. Either
[install Visual Studio 2015 Preview](http://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs),
or grab a [prebuilt Azure VM image](http://blogs.msdn.com/b/visualstudioalm/archive/2014/06/04/visual-studio-14-ctp-now-available-in-the-virtual-machine-azure-gallery.aspx).
2. Clone the source code (see above).
3. Open src/MSBuild.sln solution in Visual Studio 2015.

## How to Engage, Contribute and Provide Feedback
Before you contribute, please read through the contributing and developer guides to get an idea of what kinds of pull requsts we will or won't accept.

* [Contributing Guide](https://github.com/Microsoft/msbuild/wiki/Contributing-Code)
* [Developer Guide](https://github.com/Microsoft/msbuild/wiki/Building-Testing-and-Debugging)

Want to get more familiar with what's going on in the code?
* [Pull requests](https://github.com/Microsoft/msbuild/pulls): [Open](https://github.com/Microsoft/msbuild/pulls?q=is%3Aopen+is%3Apr)/[Closed](https://github.com/Microsoft/msbuild/pulls?q=is%3Apr+is%3Aclosed)
* [Issue Guide](https://github.com/Microsoft/msbuild/wiki/Issue-Guide)

You are also encouraged to start a discussion by filing an issue or creating a gist.

## MSBuild Components

* **MSBuild**. [Microsoft.Build.CommandLine](https://msdn.microsoft.com/en-us/library/dd393574(v=vs.120).aspx) is the entrypoint for the Microsoft Build Engine (MSBuild.exe).

* **Microsoft.Build**. The [Microsoft.Build](https://msdn.microsoft.com/en-us/library/gg145008(v=vs.120).aspx) namespaces contain types that provide programmatic access to, and control of, the MSBuild engine.

* **Microsoft.Build.Framework**. The [Microsoft.Build.Framework](https://msdn.microsoft.com/en-us/library/microsoft.build.framework(v=vs.120).aspx) namespace contains the types that define how tasks and loggers interact with the MSBuild engine. For additional information on this component, see our [Microsoft.Build.Framework wiki page](https://github.com/Microsoft/msbuild/wiki/Microsoft.Build.Framework).

* **Microsoft.Build.Tasks**. The [Microsoft.Build.Tasks](https://msdn.microsoft.com/en-us/library/microsoft.build.tasks(v=vs.120).aspx) namespace contains the implementation of all tasks shipping with MSBuild.

* **Microsoft.Build.Utilities**. The [Microsoft.Build.Utilities](https://msdn.microsoft.com/en-us/library/microsoft.build.utilities(v=vs.120).aspx) namespace provides helper classes that you can use to create your own MSBuild loggers and tasks.

## License

MSBuild is licensed under the [MIT license](LICENSE).
Loading

0 comments on commit 82177a5

Please sign in to comment.