New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REEF-743] Convert project files to Visual Studio 2015 #873

Closed
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
4 participants
@markusweimer
Copy link
Contributor

markusweimer commented Mar 3, 2016

This converts Org.Apache.REEF.Bridge.vcxproj to Visual Studio 2015 format.

This also adds a new solution Org.Apache.REEF.VS2013.sln as well as a new
Org.Apache.REEF.Bridge.VS2013.vcxproj for users of that version of Visual
Studio.

JIRA:
REEF-743

@markusweimer markusweimer force-pushed the markusweimer:REEF-743 branch from e0136bd to 6110db5 Mar 8, 2016

@markusweimer

This comment has been minimized.

Copy link
Contributor Author

markusweimer commented Mar 8, 2016

I rebased and force-pushed this.

@tcNickolas

This comment has been minimized.

Copy link
Member

tcNickolas commented Mar 11, 2016

I try to open O.A.R.VS2013.sln with VS 2013, and build fails:

Error   7   Invalid Resx file. Could not find a part of the path 'C:\reef\lang\cs\bin\x64\Debug\Org.Apache.REEF.Bridge\Org.Apache.REEF.Bridge.exe'. Line 79, position 5.    C:\reef\lang\cs\bin\x64\Debug\Org.Apache.REEF.Client\Resources.resx 79  5   Org.Apache.REEF.Client

(followed by a bunch of "Metadata file could not be found", which I think are caused by failures to build earlier dlls)

The machine also has VS 2015 installed, if that is important.

@tcNickolas

This comment has been minimized.

Copy link
Member

tcNickolas commented Mar 11, 2016

Same machine, when I try to run

msbuild .\lang\cs\Org.Apache.REEF.VS2013.sln /p:Configuration="Debug" /p:Platform="x64" /m

