1. 28 10月, 2016 1 次提交
  2. 22 10月, 2016 1 次提交
    • J
      TLDR: artifacts are going to move around in Binaries\Debug and the directory... · b9ba3e9e
      Jared Parsons 提交于
      TLDR: artifacts are going to move around in Binaries\Debug and the directory is going to get a lot bigger.
      
      At a high level build projects can be classified into three categories based on how they write output:
      
      - incorrect: a given output path is written to more than once with different contents
      - less correct: a given output path is written to more than once but always with the same content
      - correct: a given output path is written to exactly once
      
      Today the roslyn build is decidedly “incorrect” as pretty much every file is written directly into Binaries\Debug. This means it ends up writing pretty much every Visual Studio SDK DLL twice: once for Dev14 and once for Dev15. For example at various points in the build Binaries\Debug\Microsoft.VisualStudio.Text.Data.dll may refer to Dev14 and at others it’s Dev15. If this seems like a scary proposition for a build that’s because it is indeed scary and it has real consequences. By now pretty much everyone on the team has hit the build race condition that is dragging down our PRs.
      
      The general fix here is to move build outputs into separate directories. Instead of building to $(Configuration) projects now build into say $(Configuration)\Exes\$(MSBuildProjectFileName). This will have a substantial increase in the size of Binaries. We will be looking into ways to reduce that. In the short term though build stability far outweighs the size increase.
      
      This change takes us most of the way to "correct". There are several places I had to compromise in order to get this initial change in:
      
      - UnitTests still build to a common output folder (one for Dev14, another for Dev15). Pulling unit tests apart is going to take a bit of work.
      - Every project has a <RoslynProjectType> entry. This will go away in the future for most projects. It's temporarily needed so I can fix roslyn-internal in parallel without taking down the build.
      - VSL.Imports.targets is messy. Unavoidable for now due to the above. It will get cleaner as I iterate on this.
      
      None of these are relevant to the underlying race condition. Hence it's okay to push them off.
      b9ba3e9e
  3. 24 9月, 2016 2 次提交
  4. 17 8月, 2016 1 次提交
    • J
      Remove ImportGroup · 9f431374
      Jared Parsons 提交于
      The ImportGroup element is just noise.  It was also used very inconsistently in the repo and often within the same project file.  Just remove it.
      9f431374
  5. 10 8月, 2016 1 次提交
  6. 02 8月, 2016 1 次提交
    • J
      Remove many of the dependency projects · 585d3d19
      Jared Parsons 提交于
      The dependency projects serve a few purposes:
      
      - Help ensure package unity by serving as a single place for a NuGet reference.
      - Make NuGet updates simple by having a single place to change.
      - Grouping together related packages to make it easy to take a dependency on say Visual Studio editor.
      
      The first two points are largely obsolete now that our project.json references are strictly validated on every build and have a single update mechanism.  This meant a lot of our depnedency projects were just making Roslyn.sln bigger.
      
      As such I went through and deleted all of them which had only 1 or 2 project.json entries.  I left the VS ones which tend to group 10+ references together.  They are still serving a valid "reference VS" purpose.
      585d3d19
  7. 15 7月, 2016 1 次提交
  8. 30 6月, 2016 1 次提交
  9. 29 6月, 2016 1 次提交
  10. 22 6月, 2016 1 次提交
  11. 25 4月, 2016 1 次提交
  12. 21 4月, 2016 2 次提交
  13. 20 4月, 2016 2 次提交
  14. 16 4月, 2016 1 次提交
    • D
      Unify NuGet dependencies across the tree · 4aef0b06
      David Kean 提交于
      To prevent projects across the tree from having different dependencies, we unify
      external package dependencies by creating empty C# projects that represent them.
      We then make use of project.json package inheritance (where a project inherits
      all packages dependencies from their dependencies) to unify it across the tree.
      
      No projects outside of this tree, should be directly referencing versions of
      these dependencies manually.
      
      For this check-in I've tackled Metadata, Reflection, and DiaSymReader. Will tackle
      the rest in future commits.
      4aef0b06
  15. 04 3月, 2016 2 次提交
  16. 02 3月, 2016 2 次提交
  17. 01 3月, 2016 1 次提交
  18. 24 2月, 2016 1 次提交
  19. 17 2月, 2016 1 次提交
  20. 14 2月, 2016 1 次提交
  21. 22 1月, 2016 1 次提交
  22. 04 11月, 2015 1 次提交
  23. 24 10月, 2015 1 次提交
  24. 16 10月, 2015 1 次提交
  25. 10 10月, 2015 2 次提交
  26. 22 9月, 2015 1 次提交
    • T
      This cleans up the Roslyn Code Base. · deee04e4
      Tanner Gooding 提交于
      * This updates all references to nuget.exe to use the copy in the root.
      * This deletes all NuGet.config and NuGet.exe files that are not in the root.
      * This removes all references to NuGet.targets (which is obsolete and no longer exists)
      deee04e4
  27. 03 9月, 2015 1 次提交
  28. 30 8月, 2015 1 次提交
  29. 29 8月, 2015 1 次提交
    • J
      Handle corrupted default values in metadata · 9ac3e8e0
      Jared Parsons 提交于
      The native compiler handled corrupted default parameter values by
      substituting in default(T).  It's unclear if this was intentional
      behavior in the compiler or not.
      
      Either way though obfuscators took advantage of this behavior and at
      least one prominent one will corrupt default parameter values when the
      value is null.  Enough prominent libraries have shipped using such
      obfuscators that it is a blocker to upgrading.  Hence we need to emulate
      the native compiler behavior here.
      
      This change is a bit large because I needed to update the test resources
      with a corrupted DLL in order to test out the changes.
      
      closes #4196
      9ac3e8e0
  30. 18 8月, 2015 1 次提交
  31. 13 8月, 2015 1 次提交
  32. 12 8月, 2015 1 次提交
  33. 02 8月, 2015 1 次提交
    • T
      Unblocking the ability to run Unit Tests locally. · 52161c70
      Tanner Gooding 提交于
      This updates the referenced version of 'Microsoft.CodeAnalysis.Test.Resources.Proprietary' from nuget 20150716.7 (20150716.5 and 20150716.6 are also broken) to 20150717.8, which contains the actually signed binary.
      52161c70
  34. 01 8月, 2015 1 次提交
    • B
      Unblock running unit tests · 18819b19
      Balaji Krishnan 提交于
      Nuget package
      Roslyn sources depend on
      Microsoft.CodeAnalysis.Test.Resources.Proprietary.1.1.0-beta1-20150716-05
      which was not signed, so running tests was broken. I've uploaded a newer
      package `07` to nuget.org that fixes the problem. This PR updates the
      package references in Roslyn source to consume and build using the newer
      package.
      18819b19