Visual Studio 2017 Support

Thanks to GH 753, I have been able to begin integrating Gradle into our code-bases with native code. We are talking about moving to VS 2017 now that it is out, and I am wondering if the priority of supporting VS 2017 has changed since it was last discussed in GH 873.

Does anyone know if support for VS 2017 is on the near-term roadmap?

1 Like

Thanks @Kevin2 for this question. We haven’t started looking into VS 2017 support and we can’t give an ETA for it at the present moment. Given the registry technique for discovering VS installation is now deprecated and the on-disk layout changed, we would need a bit of refactoring to happen before we can support this new version. We also need to update our infrastructure to support testing against VS2017. We welcome your effort if you want to help with a community PR.

Sorry for bringing up an old topic. We would love to see support for VS 2017 in Gradle! Are there any news on whether this is on the roadmap? I understand that the disk layout has changed significantly and that this requires some refactoring. I’m hoping that it’s mostly a matter of locating the VS installation and determining the correct paths. Do you know if there are other significant changes that need to be made?

I just discovered that with Visual Studio 2017 version 15.2 and later, Microsoft distributes a tool, “vswhere”, which greatly simplifies detection of the VS installation. See here for more details: https://github.com/Microsoft/vswhere

Thanks a lot @clindequist for the information and the question. This work will start soon. How soon? I don’t know for sure, but it’s a matter of approximately 1-2 months. We will most likely use vswhere to detect VS2017 starting with version 15.2. Follow the gradle-native GitHub board to stay up-to-date with the latest development.

That’s great @Daniel_L! I’ve been tracking this in Gradle as well as Rust. Rust recently just solved it. Maybe their PR (in terms of the details that they used to find VS2017’s location) can help the work done in Gradle. For you own reference, the link to Rust’s PR is: https://github.com/alexcrichton/gcc-rs/pull/160.