Net zoals rkward_min_version
en rkward_max_version
, maakt het <dependencies>-element het mogelijk de attributen R_min_version
en R_max_version
op te geven. Maar er zijn de volgende verschillen:
Plugins die niet voldoen aan de vereisten voor de R-versie worden op dit moment niet overgeslagen bij het inlezen van het
.pluginmap
-bestand. De gebruiker kan nog steeds de plugin aanroepen (call) en krijgt niet direct een waarschuwing krijgen (in toekomstige versies komt er waarschijnlijk wel een waarschuwing).Als gevolg daarvan is het ook niet mogelijk alternatieve versies van een plugin te definiëren, afhankelijk van de gebruikte versie van R.
Echter, het is vaak eenvoudig terugwaartse compatibiliteit (backwards compatibility) te bereiken, zoals u hieronder kunt zien. Indien u compatibiliteitsproblemen van R onderkent, kunt u, als u dit wilt, deze methode gebruiken, in plaats van het definiëren van een afhankelijkheid (dependency) van een afzonderlijke versie van R.
In veel gevallen is het eenvoudig mogelijk een verminderde functionaliteit beschikbaar te stellen, indien een bepaalde eigenschap niet beschikbaar is in de gebruikte versie van R. Zie het volgende korte voorbeeld van een ..xml
-bestand van een plugin:
<dialog [...]> <logic> <dependency_check id="ris210" R_min_version="2.10.0"/> <connect client="compression.xz.enabled" governor="ris210"/> </logic> [...] <radio id="compressie" label="Compressie-methode"> <option label="Geen" value=""> <option label="gzip" value="gzip"> <option id="xz" label="xz" value="xz"> </radio> [...] </dialog>
In dit voorbeeld wordt de compressie-optie "xz" eenvoudig uitgezet indien de gebruikte versie van R ouder is dan 2.10.0 (waarin xz-compressie niet wordt ondersteund). Het <dependency_check>-element ondersteunt hetzelfde <dependencies>-element als in .pluginmap
-bestanden. Het maakt een booleaanse eigenschap aan, die true is, indien aan de opgegeven afhankelijkheden wordt voldaan, en anders false.