views:

73

answers:

1

This frequently comes up: I've built software, and possibly used some new language / platform / standard library features that are available on some version (say, Java 1.6.10 or PHP 5.2) upwards, but of course I can't exactly remember. I'm only sure that it runs at least on the version I'm using (which is typically the newest version available), but it might well run on a bit older version too.

Going manually through the code, keeping a list and comparing it with platform release notes obviously isn't very sophisticated option. Is there a way to automatically do this (aside from baking your own version-checker parser)? Personally I'm interested in at least the following languages, but please add freely:

  • Java
  • Python
  • PHP
  • C++ (and maybe C)
  • add your favorite.

Simply testing at the older versions is a brute force approach, and it has the advantage that you'll know whether the code actually works, not merely that it should work. But it can be tedious, so I'm still interested in some kind of automata that goes through the source and checks which platform features are being used.

+2  A: 

Continuous integration's Build Automation is the first thing that comes to mind. If you're testing against different machines, you'll discover which version breaks your code.

MrValdez