with build tools for v120 (the same VS 2013 setup I'm using for builds now), it fails

   "C:\reef\lang\cs\Org.Apache.REEF.VS2013.sln" (default target) (1) ->
   "C:\reef\lang\cs\Org.Apache.REEF.IO.TestClient\Org.Apache.REEF.IO.TestClient.csproj" (default target) (17) ->
   "C:\reef\lang\cs\Org.Apache.REEF.Bridge\Org.Apache.REEF.Bridge.vcxproj" (default target) (34) ->
   (PlatformPrepareForBuild target) ->
     C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets(64,5): error MSB8020: Th
   e build tools for v140 (Platform Toolset = 'v140') cannot be found. To build using the v140 build tools, please
   install v140 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Pr
   oject menu or right-click the solution, and then selecting "Upgrade Solution...". [C:\reef\lang\cs\Org.Apache.RE
   EF.Bridge\Org.Apache.REEF.Bridge.vcxproj]
@markusweimer

This comment has been minimized.

Copy link
Contributor Author

markusweimer commented Mar 11, 2016

Looking into it.

@markusweimer markusweimer force-pushed the markusweimer:REEF-743 branch from 6110db5 to 39ded87 Mar 11, 2016

@markusweimer

This comment has been minimized.

Copy link
Contributor Author

markusweimer commented Mar 11, 2016

@tcNickolas I removed the .VS2013. files in the last commit. I believe the VS2015 files can be compiled from the command line via:

msbuild .\lang\cs\Org.Apache.REEF.sln /p:Configuration="Debug" /p:Platform="x64" /p:PlatformToolse
t=v120 /m /tv:12.0

Can you give that a shot? Next step would be to somehow make VS 2013 call msbuild this way.

@tcNickolas

This comment has been minimized.

Copy link
Member

tcNickolas commented Mar 11, 2016

These parameters seem to work for command-line set up for VS 2013, and this change works with normal build command for VS 2015 (both from command-line and VS itself).

@markusweimer

This comment has been minimized.

Copy link
Contributor Author

markusweimer commented Mar 11, 2016

Yay! I am working on automating this now.

@markusweimer

This comment has been minimized.

Copy link
Contributor Author

markusweimer commented Mar 12, 2016

@tcNickolas I removed one command line parameter, and it works for me via:

msbuild .\lang\cs\Org.Apache.REEF.sln /p:Configuration="Debug" /p:Platform="x64" /m /tv:12.0

Can you confirm?

@markusweimer markusweimer force-pushed the markusweimer:REEF-743 branch from 97a12fb to 3bce303 Mar 12, 2016

@markusweimer

This comment has been minimized.

Copy link
Contributor Author

markusweimer commented Mar 12, 2016

I've replaced the commit in here with a new one that makes the solution compile on both VS 2013 and VS 2015 for me. We need to test this in a couple of environments:

  • A machine with both VS 2013 and 2015 installed. @tcNickolas can you do that?
  • A machine with only VS 2013 installed. @shulmanb Can you do that?
  • A machine with only VS 2015 installed. I can do that.
@markusweimer

This comment has been minimized.

Copy link
Contributor Author

markusweimer commented Mar 12, 2016

I just tried on a machine with only VS 2015. Builds worked on both the command line and within VS.

@tcNickolas

This comment has been minimized.

Copy link
Member

tcNickolas commented Mar 12, 2016

Build works for me both for VS 2015 and 2013, both from VS and from command-line.

@markusweimer

This comment has been minimized.

Copy link
Contributor Author

markusweimer commented Mar 12, 2016

Excellent! All we need now is confirmation that this works for machines with only Visual Studio 2013 installed. @shulmanb, can you test that?

@shulmanb

This comment has been minimized.

Copy link
Contributor

shulmanb commented Mar 13, 2016

Will do that on Monday.

-----Original Message-----
From: "Markus Weimer" notifications@github.com
Sent: ‎3/‎12/‎2016 3:56 PM
To: "apache/reef" reef@noreply.github.com
Cc: "Boris Shulman" shulmanb@gmail.com
Subject: Re: [reef] [REEF-743] Convert project files to Visual Studio 2015(#873)

Excellent! All we need now is confirmation that this works for machines with only Visual Studio 2013 installed. @shulmanb, can you test that?

Reply to this email directly or view it on GitHub.

@jwang98052

This comment has been minimized.

Copy link
Contributor

jwang98052 commented Mar 14, 2016

I tried it with the machine which has only VS 2013 installed, both build and test are passed.

Must install maven 3.3.x though. That is required by the latest change for build script, not related to VS 2015.

@tcNickolas

This comment has been minimized.

Copy link
Member

tcNickolas commented Mar 14, 2016

Oh, I thought our build instructions at https://cwiki.apache.org/confluence/display/REEF/Compiling+REEF require 3.3, but they're actually "3 or newer". 3.2 and older don't support some of the switches I used. We should update build instructions with REEF-1254

@markusweimer

This comment has been minimized.

Copy link
Contributor Author

markusweimer commented Mar 14, 2016

Thanks, @jwang98052! Can we go ahead and merge this, then?

@markusweimer

This comment has been minimized.

Copy link
Contributor Author

markusweimer commented Mar 14, 2016

Actually, hold off for a bit. I'd like to update the README.md with the new information

Markus Weimer
[REEF-743] Convert project files to Visual Studio 2015
  This adds conditionals to `Org.Apache.REEF.Bridge.vcxproj` to switch the
  `PlatformToolset` based on the version of Visual Studio. This allows the
  same .sln to be compiled on Visual Studio 2013 and 2015.

  This also updates README.md with the build instructions for VS 2015.

JIRA:
  [REEF-743](https://issues.apache.org/jira/browse/REEF-743)

Pull Request:
  This closes #

@markusweimer markusweimer force-pushed the markusweimer:REEF-743 branch from 1bda8fc to 7f56fdd Mar 14, 2016

@markusweimer

This comment has been minimized.

Copy link
Contributor Author

markusweimer commented Mar 14, 2016

Rebased and squashed.

@shulmanb

This comment has been minimized.

Copy link
Contributor

shulmanb commented Mar 15, 2016

@markusweimer Builds fine for me

@tcNickolas

This comment has been minimized.

Copy link
Member

tcNickolas commented Mar 15, 2016

No concerns raised, so I'll do one last test and merge.

@tcNickolas

This comment has been minimized.

Copy link
Member

tcNickolas commented Mar 15, 2016

I'll also add restriction about Maven 3.3 or newer, while we're at editing our README.

@asfgit asfgit closed this in 061f662 Mar 15, 2016

@markusweimer markusweimer deleted the markusweimer:REEF-743 branch Mar 15, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment