> On 26/nov/2013, at 08:10, "Ben Pfaff" <b...@nicira.com> wrote: > > Since you're OK with manual updates, I'm happy in principle with having > IDE-related files in the repository as long as they are not unreasonably > large. But there's something weird going on. Why would special files > would be needed for syntax highlighting or Git integration or even > integrated debugging? Other editors and IDEs manage these features > without special files (I often use these features in Emacs). >
Visual Studio unfortunately does not work with Makefiles, nor it's able to import a project from them. It can run a Makefile based project, but that's almost useless. > So: are you really talking about an alternate build system? I really > don't want two build systems around because that will inevitably cause > trouble, e.g. when we add new tests to configure.ac that add new > config.h macros, for example. I also doubt that generating the > testsuite is going to work gracefully. > We can leave the tests in configure.ac. Although Visual Studio provides testing tools that help a lot in debugging issues encountered during testing, we can IMO skip those for the benefits of a single multi platform testing framework. This will also rule out issues with the "alternative" Visual Studio builds. > I guess by "CI gate" you mean something preventing checking into the > repository until basic tests pass? We haven't implemented anything like > that, yet. We expect developers to run "make check" before applying > commits. On a normal dev box (such as the 2-year-old laptop I'm typing > this on) this takes under a minute. It isn't really practical to expect > a dev to do this on multiple OSes, though, so we'd need something more > sophisticated if we were to attempt this for Windows. > Are you familiar by any chance with how Gerrit / Jenkins / SmokeStack work on OpenStack? In a nutshell, the basic idea is that a developer submits a patchset for review with a git extension to Gerrit which in turn executes the unit and integration tests on a temporary git branch with that patchset applied. The result is a +1 / -1 vote. This can be done on multiple platforms (Linux, Windows, etc), by using for example OpenStack to spin up a VM for each run. Peer review takes typically place at this point and if the patch is reviewed positively and approved, another run of unit / integration tests is performed to rule out rebasing issues. If the outcome is positive, the code is merged in the target git branch. Gerrit provides lots of additional advantages including a web site that eases up the review process providing visual patchset diffs, comments on the code lines, etc. >> On Tue, Nov 26, 2013 at 01:55:32AM +0000, Alessandro Pilotti wrote: >> Of course I do. :-) >> >> A CI gate might be very helpful for this purpose as a further step to >> keep those files aligned by avoiding regressions IMO but for the time >> being we'd perfectly fine with manual updates. >> >>> On 26/nov/2013, at 03:19, "Ben Pfaff" <b...@nicira.com> wrote: >>> >>> You realize that no one else is going to update them, right? >>> >>>> On Tue, Nov 26, 2013 at 12:03:02AM +0000, Alessandro Pilotti wrote: >>>> What if we simply add a folder with the Visual Studio build files to begin >>>> with? >>>> >>>>> On 26/nov/2013, at 01:29, "Ben Pfaff" <b...@nicira.com> wrote: >>>>> >>>>> We're not switching to CMake. If you have something to generate the >>>>> XML files you need, we'll check that in. >>>>> >>>>>> On Mon, Nov 25, 2013 at 11:23:37PM +0000, Alessandro Pilotti wrote: >>>>>> Visual Studio is the "de facto" IDE for Windows development. It provides >>>>>> all the features you'd expect from a modern environment (integrated >>>>>> debugger, refactoring tools, Git integration, syntax highlighting and a >>>>>> gazillion additional features) and in general it allows to be a few >>>>>> orders of magnitude more productive than a text editor and some command >>>>>> line tools. >>>>>> >>>>>> For other scenarios, e.g. Python or other interpreted dynamic languages, >>>>>> I'm personally a great fan of simpler editors like Sublime, but I'd >>>>>> never even think of working in C/C++/C#/Java/etc without an IDE and >>>>>> especially an integrated debugger. >>>>>> >>>>>> I can assure you that no Windows developer I ever met would ever accept >>>>>> to jump back in time 20 years and use vi as her/his main productivity >>>>>> tool. :-) If this port is meant to attract more Windows community >>>>>> contributors then Visual Studio support is substantially mandatory. >>>>>> >>>>>> Said that, if in your intentions the project is not meant to be >>>>>> developed on Windows but only compiled to produce the binaries, well, >>>>>> makefiles are enough. >>>>>> >>>>>> I suggest to take a tour of other well known cross platform projects and >>>>>> see how those manage the Windows builds. You'll see that some of them >>>>>> consider Windows as a platform for builds only (basically no >>>>>> development), some use CMake to support all the required platforms (Qt5, >>>>>> MySQL, FreeRDP come to mind) and some use separate build systems >>>>>> (CPython, Apache, just to name a couple). >>>>>> >>>>>> If you're interested we can record a quick webcast to show how to use >>>>>> Visual Studio for Open vSwitch development activities. This might help >>>>>> in clarifying some of the statements above. >>>>>> >>>>>> As a final note, Visual Studio files are just XML files, so generating >>>>>> them dynamically is not that complicated if we really have to. >>>>>> >>>>>> Alessandro >>>>>> >>>>>>> On 26/nov/2013, at 00:18, "Gurucharan Shetty" <shet...@nicira.com> >>>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> Sent from my iPhone >>>>>>> >>>>>>>> On Nov 25, 2013, at 5:05 PM, Jesse Gross <je...@nicira.com> wrote: >>>>>>>> >>>>>>>> They're the equivalent of makefiles for Visual Studio. Without them >>>>>>>> you can't use the Windows-native development tools so while it's not >>>>>>>> impossible to work it certainly makes life more difficult. >>>>>>> >>>>>>> One can still edit the files using a vi editor (or any other simple >>>>>>> editor)on windows and do a make. Probably the disadvantage is that you >>>>>>> can't use visual studio ide to write code(?). >>>>>>> >>>>>>> >>>>>>>> >>>>>>>>> On Mon, Nov 25, 2013 at 1:53 PM, Ben Pfaff <b...@nicira.com> wrote: >>>>>>>>> What I'm trying to get at is, what are the "solution and related >>>>>>>>> projects" good for? The non-Windows world does fine without them, so >>>>>>>>> if "make" can work on Windows then why is the result "basically >>>>>>>>> useless for any practical development purpose"? >>>>>>>>> >>>>>>>>>> On Mon, Nov 25, 2013 at 04:50:40PM -0500, Ethan Jackson wrote: >>>>>>>>>> My understanding is that Guru is working on a solution to this >>>>>>>>>> problem. What were your thoughts? >>>>>>>>>> >>>>>>>>>> Ethan >>>>>>>>>> >>>>>>>>>>>> On Mon, Nov 25, 2013 at 3:52 PM, Ben Pfaff <b...@nicira.com> wrote: >>>>>>>>>>>> On Mon, Nov 25, 2013 at 08:11:00PM +0000, Alessandro Pilotti wrote: >>>>>>>>>>>> We did some testing with autoconf / automake on Windows. Makefiles >>>>>>>>>>>> are getting generated correctly although we cannot obviously verify >>>>>>>>>>>> the result with a full build since we didn?t port all the patches >>>>>>>>>>>> to >>>>>>>>>>>> the master branch yet. >>>>>>>>>>>> >>>>>>>>>>>> There?s anyway a huge limitation: it does not generate a Visual >>>>>>>>>>>> Studio solution and related projects, which means that it?s >>>>>>>>>>>> basically useless for any practical development purpose. >>>>>>>>>>> >>>>>>>>>>> What are those files good for? >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> dev mailing list >>>>>>>>>>> dev@openvswitch.org >>>>>>>>>>> http://openvswitch.org/mailman/listinfo/dev >>>>>>>>> _______________________________________________ >>>>>>>>> dev mailing list >>>>>>>>> dev@openvswitch.org >>>>>>>>> http://openvswitch.org/mailman/listinfo/dev >>>>>>> _______________________________________________ >>>>>>> dev mailing list >>>>>>> dev@openvswitch.org >>>>>>> http://openvswitch.org/mailman/listinfo/dev >>>>>> _______________________________________________ >>>>>> dev mailing list >>>>>> dev@openvswitch.org >>>>>> http://openvswitch.org/mailman/listinfo/dev >> _______________________________________________ >> dev mailing list >> dev@openvswitch.org >> http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev