Committed in r288393. Cheers, Hans
On Thu, Dec 1, 2016 at 9:22 AM, Hans Wennborg <h...@chromium.org> wrote: > 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