+1 DIGY On Mon, Feb 28, 2011 at 10:29 AM, Troy Howard <thowar...@gmail.com> wrote:
> +1 to all suggestions. Hudkins is my new favourite word. ;) > > One quick concern I have, is how much of the things listed are already > available on the Apache hudson server? A lot of this is .NET specific, so > unlikely that it will already be available. We'll have to request that ASF > Infra team install these tools for us, and they may not agree, or there > might be licensing issues, etc.. Not sure. I'd start the conversation with > them now to suss this out. > > Specifically some thoughts: > > - FxCop/StyleCop/NCover/NDepend are a basics which should be viewed as a > necessity for any serious .NET project > - I love SandCastle and was about to bring that up on the list. We could > keep rolling with NDoc. Either way. > - I love Gallio/MbUnit/Moq... nunit not so much, but again, either would be > fine. > - Mono is going to be a requirement moving forward > - Project structure was being discussed on the LUCENENET-377 thread. For > the binary release, I used a structure similar to what you were describing, > and the topic of applying that structure to trunk came up. This is something > that we should discuss in detail before applying to trunk (my work was in a > branch). We need to make sure directory structure remains relatively static, > however, current structure needs a lot of improvement.. So now is a good > time to change. > > Digy suggested: > > \build > \contrib > \core > \core\Lucene.Net > \core\Test > \demo > > ... and in the recent binary release, I used a root \bin and \doc in the > same way you suggested. > > > As a combination of ideas, how about: > > Build Files: > > \build > \build\VS2008 > \build\VS2010 > > > Source Projects: > > \src > \src\contrib > \src\core > \src\demo > \src\contrib\<project-name> > \src\core\<project-name> > \src\demo\<project-name> > > > Test Projects: > > \test > \test\contrib > \test\core > \test\demo > \test\contrib\<project-name> > \test\core\<project-name> > \test\demo\<project-name> > > > Product Documentation: > > \doc > \doc\contrib > \doc\core > \doc\demo > \doc\contrib\<project-name> > \doc\core\<project-name> > \doc\demo\<project-name> > > > Third-Party Dependencies: > > \lib > \lib\<vendor> > \lib\<vendor>\<product> > \lib\<vendor>\<product>\<version> > > > Binary Builds: > > \bin > \bin\contrib > \bin\core > \bin\demo > \bin\contrib\<project-name> > \bin\core\<project-name> > \bin\demo\<project-name> > > > Thanks, > Troy > > > > On Sun, Feb 27, 2011 at 11:10 PM, Michael Herndon <mhern...@o19s.com>wrote: > >> So the CI choices for Apache are the following: >> >> >> - Buildbot <http://ci.apache.org/#buildbot> >> - Continuum <http://ci.apache.org/#continuum> >> - Gump <http://ci.apache.org/#gump> >> - Hudson <http://ci.apache.org/#hudson> >> >> There is a current discussion on the build list about moving with the name >> shift of hudson to jenkins. >> >> My vote is to go with hudkins [?] because it has been successfully used >> for .net projects in the past and has plugins to help support that. Nothing >> personal against python, but there seems to be more material on integration >> .net builds inside of Hudson. >> >> I've also used Hudson in the past so I can vouch that it does a decent >> job. (This was a while ago, so I can only hope the number of plugins and >> integration points have increased). >> >> I'm going to do a bit more reading on the apache mailing list for builds >> to see if there is an actual windows slave for hudson/jenkins (which shall >> henceforth be called hudkins on this list, well at least by me). >> >> Obviously the first priority will be getting a build set up and starting >> simple. However to spark discussion and future planning: Here is a list of >> other things to include or think about for the build process long term. >> >> * fxcop - (this will probably need customized rules for strict java port >> version) >> * stylecop - (same) >> * sandcastle - (building xml comments into documentation). >> * sandcastle help file builder - (SHFB) >> * code coverage tool - possibly seeing if we can get a code coverage tool >> (possibly ncover as they used to give a free license to os projects), >> * code metrics tool - (i.e. cyclomatic complexity, ndepend used to do the >> same thing as ncover, thus worth investigating). >> * gallio test runner vs nunit. (gallio is testing automation tool capable >> of running various testing frameworks and tools including nunit). >> * extended msbuild tasks. >> * mono build. >> * project structure for the build. ** >> * insert _____ any other suggestions here. >> >> I'll volunteer myself for the boring job of fixing up xml comments so >> there is some meat and code examples inside xml comments so >> the documentation generates more than just text and method signatures with >> type information. >> >> After some discussion in the list and unless there is show stopper or >> killer reason not to go with hudkins. I'll notate the decision the jira and >> start putting notes in the wiki about the CI. >> >> notes: >> ----------------- >> ** a common project structure/format or some variant there of, which might >> be more intuitive for people that have worked on other foss projects. >> trunk|root >> /src (source) >> /lib|vendor (dependencies) >> /tests (test code) >> /docs (documentation, architechture, diagrams, notes, etc) >> /bin (executables - bat, exe, cmd files, etc) >> root documents (licenses,readme,etc) >> >> - Michael >> >> >> >> >