reef-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Douglas Service <dsop...@gmail.com>
Subject Re: What's the blessed way to compile REEF.NET right now?
Date Tue, 18 Jul 2017 21:37:01 GMT
I will explain what I know about this problem.

The Microsoft.Avro.Core / Microsoft.Avro.Tools nuget packages require the
10.x version json and I had this all working by having both the 8.x and
10.x in the same packages.config file like this:

<packages>
  <package id="Microsoft.Avro.Core" version="0.1.0"
targetFramework="net451" developmentDependency="true" />
  <package id="Microsoft.Avro.Tools" version="0.1.0"
targetFramework="net451" developmentDependency="true" />
  <package id="Newtonsoft.Json" version="10.0.3" targetFramework="net451"
developmentDependency="true" />
  <package id="Microsoft.Hadoop.Avro" version="1.5.6"
targetFramework="net45" />
  <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net45" />
  <package id="StyleCop.MSBuild" version="4.7.49.1" targetFramework="net45"
developmentDependency="true" />
</packages>


Note that the 10.x version is marked as a development dependency which
builds and tests properly from the command line.

msbuild .\lang\cs\Org.Apache.REEF.sln

msbuild .\lang\cs\TestRunner.proj

Julia or Maria found a problem where the running tests from visual studio
would not run with an error about duplicate entries in packages.config
file. I discovered that if you build in visual studio, delete the json 10.x
line from the packages.config file, and run the tests in visual studio, the
tests run fine in visual studio. This shows that visual studio is not
respecting the development dependency flag like msbuild does.

Since msbuild handles both the build and testing properly with json 10.x as
a development dependency, and running tests in visual studio is only be for
debugging purposes for which there is a work around until we upgrade all of
REEF to json 10.X when we go to the new project files, we should reverse
REEF-1832 that removed the json 10.x entry.

Doug


On Tue, Jul 18, 2017 at 2:08 PM, Markus Weimer <markus@weimo.de> wrote:

> The error with NewtonSoft JSON seems to originate in
> `AvroCodeGeneration.targets` line 136. The target `SetupAvroCodeGen`
> is run and it tries to copy `$(NewtonsoftLibrary)`. That variable is
> set in `Org.Apache.REEF.Bridge.CLR.csproj` line 34 to point to version
> 10.0.3 of the library, while only version 8.0.3 is installed.
>
> @Doug: Can you advise how to fix this? Just point this to 8.0.3
> doesn't work, right? Avro depends on version 10.x of JSON.
>
> Thanks,
>
> Markus
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message