- App
- WoltLab Suite Core
https://github.com/WoltLab/WCF/bl…s.php#L201-L218
Aktuell wird jedes Paket erlaubt, das mindestens eine kompatible API-Version anführt. Die Prüfung sollte aber eigentlich genau anders herum funktionieren und abbrechen, sobald mindestens eine nicht kompatible API-Version aufgeführt ist.
Beispiel:
WSC 3.0 (2017): Ich nutze die Klasse wcf\data\foo\Foo
WSC 3.1 (2018): Die genutzte Klasse wird deprecated und durch wcf\data\bar\foo\BarFoo ersetzt, ich kriege das nicht mit und setze 2018 dazu, wenn ich mal wieder ein Update veröffentliche. Oder ich denke mir, das Paket ist zu 2018 ja kompatibel und die Klasse kann ich nicht tauschen, weil ich WSC 3.0 und WSC 3.1 unterstützen will.
WSC 5.2 (2019): Die genutzte Klasse wird (überraschend schnell) entfernt. Das WSC akzeptiert 2018 und 2019. Das Paket lässt sich installieren, obwohl eine API-Version nicht akzeptiert wird.
Klar ist das in gewisser Weise ein Fehler bzw. eine Unachtsamkeit durch den Entwickler, aber irren ist menschlich. Ein praktisches Beispiel dazu wäre übrigens der IEventListener, der seinen Namespace tauschen soll und in der Zwischenzeit eine zweite Klasse existiert.
Ich bin diesbezüglich gerade etwas zwiegespalten (und bräuchte den Algorithmus jetzt für eine Zuordnung zum WSC; da soll das Paket natürlich exakt gleich handeln wie das WSC bei der Installation). Daher... Was denkt ihr dazu?