Подібно до rkward_min_version
і rkward_max_version
, елемент <dependencies> надає змогу визначити атрибути R_min_version
і R_max_version
. Втім, є такі відмінності:
Додатки, які не задовольнятимуть вимогам щодо версії R у поточній версії не пропускатимуться під час читання файла
.pluginmap
. Користувач все одно зможе викликати відповідний додаток, і не побачить негайного попередження (у майбутніх версіях таке попередження, ймовірно, буде показано).Як наслідок, не можна визначати альтернативні версії додатка, робота яких залежатиме від версії R.
Втім, часто доволі просто досягнути зворотної сумісності у спосіб, показаний нижче. Якщо ви припускаєте проблеми із сумісністю з R, будь ласка, спробуйте цей спосіб замість визначення залежності від певної версії R.
У багатьох випадках доволі просто надати у розпорядження користувача обмежені функціональні можливості, якщо певна можливість є недоступною у запущеній версії R. Розгляньмо такий короткий приклад файла .xml
додатка:
<dialog [...]> <logic> <dependency_check id="ris210" R_min_version="2.10.0"/> <connect client="compression.xz.enabled" governor="ris210"/> </logic> [...] <radio id="compression" label="Compression method"> <option label="None" value=""> <option label="gzip" value="gzip"> <option id="xz" label="xz" value="xz"> </radio> [...] </dialog>
У цьому випадку параметр стискання «xz» буде просто вимкнено, якщо запущена версія R виявиться старішою за 2.10.0 (версію, у якій не передбачено підтримки стискання xz). У елементі <dependency_check> передбачено підтримку тих сами атрибутів, що і у елементі <dependencies> у файлах .pluginmap
. Він створює булеву властивість, яка має значення true (так), якщо вказану залежність задоволено, і значення false, якщо це не так.