Skip to content
Snippets Groups Projects
  1. Jul 29, 2016
  2. Jul 28, 2016
  3. Jul 27, 2016
  4. Jul 25, 2016
  5. Jul 24, 2016
  6. Jul 23, 2016
  7. Jul 22, 2016
  8. Jul 20, 2016
  9. Jul 19, 2016
  10. Jul 18, 2016
  11. Jul 15, 2016
    • Jon Skeet's avatar
      Overhaul how the native extension is found, loaded and used · 3fcd20fb
      Jon Skeet authored
      The goal of this is to fix #7230.
      
      The changes here are:
      
      - The layout in the nuget package; the files are now in
        `/runtimes/{os}/native/{library}`
      - The filename of each library, which now includes the architecture,
        e.g `grpc_csharp_ext.x64.dll`
      - The targets file used to copy those files in msbuild-based projects;
        note that we now don't build up a folder structure.
      - The way the functions are found
      
      Before this change, on Linux and OSX we used to find library symbols
      manually, and use DllImport on Windows. With this change, the name
      of the library file changes based on architecture, so `DllImport`
      doesn't work. Instead, we have to use `GetProcAddress` to fetch the
      function. This is further convoluted by the convention on
      Windows-x86 to prefix the function name with `_` and suffix it based
      on the stack size of the arguments. We can't easily tell the
      argument size here, so we just try 0, 4, 8...128. (128 bytes should
      be enough for anyone.) This is inefficient, but it's a one-time hit
      with a known number of functions, and doesn't seem to have any
      significant impact.
      
      The benefit of this in code is we don't need the DllImports any
      more, and we don't need to conditionally use `FindSymbol` - we just
      use it for everything, so things are rather more uniform and tidy.
      
      The further benefit of this is that the library name is no longer
      tied to a particular filename format - so if someone wanted to have
      a directory with the libraries for every version in, with the
      version in the filename, we'd handle that just fine. (At least once
      
      Testing:
      
      - Windows:
        - Console app under msbuild, dotnet cli and DNX
        - ASP.NET Classic under msbuild
        - ASP.NET Core (still running under net451)
      - Ubuntu 16.04
        - Console app under dotnet cli, run with dotnet run and mono
      - OSX:
        - Console app under dotnet cli, run with dotnet run and mono
      
      Under dotnet cli, a dependency on `Microsoft.NETCore.Platforms` is
      required in order to force the libraries to be copied.
      
      This change does *not* further enable .NET Core. It attempts to
      keep the existing experimental .NET Core project files in line
      with the msbuild files, but I expect further work to be required
      for .NET Core, which has a different build/publication model.
      3fcd20fb
    • Muxi Yan's avatar
      37480eb6
  12. Jul 14, 2016
  13. Jul 13, 2016
  14. Jul 12, 2016
    • Nicolas "Pixel" Noble's avatar
    • siddharthshukla's avatar
      Make testing toolchain python 3.x compliant · 0589e533
      siddharthshukla authored
      six is necessary for making these scripts cross compatible
      between python 2.x and 3.x
      
      Changes:
      Add six to python_deps.include
      Include python_deps.include to all Dockerfile templates in test directory
      Include python_deps.include to all Dockerfile templates in stress_test directory
      Include python_deps.include to all Dockerfile templates in interop_test directory
      Replace print statements with print function calls (from futute..)
      Replace .iteritems() with .items() wherever necessary
      use six.moves to import BaseHTTPServer
      Generate new dockerfiles using generate_projects.sh
      0589e533
  15. Jul 11, 2016
    • siddharthshukla's avatar
      Enable py35 and py36 testing · c478214e
      siddharthshukla authored
      Add dockerfile template for python_pyenv_x64 docker image
      Generate the dockerfile using generate_projects.sh
      Modify run_tests.py to include python3.5 and python3.6
      Runs python_jessie_x64 for python versions 2.7 and 3.4, and
      python_pyenv_x64 for python versions 3.5 and 3.6
      c478214e
    • Ken Payson's avatar
      Updated composer.json.template · a56c9da5
      Ken Payson authored
      a56c9da5
  16. Jul 08, 2016
  17. Jul 06, 2016
  18. Jul 02, 2016
Loading