Looks good to me! Do you have commit access, or would you like me to commit it for you?
Thanks, Hans On Wed, Nov 30, 2016 at 8:10 PM, Antonio Maiorano <amaior...@gmail.com> wrote: > Updated version of patch attached with the changes you suggested. Let me > know if there's anything else you'd like. > > > On Tue, 29 Nov 2016 at 15:38 Hans Wennborg <h...@chromium.org> wrote: >> >> On Tue, Nov 29, 2016 at 12:01 PM, Antonio Maiorano <amaior...@gmail.com> >> wrote: >> > On Tue, 29 Nov 2016 at 13:42 Hans Wennborg <h...@chromium.org> wrote: >> >> >> >> Very nice! I've tried this out and confirmed that the built plugin >> >> also works with older Visual Studio versions. >> >> >> >> Some comments below: >> >> >> >> > --- /dev/null >> >> > +++ b/tools/clang-format-vs/.gitignore >> >> > @@ -0,0 +1,11 @@ >> >> > +# Visual Studio files >> >> > +.vs/ >> >> > +/packages/ >> >> > +/ClangFormat/obj/ >> >> > +/ClangFormat/bin/ >> >> >> >> Should there really be a leading slash in these paths? Same below. >> > >> > >> > Without the leading slash, then it would match "ClangFormat/obj" >> > anywhere in >> > the tree, rather than explicitly the one and only folder from the root. >> > In >> > this case, it wouldn't matter much. If you prefer, I could just ignore >> > "obj/" and "bin/", etc, although I'd rather be explicit for Key.snk, >> > license.txt, etc. >> >> Interesting. I was just comparing with LLVM's root .gitignore, which >> doesn't have leading slashes for many dirs. Checking the gitignore >> doc, it sounds like you've got it right :-) >> >> >> >> > +# Generated and copied files >> >> > +/ClangFormat/Key.snk >> >> > +/ClangFormat/license.txt >> >> > +/ClangFormat/clang-format.exe >> >> > +/ClangFormat/source.extension.vsixmanifest >> >> > diff --git a/tools/clang-format-vs/CMakeLists.txt >> >> > b/tools/clang-format-vs/CMakeLists.txt >> >> > index fd0d6b0..90f89d8 100644 >> >> > --- a/tools/clang-format-vs/CMakeLists.txt >> >> > +++ b/tools/clang-format-vs/CMakeLists.txt >> >> > @@ -18,8 +18,13 @@ if (BUILD_CLANG_FORMAT_VS_PLUGIN) >> >> > configure_file("source.extension.vsixmanifest.in" >> >> > >> >> > >> >> > "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat/source.extension.vsixmanifest") >> >> > >> >> > - add_custom_target(clang_format_vsix ALL >> >> > - devenv "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat.sln" /Build >> >> > Release >> >> > + find_program(NUGET_EXE nuget PATHS ${NUGET_EXE_PATH}) >> >> > + if (NOT NUGET_EXE) >> >> > + message(FATAL_ERROR "Could not find nuget.exe. Download from >> >> > https://www.nuget.org/nuget.exe and add to PATH or pass path via >> >> > NUGET_EXE_PATH var") >> >> >> >> Can you break this string over multiple lines? I know there are pretty >> >> long lines in this file already, but it would be good to not make it >> >> worse. >> > >> > >> > Sure thing, I'll see what I can do :) >> > >> >> >> >> >> >> Maybe it could be clarified that NUGET_EXE_PATH is the path to a >> >> directory containing nuget.exe, not to the file itself (I ran into >> >> this). Maybe NUGET_EXE_DIR would be a better name? >> > >> > >> > That would be a better name, will make that change. >> > >> >> >> >> >> >> > + endif() >> >> > + >> >> > + add_custom_target(clang_format_vsix ALL >> >> > + ${NUGET_EXE} restore "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat.sln" >> >> > & >> >> > devenv "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat.sln" /Build Release >> >> >> >> Is '&' a CMake thing, or should that be '&&'? Also, any chance of >> >> breaking these long lines? >> > >> > >> > '&' is a cmd.exe thing, but I can use '&&' - in fact, the latter only >> > runs >> > the 2nd command if the first succeeds, while using '&' always runs both. >> > I'll make the change, and will try to shorten this line as well. >> > >> >> >> >> >> >> > DEPENDS clang_format_exe_for_vsix >> >> > >> >> > "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat/source.extension.vsixmanifest" >> >> > COMMAND ${CMAKE_COMMAND} -E copy_if_different >> >> > >> >> > >> >> > "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat/bin/Release/ClangFormat.vsix" >> >> > diff --git a/tools/clang-format-vs/README.txt >> >> > b/tools/clang-format-vs/README.txt >> >> > index b23355d..44a071b 100644 >> >> > --- a/tools/clang-format-vs/README.txt >> >> > +++ b/tools/clang-format-vs/README.txt >> >> > @@ -2,13 +2,23 @@ This directory contains a VSPackage project to >> >> > generate a Visual Studio extensio >> >> > for clang-format. >> >> > >> >> > Build prerequisites are: >> >> > -- Visual Studio 2013 Professional >> >> > -- Visual Studio 2013 SDK >> >> > -- Visual Studio 2010 Professional (?) >> >> > -- Visual Studio 2010 SDK (?) >> >> > +- Visual Studio 2015 >> >> > +- Extensions SDK (you'll be prompted to install it if you open >> >> > ClangFormat.sln) >> >> >> >> A very nice simplification :-) >> > >> > >> > Thanks :) >> > >> >> >> >> >> >> > >> >> > -The extension is built using CMake by setting >> >> > BUILD_CLANG_FORMAT_VS_PLUGIN=ON >> >> > -when configuring a Clang build, and building the clang_format_vsix >> >> > target. >> >> > +The extension is built using CMake to generate the usual LLLVM.sln >> >> > by >> >> > setting >> >> >> >> An L too much in LLLVM.sln? >> > >> > >> > You know, that extra L in 'L'egendary LLVM? ;) Will remove! >> > >> > Will update patch soon! >> > >> >> >> >> >> >> On Mon, Nov 28, 2016 at 8:00 PM, Antonio Maiorano <amaior...@gmail.com> >> >> wrote: >> >> > I've attached a patch that works as discussed. When running CMake >> >> > with >> >> > -DBUILD_CLANG_FORMAT_VS_PLUGIN=ON, it will look for nuget.exe in >> >> > PATH, >> >> > or >> >> > you can pass in DNUGET_EXE_PATH=C:\nuget, for e.g. >> >> > >> >> > >> >> > On Mon, 28 Nov 2016 at 14:31 Antonio Maiorano <amaior...@gmail.com> >> >> > wrote: >> >> >> >> >> >> Great, I'll get this working soon and attach a new patch :) >> >> >> >> >> >> On Mon, 28 Nov 2016 at 14:27 Hans Wennborg <h...@chromium.org> >> >> >> wrote: >> >> >>> >> >> >>> On Mon, Nov 28, 2016 at 11:11 AM, Antonio Maiorano >> >> >>> <amaior...@gmail.com> >> >> >>> wrote: >> >> >>> >> It's built with the script in >> >> >>> >> utils/release/build_llvm_package.bat >> >> >>> > which I run manually on my machine once every few weeks. >> >> >>> > >> >> >>> > Okay, that's good news. So the simplest path to success would be >> >> >>> > to >> >> >>> > require >> >> >>> > the user to either pass the path to CMake via an arg like >> >> >>> > -DNUGET_EXE_PATH, >> >> >>> > or if it's not defined, to assume it's already in PATH. This is >> >> >>> > the >> >> >>> > most >> >> >>> > future-proof solution as it will work with future versions of VS >> >> >>> > (2017 >> >> >>> > RC >> >> >>> > just came out). >> >> >>> > >> >> >>> > I can still look into whether a vsix built with VS 2015 >> >> >>> > references >> >> >>> > will >> >> >>> > continue to work in older versions of VS, but even if this works, >> >> >>> > I >> >> >>> > feel >> >> >>> > like it's a temporary solution at best. There are other >> >> >>> > advantages >> >> >>> > to >> >> >>> > using >> >> >>> > NuGet here: it would allow us to more easily pin/upgrade which >> >> >>> > assemblies we >> >> >>> > want to use over time. >> >> >>> > >> >> >>> > If you're okay with it, I'll make the changes necessary to use >> >> >>> > -DNUGET_EXE_PATH, if defined, otherwise assume it's on PATH. This >> >> >>> > should be >> >> >>> > a simple change at this point. >> >> >>> >> >> >>> That sounds good to me. There are already a bunch of prerequisites >> >> >>> for >> >> >>> building the plugin, so adding this one doesn't seem unreasonable. >> >> >>> Especially since it seems it will simplify things to the point that >> >> >>> they might even work elsewhere than my own machine :-) >> >> >>> >> >> >>> >> >> >>> > On Mon, 28 Nov 2016 at 13:59 Hans Wennborg <h...@chromium.org> >> >> >>> > wrote: >> >> >>> >> >> >> >>> >> On Mon, Nov 28, 2016 at 10:46 AM, Antonio Maiorano >> >> >>> >> <amaior...@gmail.com> >> >> >>> >> wrote: >> >> >>> >> > Okay, I'll see if upgrading to the 2015 assemblies would allow >> >> >>> >> > the >> >> >>> >> > VSIX >> >> >>> >> > to >> >> >>> >> > keep working in older versions of VS. >> >> >>> >> > >> >> >>> >> > Still waiting on an answer to this question: >> >> >>> >> > >> >> >>> >> >> In either case, though, I must ask: how is the offical vsix >> >> >>> >> >> that's >> >> >>> >> >> available on http://llvm.org/builds/ get built? Is it part of >> >> >>> >> >> an >> >> >>> >> >> automated >> >> >>> >> >> Clang build, or is it built and uploaded manually? If it's >> >> >>> >> >> automated, >> >> >>> >> >> then >> >> >>> >> >> having to download and point to nuget.exe won't work. >> >> >>> >> >> >> >>> >> It's built with the script in >> >> >>> >> utils/release/build_llvm_package.bat >> >> >>> >> which I run manually on my machine once every few weeks. >> >> >>> >> >> >> >>> >> >> >> >>> >> > On Mon, 28 Nov 2016 at 13:04 Hans Wennborg <h...@chromium.org> >> >> >>> >> > wrote: >> >> >>> >> >> >> >> >>> >> >> On Fri, Nov 25, 2016 at 6:58 PM, Antonio Maiorano >> >> >>> >> >> <amaior...@gmail.com> >> >> >>> >> >> wrote: >> >> >>> >> >> > Ah, no, that's not what I meant. The required referenced >> >> >>> >> >> > assemblies >> >> >>> >> >> > are >> >> >>> >> >> > versions that are normally installed with VS 2010. >> >> >>> >> >> > >> >> >>> >> >> > The first time I worked on this, I had upgraded the >> >> >>> >> >> > referenced >> >> >>> >> >> > assemblies to >> >> >>> >> >> > the ones that ship with VS 2015, but then there was >> >> >>> >> >> > question >> >> >>> >> >> > of >> >> >>> >> >> > whether >> >> >>> >> >> > or >> >> >>> >> >> > not the VSIX would continue to work with VS 2010/2012/2013. >> >> >>> >> >> > I'm >> >> >>> >> >> > not >> >> >>> >> >> > sure >> >> >>> >> >> > if >> >> >>> >> >> > it would work, but I guess I can try to figure that out. >> >> >>> >> >> >> >> >>> >> >> Let me know if you figure this one out. It sounds like it >> >> >>> >> >> would >> >> >>> >> >> simplify things a lot. >> >> >>> >> >> >> >> >>> >> >> > In any case, what I discovered is that the "right" way to >> >> >>> >> >> > do >> >> >>> >> >> > things >> >> >>> >> >> > to >> >> >>> >> >> > make >> >> >>> >> >> > sure your extension compiles in future versions of VS is to >> >> >>> >> >> > use >> >> >>> >> >> > NuGet >> >> >>> >> >> > to >> >> >>> >> >> > automatically pull in the required assemblies, or to check >> >> >>> >> >> > them >> >> >>> >> >> > in >> >> >>> >> >> > and >> >> >>> >> >> > reference them directly. The former would be better except >> >> >>> >> >> > for >> >> >>> >> >> > the >> >> >>> >> >> > problem >> >> >>> >> >> > of CLI builds as I described in my earlier email. >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> >> > On Fri, 25 Nov 2016 at 21:47 Zachary Turner >> >> >>> >> >> > <ztur...@google.com> >> >> >>> >> >> > wrote: >> >> >>> >> >> >> >> >> >>> >> >> >> Sorry, i think I misunderstood the original option 1. I >> >> >>> >> >> >> interpreted >> >> >>> >> >> >> it >> >> >>> >> >> >> as >> >> >>> >> >> >> just committing changes to the vsix manifest to reference >> >> >>> >> >> >> a >> >> >>> >> >> >> specific >> >> >>> >> >> >> version >> >> >>> >> >> >> of the assembly which we assume to be present since it >> >> >>> >> >> >> should >> >> >>> >> >> >> be >> >> >>> >> >> >> automatically installed with vs 2015. Is this not >> >> >>> >> >> >> possible? >> >> >>> >> >> >> Can't we >> >> >>> >> >> >> just >> >> >>> >> >> >> point the manifest to the version installed with vs? >> >> >>> >> >> >> On Fri, Nov 25, 2016 at 6:20 PM Antonio Maiorano >> >> >>> >> >> >> <amaior...@gmail.com> >> >> >>> >> >> >> wrote: >> >> >>> >> >> >>> >> >> >>> >> >> >>> Hi again, >> >> >>> >> >> >>> >> >> >>> >> >> >>> I've made the changes so that the required assemblies are >> >> >>> >> >> >>> committed, >> >> >>> >> >> >>> so >> >> >>> >> >> >>> now we can build the clang-format-vsix with just VS 2015. >> >> >>> >> >> >>> Since >> >> >>> >> >> >>> the >> >> >>> >> >> >>> patch >> >> >>> >> >> >>> set is around 9 mb, I'm providing a link to it on my >> >> >>> >> >> >>> Dropbox >> >> >>> >> >> >>> (if >> >> >>> >> >> >>> you'd >> >> >>> >> >> >>> rather I attach it, let me know): >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> https://dl.dropboxusercontent.com/u/10504225/llvm-patches/0001-Fix-VS2015-build-of-clang-format-vsix-by-committing-.patch >> >> >>> >> >> >>> >> >> >>> >> >> >>> Note that it's a git patch set, for which I followed the >> >> >>> >> >> >>> instructions >> >> >>> >> >> >>> here. >> >> >>> >> >> >>> >> >> >>> >> >> >>> Thanks. >> >> >>> >> >> >>> >> >> >>> >> >> >>> On Thu, 24 Nov 2016 at 15:45 Antonio Maiorano >> >> >>> >> >> >>> <amaior...@gmail.com> >> >> >>> >> >> >>> wrote: >> >> >>> >> >> >>>> >> >> >>> >> >> >>>> Okay, that's fine, I'll go for that and if all looks >> >> >>> >> >> >>>> good, >> >> >>> >> >> >>>> will >> >> >>> >> >> >>>> attach a >> >> >>> >> >> >>>> patch. >> >> >>> >> >> >>>> >> >> >>> >> >> >>>> Thanks. >> >> >>> >> >> >>>> >> >> >>> >> >> >>>> On Thu, 24 Nov 2016 at 15:09 Zachary Turner >> >> >>> >> >> >>>> <ztur...@google.com> >> >> >>> >> >> >>>> wrote: >> >> >>> >> >> >>>>> >> >> >>> >> >> >>>>> I would use the first solution. We lock ourselves to >> >> >>> >> >> >>>>> specific >> >> >>> >> >> >>>>> versions >> >> >>> >> >> >>>>> of vs, so i think it's fine to do the same with the >> >> >>> >> >> >>>>> assemblies >> >> >>> >> >> >>>>> and >> >> >>> >> >> >>>>> deal with >> >> >>> >> >> >>>>> it only when we upgrade >> >> >>> >> >> >>>>> On Thu, Nov 24, 2016 at 11:29 AM Antonio Maiorano >> >> >>> >> >> >>>>> <amaior...@gmail.com> >> >> >>> >> >> >>>>> wrote: >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> Hi Hans, >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> I saw that on September 15th, you checked in a change: >> >> >>> >> >> >>>>>> clang-format >> >> >>> >> >> >>>>>> VS >> >> >>> >> >> >>>>>> plugin: upgrade the project files to VS2015. >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> When I open the latest version of ClangFormat.sln on a >> >> >>> >> >> >>>>>> machine >> >> >>> >> >> >>>>>> that >> >> >>> >> >> >>>>>> has only VS 2015, it doesn't build. The reason is that >> >> >>> >> >> >>>>>> some >> >> >>> >> >> >>>>>> of >> >> >>> >> >> >>>>>> the >> >> >>> >> >> >>>>>> referenced assemblies are from VS 2010. >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> <Reference >> >> >>> >> >> >>>>>> Include="Microsoft.VisualStudio.CoreUtility, >> >> >>> >> >> >>>>>> Version=10.0.0.0, Culture=neutral, >> >> >>> >> >> >>>>>> PublicKeyToken=b03f5f7f11d50a3a, >> >> >>> >> >> >>>>>> processorArchitecture=MSIL" /> <Reference >> >> >>> >> >> >>>>>> Include="Microsoft.VisualStudio.Editor, >> >> >>> >> >> >>>>>> Version=10.0.0.0, >> >> >>> >> >> >>>>>> Culture=neutral, >> >> >>> >> >> >>>>>> PublicKeyToken=b03f5f7f11d50a3a, >> >> >>> >> >> >>>>>> processorArchitecture=MSIL" >> >> >>> >> >> >>>>>> /> >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> What happens is that when building, these specific >> >> >>> >> >> >>>>>> assemblies >> >> >>> >> >> >>>>>> are >> >> >>> >> >> >>>>>> not >> >> >>> >> >> >>>>>> found. I suspect you have VS 2010 installed on your >> >> >>> >> >> >>>>>> machine, >> >> >>> >> >> >>>>>> which >> >> >>> >> >> >>>>>> is why >> >> >>> >> >> >>>>>> you don't get these build errors. >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> The recommended way to handle this is to make use of >> >> >>> >> >> >>>>>> NuGet >> >> >>> >> >> >>>>>> to >> >> >>> >> >> >>>>>> have >> >> >>> >> >> >>>>>> it >> >> >>> >> >> >>>>>> automatically download the required assemblies. I have >> >> >>> >> >> >>>>>> made >> >> >>> >> >> >>>>>> the >> >> >>> >> >> >>>>>> changes >> >> >>> >> >> >>>>>> locally to get this working, and it works great when >> >> >>> >> >> >>>>>> building >> >> >>> >> >> >>>>>> ClangFormat.sln from within Visual Studio; however, >> >> >>> >> >> >>>>>> building >> >> >>> >> >> >>>>>> from >> >> >>> >> >> >>>>>> the CLI >> >> >>> >> >> >>>>>> doesn't work out of the box because you must >> >> >>> >> >> >>>>>> explicitly >> >> >>> >> >> >>>>>> run >> >> >>> >> >> >>>>>> 'nuget.exe >> >> >>> >> >> >>>>>> restore ClangFormat.sln' before running msbuild (or >> >> >>> >> >> >>>>>> devenv.exe >> >> >>> >> >> >>>>>> in >> >> >>> >> >> >>>>>> our case). >> >> >>> >> >> >>>>>> The problem is that nuget.exe isn't something that's >> >> >>> >> >> >>>>>> easily >> >> >>> >> >> >>>>>> found/accessible >> >> >>> >> >> >>>>>> on Windows, even once installed as an extension in VS. >> >> >>> >> >> >>>>>> This >> >> >>> >> >> >>>>>> is a >> >> >>> >> >> >>>>>> known >> >> >>> >> >> >>>>>> problem and the current best solution requires >> >> >>> >> >> >>>>>> downloading >> >> >>> >> >> >>>>>> and >> >> >>> >> >> >>>>>> making >> >> >>> >> >> >>>>>> nuget.exe available in PATH. >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> So now i'm faced with figuring out how best to solve >> >> >>> >> >> >>>>>> this >> >> >>> >> >> >>>>>> so >> >> >>> >> >> >>>>>> that >> >> >>> >> >> >>>>>> the >> >> >>> >> >> >>>>>> custom build step in this CMakeLists.txt that runs >> >> >>> >> >> >>>>>> devenv >> >> >>> >> >> >>>>>> doesn't >> >> >>> >> >> >>>>>> fail: >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> devenv "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat.sln" >> >> >>> >> >> >>>>>> /Build >> >> >>> >> >> >>>>>> Release >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> There are a few options: >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> 1) Forget NuGet and just commit the referenced >> >> >>> >> >> >>>>>> assemblies. >> >> >>> >> >> >>>>>> This >> >> >>> >> >> >>>>>> is >> >> >>> >> >> >>>>>> the >> >> >>> >> >> >>>>>> simplest solution, but is more annoying to manage if >> >> >>> >> >> >>>>>> we >> >> >>> >> >> >>>>>> want >> >> >>> >> >> >>>>>> to >> >> >>> >> >> >>>>>> upgrade the >> >> >>> >> >> >>>>>> versions of these assemblies later. >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> 2) Commit nuget.exe to the repo and just use it. This >> >> >>> >> >> >>>>>> is >> >> >>> >> >> >>>>>> simple >> >> >>> >> >> >>>>>> enough, but I'm not sure how people feel about >> >> >>> >> >> >>>>>> committing >> >> >>> >> >> >>>>>> binaries, >> >> >>> >> >> >>>>>> and it >> >> >>> >> >> >>>>>> would be frozen at whatever version we commit. >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> 3) Do some form of wget to grab the latest nuget.exe >> >> >>> >> >> >>>>>> from >> >> >>> >> >> >>>>>> "https://nuget.org/nuget.exe" in CMake and invoke it. >> >> >>> >> >> >>>>>> I'm >> >> >>> >> >> >>>>>> not >> >> >>> >> >> >>>>>> yet >> >> >>> >> >> >>>>>> sure >> >> >>> >> >> >>>>>> what's the simplest way to do this. Powershell could >> >> >>> >> >> >>>>>> be >> >> >>> >> >> >>>>>> used, >> >> >>> >> >> >>>>>> but >> >> >>> >> >> >>>>>> there are >> >> >>> >> >> >>>>>> security annoyances to deal with. >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> That's all I can come up with so far. Would love to >> >> >>> >> >> >>>>>> hear >> >> >>> >> >> >>>>>> from >> >> >>> >> >> >>>>>> you >> >> >>> >> >> >>>>>> guys >> >> >>> >> >> >>>>>> if you have any ideas or opinions on this. If you want >> >> >>> >> >> >>>>>> I >> >> >>> >> >> >>>>>> can >> >> >>> >> >> >>>>>> send >> >> >>> >> >> >>>>>> you a >> >> >>> >> >> >>>>>> patch of what I've got so far if that helps. >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> Thanks, >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> Antonio Maiorano >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> >> >> >>> >> >> >>>>>> On Thu, 15 Sep 2016 at 19:35 Antonio Maiorano >> >> >>> >> >> >>>>>> <amaior...@gmail.com> >> >> >>> >> >> >>>>>> wrote: >> >> >>> >> >> >>>>>>> >> >> >>> >> >> >>>>>>> Sorry I haven't had a chance to get back to this. >> >> >>> >> >> >>>>>>> Things >> >> >>> >> >> >>>>>>> got >> >> >>> >> >> >>>>>>> busy >> >> >>> >> >> >>>>>>> at >> >> >>> >> >> >>>>>>> work. I do plan to get back to this as I'm hoping to >> >> >>> >> >> >>>>>>> add >> >> >>> >> >> >>>>>>> some >> >> >>> >> >> >>>>>>> features to >> >> >>> >> >> >>>>>>> this extension :) >> >> >>> >> >> >>>>>>> On Thu, Sep 15, 2016 at 7:31 PM Zachary Turner >> >> >>> >> >> >>>>>>> <ztur...@google.com> >> >> >>> >> >> >>>>>>> wrote: >> >> >>> >> >> >>>>>>>> >> >> >>> >> >> >>>>>>>> Strange. FWIW you can dump all the variables that >> >> >>> >> >> >>>>>>>> are >> >> >>> >> >> >>>>>>>> present >> >> >>> >> >> >>>>>>>> in >> >> >>> >> >> >>>>>>>> your environment. You need to go to Tools -> >> >> >>> >> >> >>>>>>>> Options >> >> >>> >> >> >>>>>>>> -> >> >> >>> >> >> >>>>>>>> Projects >> >> >>> >> >> >>>>>>>> and >> >> >>> >> >> >>>>>>>> Solutions -> Build and Run and choose either Normal, >> >> >>> >> >> >>>>>>>> Detailed, >> >> >>> >> >> >>>>>>>> or >> >> >>> >> >> >>>>>>>> Diagnostic >> >> >>> >> >> >>>>>>>> for the MSBuild project build output verbosity. >> >> >>> >> >> >>>>>>>> Then >> >> >>> >> >> >>>>>>>> in >> >> >>> >> >> >>>>>>>> the >> >> >>> >> >> >>>>>>>> output window >> >> >>> >> >> >>>>>>>> you will get a ton of spam, some of which is the set >> >> >>> >> >> >>>>>>>> of >> >> >>> >> >> >>>>>>>> all >> >> >>> >> >> >>>>>>>> MSBuild >> >> >>> >> >> >>>>>>>> variables you can take advantage of. >> >> >>> >> >> >>>>>>>> >> >> >>> >> >> >>>>>>>> On Thu, Sep 15, 2016 at 4:25 PM Hans Wennborg >> >> >>> >> >> >>>>>>>> <h...@chromium.org> >> >> >>> >> >> >>>>>>>> wrote: >> >> >>> >> >> >>>>>>>>> >> >> >>> >> >> >>>>>>>>> When I first opened the solution in VS it prompted >> >> >>> >> >> >>>>>>>>> me >> >> >>> >> >> >>>>>>>>> to >> >> >>> >> >> >>>>>>>>> install >> >> >>> >> >> >>>>>>>>> it >> >> >>> >> >> >>>>>>>>> and I did. >> >> >>> >> >> >>>>>>>>> >> >> >>> >> >> >>>>>>>>> On Thu, Sep 15, 2016 at 4:17 PM, Zachary Turner >> >> >>> >> >> >>>>>>>>> <ztur...@google.com> wrote: >> >> >>> >> >> >>>>>>>>> > You may need to install the Visual Studio SDK. >> >> >>> >> >> >>>>>>>>> > Did >> >> >>> >> >> >>>>>>>>> > you >> >> >>> >> >> >>>>>>>>> > do >> >> >>> >> >> >>>>>>>>> > that >> >> >>> >> >> >>>>>>>>> > when you >> >> >>> >> >> >>>>>>>>> > initially installed VS 2015? >> >> >>> >> >> >>>>>>>>> > >> >> >>> >> >> >>>>>>>>> > On Thu, Sep 15, 2016 at 4:15 PM Hans Wennborg >> >> >>> >> >> >>>>>>>>> > <h...@chromium.org> >> >> >>> >> >> >>>>>>>>> > wrote: >> >> >>> >> >> >>>>>>>>> >> >> >> >>> >> >> >>>>>>>>> >> Well, on my machine $(SDKToolsDir) doesn't work >> >> >>> >> >> >>>>>>>>> >> :-( >> >> >>> >> >> >>>>>>>>> >> I >> >> >>> >> >> >>>>>>>>> >> suspect >> >> >>> >> >> >>>>>>>>> >> the file >> >> >>> >> >> >>>>>>>>> >> will need manual tweaking by whoever is trying >> >> >>> >> >> >>>>>>>>> >> to >> >> >>> >> >> >>>>>>>>> >> build >> >> >>> >> >> >>>>>>>>> >> the >> >> >>> >> >> >>>>>>>>> >> plugin. >> >> >>> >> >> >>>>>>>>> >> >> >> >>> >> >> >>>>>>>>> >> Anyway, I've updated the solution to build with >> >> >>> >> >> >>>>>>>>> >> VS2015 >> >> >>> >> >> >>>>>>>>> >> in >> >> >>> >> >> >>>>>>>>> >> r281648 and >> >> >>> >> >> >>>>>>>>> >> confirmed that it can still be used with older >> >> >>> >> >> >>>>>>>>> >> VS >> >> >>> >> >> >>>>>>>>> >> versions >> >> >>> >> >> >>>>>>>>> >> too. >> >> >>> >> >> >>>>>>>>> >> >> >> >>> >> >> >>>>>>>>> >> Cheers, >> >> >>> >> >> >>>>>>>>> >> Hans >> >> >>> >> >> >>>>>>>>> >> >> >> >>> >> >> >>>>>>>>> >> On Thu, Aug 18, 2016 at 7:11 PM, Zachary Turner >> >> >>> >> >> >>>>>>>>> >> <ztur...@google.com> >> >> >>> >> >> >>>>>>>>> >> wrote: >> >> >>> >> >> >>>>>>>>> >> > The key.snk is generated when you build, the >> >> >>> >> >> >>>>>>>>> >> > problem >> >> >>> >> >> >>>>>>>>> >> > is >> >> >>> >> >> >>>>>>>>> >> > the >> >> >>> >> >> >>>>>>>>> >> > csproj file >> >> >>> >> >> >>>>>>>>> >> > hardcodes the directory to the sdk instead of >> >> >>> >> >> >>>>>>>>> >> > using >> >> >>> >> >> >>>>>>>>> >> > the >> >> >>> >> >> >>>>>>>>> >> > appropriate >> >> >>> >> >> >>>>>>>>> >> > project >> >> >>> >> >> >>>>>>>>> >> > system variable like $(SDKToolsDir) >> >> >>> >> >> >>>>>>>>> >> > >> >> >>> >> >> >>>>>>>>> >> > On Thu, Aug 18, 2016 at 7:09 PM Zachary Turner >> >> >>> >> >> >>>>>>>>> >> > <ztur...@google.com> >> >> >>> >> >> >>>>>>>>> >> > wrote: >> >> >>> >> >> >>>>>>>>> >> >> >> >> >>> >> >> >>>>>>>>> >> >> Llvm doesn't support vs2012 anymore, as long >> >> >>> >> >> >>>>>>>>> >> >> as >> >> >>> >> >> >>>>>>>>> >> >> it >> >> >>> >> >> >>>>>>>>> >> >> supports >> >> >>> >> >> >>>>>>>>> >> >> vs2013 it's >> >> >>> >> >> >>>>>>>>> >> >> fine >> >> >>> >> >> >>>>>>>>> >> >> On Thu, Aug 18, 2016 at 7:07 PM Antonio >> >> >>> >> >> >>>>>>>>> >> >> Maiorano >> >> >>> >> >> >>>>>>>>> >> >> <amaior...@gmail.com> >> >> >>> >> >> >>>>>>>>> >> >> wrote: >> >> >>> >> >> >>>>>>>>> >> >>> >> >> >>> >> >> >>>>>>>>> >> >>> Hi, >> >> >>> >> >> >>>>>>>>> >> >>> >> >> >>> >> >> >>>>>>>>> >> >>> What I meant by upgrade was simply making it >> >> >>> >> >> >>>>>>>>> >> >>> build >> >> >>> >> >> >>>>>>>>> >> >>> in >> >> >>> >> >> >>>>>>>>> >> >>> VS >> >> >>> >> >> >>>>>>>>> >> >>> 2015. >> >> >>> >> >> >>>>>>>>> >> >>> However, >> >> >>> >> >> >>>>>>>>> >> >>> you bring up a valid point about making sure >> >> >>> >> >> >>>>>>>>> >> >>> the >> >> >>> >> >> >>>>>>>>> >> >>> extension >> >> >>> >> >> >>>>>>>>> >> >>> will >> >> >>> >> >> >>>>>>>>> >> >>> continue to >> >> >>> >> >> >>>>>>>>> >> >>> work in VS 2012. I will look into that. Like >> >> >>> >> >> >>>>>>>>> >> >>> those >> >> >>> >> >> >>>>>>>>> >> >>> references that go >> >> >>> >> >> >>>>>>>>> >> >>> from >> >> >>> >> >> >>>>>>>>> >> >>> 10 to 14 that point out; I wonder if instead >> >> >>> >> >> >>>>>>>>> >> >>> I >> >> >>> >> >> >>>>>>>>> >> >>> should >> >> >>> >> >> >>>>>>>>> >> >>> be >> >> >>> >> >> >>>>>>>>> >> >>> able to bring >> >> >>> >> >> >>>>>>>>> >> >>> in >> >> >>> >> >> >>>>>>>>> >> >>> those version 10 assemblies via NuGet. I'll >> >> >>> >> >> >>>>>>>>> >> >>> take a >> >> >>> >> >> >>>>>>>>> >> >>> closer >> >> >>> >> >> >>>>>>>>> >> >>> look. >> >> >>> >> >> >>>>>>>>> >> >>> >> >> >>> >> >> >>>>>>>>> >> >>> Part of my change, however, seems to imply >> >> >>> >> >> >>>>>>>>> >> >>> that >> >> >>> >> >> >>>>>>>>> >> >>> the >> >> >>> >> >> >>>>>>>>> >> >>> extension (vsix) >> >> >>> >> >> >>>>>>>>> >> >>> project would not build correctly even in VS >> >> >>> >> >> >>>>>>>>> >> >>> 2012. >> >> >>> >> >> >>>>>>>>> >> >>> For >> >> >>> >> >> >>>>>>>>> >> >>> instance, the >> >> >>> >> >> >>>>>>>>> >> >>> missing >> >> >>> >> >> >>>>>>>>> >> >>> Key.snk file. I don't have VS 2012 installed >> >> >>> >> >> >>>>>>>>> >> >>> at >> >> >>> >> >> >>>>>>>>> >> >>> the >> >> >>> >> >> >>>>>>>>> >> >>> moment, >> >> >>> >> >> >>>>>>>>> >> >>> so I >> >> >>> >> >> >>>>>>>>> >> >>> cannot >> >> >>> >> >> >>>>>>>>> >> >>> validate. >> >> >>> >> >> >>>>>>>>> >> >>> >> >> >>> >> >> >>>>>>>>> >> >>> Thanks, >> >> >>> >> >> >>>>>>>>> >> >>> >> >> >>> >> >> >>>>>>>>> >> >>> Antonio >> >> >>> >> >> >>>>>>>>> >> >>> >> >> >>> >> >> >>>>>>>>> >> >>> >> >> >>> >> >> >>>>>>>>> >> >>> >> >> >>> >> >> >>>>>>>>> >> >>> On Thu, 18 Aug 2016 at 19:38 Hans Wennborg >> >> >>> >> >> >>>>>>>>> >> >>> <h...@chromium.org> wrote: >> >> >>> >> >> >>>>>>>>> >> >>>> >> >> >>> >> >> >>>>>>>>> >> >>>> Hi Antonio, >> >> >>> >> >> >>>>>>>>> >> >>>> >> >> >>> >> >> >>>>>>>>> >> >>>> On Wed, Aug 17, 2016 at 8:15 AM, Antonio >> >> >>> >> >> >>>>>>>>> >> >>>> Maiorano >> >> >>> >> >> >>>>>>>>> >> >>>> via >> >> >>> >> >> >>>>>>>>> >> >>>> cfe-commits >> >> >>> >> >> >>>>>>>>> >> >>>> <cfe-commits@lists.llvm.org> wrote: >> >> >>> >> >> >>>>>>>>> >> >>>> > This patch for clang-format-vs includes >> >> >>> >> >> >>>>>>>>> >> >>>> > the >> >> >>> >> >> >>>>>>>>> >> >>>> > following: >> >> >>> >> >> >>>>>>>>> >> >>>> > >> >> >>> >> >> >>>>>>>>> >> >>>> > - Upgrade to VS 2015, including .NET >> >> >>> >> >> >>>>>>>>> >> >>>> > framework >> >> >>> >> >> >>>>>>>>> >> >>>> > upgrade >> >> >>> >> >> >>>>>>>>> >> >>>> > from 4.0 to >> >> >>> >> >> >>>>>>>>> >> >>>> > 4.5, and >> >> >>> >> >> >>>>>>>>> >> >>>> > upgrading Microsoft.VisualStudio >> >> >>> >> >> >>>>>>>>> >> >>>> > references >> >> >>> >> >> >>>>>>>>> >> >>>> > to >> >> >>> >> >> >>>>>>>>> >> >>>> > v14 >> >> >>> >> >> >>>>>>>>> >> >>>> > versions >> >> >>> >> >> >>>>>>>>> >> >>>> > - Fix build by removing dependency on >> >> >>> >> >> >>>>>>>>> >> >>>> > "Key.snk" >> >> >>> >> >> >>>>>>>>> >> >>>> > file >> >> >>> >> >> >>>>>>>>> >> >>>> > which was >> >> >>> >> >> >>>>>>>>> >> >>>> > never >> >> >>> >> >> >>>>>>>>> >> >>>> > checked >> >> >>> >> >> >>>>>>>>> >> >>>> > in (and not really required anyway) >> >> >>> >> >> >>>>>>>>> >> >>>> > - Add ".vs" directory to svn ignore (new >> >> >>> >> >> >>>>>>>>> >> >>>> > folder >> >> >>> >> >> >>>>>>>>> >> >>>> > that >> >> >>> >> >> >>>>>>>>> >> >>>> > VS >> >> >>> >> >> >>>>>>>>> >> >>>> > 2015 >> >> >>> >> >> >>>>>>>>> >> >>>> > creates >> >> >>> >> >> >>>>>>>>> >> >>>> > for >> >> >>> >> >> >>>>>>>>> >> >>>> > user settings) >> >> >>> >> >> >>>>>>>>> >> >>>> >> >> >>> >> >> >>>>>>>>> >> >>>> "What does "Upgrade to VS 2015 mean? Adding >> >> >>> >> >> >>>>>>>>> >> >>>> support >> >> >>> >> >> >>>>>>>>> >> >>>> for >> >> >>> >> >> >>>>>>>>> >> >>>> running the >> >> >>> >> >> >>>>>>>>> >> >>>> plugin in VS2015, or does it mean requiring >> >> >>> >> >> >>>>>>>>> >> >>>> VS2015 >> >> >>> >> >> >>>>>>>>> >> >>>> for >> >> >>> >> >> >>>>>>>>> >> >>>> building? >> >> >>> >> >> >>>>>>>>> >> >>>> >> >> >>> >> >> >>>>>>>>> >> >>>> +zturner: I thought the plugin already >> >> >>> >> >> >>>>>>>>> >> >>>> worked >> >> >>> >> >> >>>>>>>>> >> >>>> in >> >> >>> >> >> >>>>>>>>> >> >>>> VS >> >> >>> >> >> >>>>>>>>> >> >>>> 2015? >> >> >>> >> >> >>>>>>>>> >> >>>> >> >> >>> >> >> >>>>>>>>> >> >>>> I mostly just build the plugin without >> >> >>> >> >> >>>>>>>>> >> >>>> knowing >> >> >>> >> >> >>>>>>>>> >> >>>> exactly >> >> >>> >> >> >>>>>>>>> >> >>>> how >> >> >>> >> >> >>>>>>>>> >> >>>> this stuff >> >> >>> >> >> >>>>>>>>> >> >>>> works, but looking at the patch I'm worried >> >> >>> >> >> >>>>>>>>> >> >>>> that >> >> >>> >> >> >>>>>>>>> >> >>>> you're >> >> >>> >> >> >>>>>>>>> >> >>>> increasing >> >> >>> >> >> >>>>>>>>> >> >>>> the >> >> >>> >> >> >>>>>>>>> >> >>>> required version for building it? I see a >> >> >>> >> >> >>>>>>>>> >> >>>> bunch >> >> >>> >> >> >>>>>>>>> >> >>>> of >> >> >>> >> >> >>>>>>>>> >> >>>> values >> >> >>> >> >> >>>>>>>>> >> >>>> going from >> >> >>> >> >> >>>>>>>>> >> >>>> 10 (VS 2012) to 14 (VS 2015). >> >> >>> >> >> >>>>>>>>> >> >>>> >> >> >>> >> >> >>>>>>>>> >> >>>> Thanks, >> >> >>> >> >> >>>>>>>>> >> >>>> Hans _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits