Posts Tagged ‘teamcity’

2010 April, Project Status

Written on April 28th, 2010 by Kris
Categories: Project Status

I’ve been putting a lot of time into this project recently. So, I guess it’s appropriate that I do a status update, and let everyone know what I’ve been up to.

Continuous Integration

We recently set up a TeamCity v5.1 build server on one of our company’s servers, and have a couple of vm images running build agents for .net 3.5 and 4.0. We got the basic build for the integration server working, and it’s running the unit tests for the project.

I had an issue with running xUnit tests using MSBuild and TeamCity where the test reports were duplicating the tests.  This was resolved by using the /noconsolelogger switch on MSBuild.

I was hoping I could figure out a way to get the Build server to publish build reports out to this website, we’ll see. I think it could be very useful for some of the other contributors.

There are a few tests that aren’t working, and I hope to have those issues resolved ASAP. Also, there’s been some movement on the original Hector (Java) project, and I’ll be bringing HectorSharp up to parity soon.

HectorSharp Version Scheme

The current version of Cassandra as of this writing is 0.6.1.  I’m thinking of following the version scheme that the original Hector is following which is A.B.C.D  (A.B.C are the cassandra version 0.6.1, and D is the revision of HectorSharp).

Each version would get it’s own branch.  I’m still learning some of the finer points of managing GIT repositories, including branching and merging.  One thing I haven’t quite got right yet is cherry-picking changes and merging them in with a different branch, hopefully I don’t mess up the repo too much.

Missing Feature, Time-based UUID

The next thing I’m going to work on is bringing Time-based UUID generation into the project. I’ve looked at a few other projects, but I’m not sure if their OSS licenses are compatible with MIT.  I might have to implement it from scratch from the RFC 4122 (Section 4.2). I’m also working on an internal project that needs this feature to work properly with Cassandra.

Deprecated Features

Originally, I had wanted to be able to select a target version of Cassandra from code, to allow for migrations, but due to the amount of code required to implement and maintain it, I decided against the whole idea and ripped it out.  Apparently, there will be some migration features included in the 0.7 release of Cassandra.

Is this thing production-ready?

No.

HectorSharp is still incubating and code-churn is very high.  There are a number of missing and malfunctioning features.  Cassandra and it’s Thrift API are also changing very rapidly, as such many abstracts in that project are going to change in major ways and will affect the design and API surface of HectorSharp substantially in upcoming releases.  There are also a number of API surface changes and new features available in the original Hector Project that have yet to be forward-ported into HectorSharp.

What’s Next?

  1. Get all of the Tests working properly
  2. Obtain feature parity with Hector (Java)
  3. Drop an official “release”
  4. Write some documentation

Help wanted!

I have received some emails from coders interested in contributing to the project.  Currently, the only contributors are mattvv, rantav (no C#, original Java contributor), and myself (Kris).  I have yet to write up a coding standard, which I hope to have available in the next week or so, should be pretty straight-forward; i.e., keep tabs, no tabs after beginning of line, statement blocks with vertically aligned braces, no Hungarian-notation (anywhere).

if you are interested in contributing, please send me an email: kris -at- kris -dot- net

Please include a link to projects that you have contributed to, code excerpts or links with explanations, and a summary of your skill set, i.e., specializations, expertise, knowledge of GoF, mono, LINQ, functional programming experience, other languages known, etc.  There is no perfect submission, so no worries!

Project Updates

If you are interested in following this project you can subscribe to this feed.  I will try to keep everyone up to date on what’s going on, how-to instructional material, and any other news related to this project.