Bene, grazie per la spiegazione.
Quindi mi sono versato un
e ho provato con il plugin Custom Wizard.
Ho controllato ogni tag uno per uno in ordine inverso, partendo da v2.6.0.beta1. Ho trovato questi comandi git utili:
git tag --list \\ ad esempio git tag --list 'v2.5.0*'
git checkout tags/tag \\ ad esempio git checkout tags/v2.5.0.beta7
Non ci è voluto molto per trovare un tag che non funzionava con la versione corrente del plugin: v2.5.0.beta7 non include discourse/app/components/d-textarea, che il Custom Wizard cerca di importare.
Quindi ho trovato quel commit nel plugin che ha aggiunto quell’import, ho preso lo sha1 del commit precedente, ho fatto il checkout e ho testato (ha funzionato perfettamente), e ho aggiunto questo a .discourse-compatibility:
v2.5.0.beta7: 802d74bab2ebe19a106f75275342dc2e9cc6066a
Ho poi spinto tutto su un branch con l’ultima versione del codice del plugin (un branch per i test, non necessario normalmente), e ho ricompilato un server di test dockerizzato con quel branch del plugin e la version impostata su v2.5.0.beta7.
Non ha funzionato, poi mi è venuto in mente che, ovviamente, il task rake plugin:pull_compatible_all non esiste in v2.5.0.beta7, quindi questo non funzionerà retroattivamente (colpa del
). Come previsto, nei log del launcher vedo:
Don't know how to build task 'plugin:pull_compatible_all' (See the list of available tasks with `rake --tasks`)
È questo il senso di come immagini che venga utilizzato?
Per quanto riguarda required_version, mi sono imbattuto in questo problema perché il server di test aveva installato il plugin discourse-legal-tools, che ha un required_version di v2.5.0, quindi inizialmente falliva su v2.5.0.beta7. Penso di trasferire quel plugin sul nuovo sistema. Credo ancora che required_version possa essere utile per impostare una base assoluta, come hai detto.