I wonder what's the best approach to code a plugin that will work with both IDEA 7.x and 8.x (and newer versions later)?
For instance, how to get the ConstantEvaluationHelper differs between the version and there is no common way to get it...
IDEA 8.x: JavaPsiFacade.getInstance(project).getConstantEvaluationHelper()
IDEA 7.x: PsiManager.getInstance(project).getConstantEvaluationHelper()
Will you generally make those kinds of backwards compatibility breaking changes?
Note, there are other examples of broken APIs in 8.x. I just want to know how I should handle this so I don't have to manage several code bases. Reflection?