We release a number of small plug-ins that go along with our software. Each plug-in allows our software to talk to a single manufactuer's hardware. I would like to devise a system for keeping track of plug-in releases.

Example info that should be stored:

  • Hardware manufacturer name
  • 32-bit? 64-bit? both?
  • What modes of operation does the hardware support?
  • What versions of the manufacturer's driver have been tested with the plugin?

Desirable properties of the system:

  • Able to synchronize with version control software
  • Stores data in human-readable text file (also good for differ tool)
  • Free visual, spreadsheet-like editor available
  • Able to do simple analysis like "What is the oldest plug-in?"

I've got to imagine that someone else has tackled this problem already. Right now my best guess is XML/JSON with a visual editor, but I have been disappointed in the editors I've tried so far. I'd like to get input from some more experienced developers. Thanks!

  • 8
    I don't understand why you can't do this with appropriate uses of repositories, branching and tagging in the VCS of your choice.
    – Thomas Owens
    Sep 26, 2011 at 23:58

2 Answers 2


Continuous integration is probably something you'd find useful for this task.

I'd recommend you have a look at Hudson (or Jenkins1).

Essentially it's a build robot, and you can arbitrarily add scripts and activities to be run as part of the build process. For example, monitor the SCM repository for changes and trigger a build, run unit tests, log information about the build, etc. etc.

If you send log entries to a database (e.g. SQlite) you'll be able to do any queries you like.

1. the Hudson/Jenkins split.


If you were working with Debian packages, you could just do ls/find on your pool directory.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.