Hinweis
Wenn bei der Einrichtung deines Bank-Zugangs (PIN/TAN, Chipkarte, Schlüsseldatei) Fehler auftreten, lege bitte keinen Bug-Report an. In aller Regel ist die Ursache kein Bug in Hibiscus sondern ein Fehler in der Konfiguration des Bank-Zugangs. Im Wiki findest du Anleitungen zu Kartenlesern und getesteten Banken. Im onlinebanking-forum.de findest du ebenfalls hilfreiche Tipps.
Bug 1852 - Plugins werden in 2.8.x zur Installation angeboten, obwohl in plugin.xml nur Version 2.6.x freigegeben ist
Summary: Plugins werden in 2.8.x zur Installation angeboten, obwohl in plugin.xml nur ...
Status: RESOLVED FIXED
Alias: None
Product: Jameica
Classification: Unclassified
Component: Update-Manager (show other bugs)
Version: 2.8
Hardware: All All
: P2 enhancement
Assignee: Olaf Willuhn
URL:
: 1856 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-06-24 16:14 CEST by Frank
Modified: 2018-07-18 13:58 CEST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Frank 2018-06-24 16:14:32 CEST
Hallo Olaf, in meinen Plugins habe ich folgendes Requirements stehen:

	<requires jameica="2.6.6+">
		<import plugin="hibiscus" version="2.6.20+" />
		<import plugin="hibiscus.scripting.htmlunit" version="2.27+" />
		<import plugin="hibiscus.scripting.pdfbox" version="2.0.4+" />
	</requires>

Damit erwartete ich, dass das Plugin in allen Jameica Versionen >= 2.6.6 aber kleiner 2.7.0 und Hibiscus muss >= 2.6.27 aber kleiner 2.7.0 installiert werden kann. Leider werden die Plugins aber aber in der Version 2.8.x angeboten. Zu denen sind sie aber (noch) nicht kompatibel. Kann der Update dahingehen geändert werden, dass das + nur auf die entsprechende Stelle (major, minor, bug) angewendet wird?

(Siehe auch https://mantisbt.frankmuenster.de/view.php?id=211, der eine Antwort von dir dazu enthält).

Viele Grüße,
Frank
Comment 1 Olaf Willuhn 2018-06-24 20:17:31 CEST
Das derzeitige Verhalten ist kein Bug sondern so beabsichtigt. Derzeit ist nicht vorgesehen, dass sich das "+" oder "-" nur auf den Teil der Versionsnummer bezieht, hinter dem es angegeben ist. 

Dennoch ist das gar keine schlechte Idee. Bevor ich das ändere, muss ich aber erstmal die Abhängigkeitsdefinitionen meiner Plugins und die von anderen Autoren prüfen, um sicherzustellen, dass ich die damit nicht kaputt mache. Denn die Änderung wäre nicht abwärtskompatibel. Denn wenn sich ein Plugin darauf verlässt, dass z.Bsp. 2.8.0+ auch 2.9.0 einschließt, dann würde das danach nicht mehr funktionieren.
Comment 2 Frank 2018-06-25 15:53:52 CEST
Ah, verstehe. Dann bleibt also zur Zeit nur, den Betroffenen Benutzern mitzuteilen, das sie einen Downgrade machen müssen.
Wenn du Verhalten mal ändern solltest, könntest du ja den Maven Ansatz verwenden. der ist zwar etwas aufwendiger, aber dafür recht flexible. Ein gute Erklärung gibt es unter:
https://cwiki.apache.org/confluence/display/MAVENOLD/Dependency+Mediation+and+Conflict+Resolution#DependencyMediationandConflictResolution-DependencyVersionRanges

und auf der maven Homepage:
https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html

Viele Grüße,
Frank
Comment 3 Olaf Willuhn 2018-06-25 21:07:45 CEST
Ich werd das schon so einbauen, wie du vorgeschlagen hast, wird aber paar Tage dauern.
Comment 4 Frank 2018-06-27 18:38:32 CEST
Hallo,
mach dir keinen Stress. Ich bau in den nächsten Versionen einfach das Minus ein. Also 2.6.6- für Jameica z. B. dann werden sie ja nicht mehr angezeigt.
Sobald meine Plugins dann ready sind, erhöh ich einfach auf 2.8.c...
Viele Grüße
Frank
Comment 5 Olaf Willuhn 2018-07-05 17:02:23 CEST
Habs eingebaut. Verfügbar ab morgen im Nightly-Build:

https://github.com/willuhn/jameica/commit/403460f365127ea242bb27054997e4914d9965cb
Comment 6 Olaf Willuhn 2018-07-12 08:46:04 CEST
*** Bug 1856 has been marked as a duplicate of this bug. ***
Comment 7 Olaf Willuhn 2018-07-12 08:52:49 CEST
Mist! Unter Bug #1856 postete gerade ein User einen Screenshot, der zeigt, dass von der Änderung bei der Interpretation der Versionsabhaengigkeiten deutlich mehr Plugins betroffen sind, als ich erwartet hatte. Der Impact ist mir zu hoch. Ich riskiere sonst, dass ich haufenweise Mails von Usern kriege, dass ihre Plugins nicht mehr geladen werden koennen, nachdem sie auf Jameica 2.8.1 aktualisiert haben (welches ich morgen releasen will).

Ich baue das daher nochmal um. Und zwar in der Art, dass die bisherige Definition der Abhaengigkeiten wieder gilt. Ich baue das so um, dass z.Bsp. "2.8.0+" dann wieder auf "2.8.0", "2.9.0", "3.0",... zutrifft. Fuer die neue Variante (wo "2.8.0+" nur bis "2.8.999..." gilt), ueberlege ich mir eine neue Syntax. Vermutlich sowas: "2.8.0(+)".

Damit ist dann die Abwaertskompatibilitaet wieder gewaehrleistet, die neue Definition von Abhaengigkeiten kann dann aber trotzdem optional verwendet werden. Baue ich gleich heute ein, damit es morgen mit in das Release kann.
Comment 8 Olaf Willuhn 2018-07-12 09:24:30 CEST
Eingebaut. https://github.com/willuhn/jameica/commit/52ef87dc72738211244fb427b542642d92c53789

Ab sofort im Nightly-Build (habe die Builds gerade manuell angestossen).

Damit gilt jetzt wieder das vorherige Verhalten bei der Definition von Versionsabhängigkeiten. Will man das neue Verhalten haben, muss das "+" oder "-" in Klammern angegeben sein. Beispiel:

"2.2.0+" gilt für 2.2.0 bis zu jeder beliebigen Version, die größer als 2.2.0 ist (also auch z.Bsp. für 3.0,...)

"2.2.0(+)" gilt für 2.2.0 bis 2.2.9999. (also nicht mehr "2.3.0", "3.0.0", ...)

Wichtig: Die Angabe der benötigten Versionsnummer mit Klammer darf erst ab Jameica 2.8.1 verwendet werden (welches ich morgen release). Jameica 2.8.0 oder kleiner kann mit den Klammern nicht umgehen und wird einen Fehler werfen. Ich habe leider keine Möglichkeit gefunden, sowohl die bisherige Syntax (ohne Klammern) als auch die neue (mit Klammern) abwärtskompatibel zu vorherigen Jameica-Versionen zu machen.

Heisst: Frank, wenn du im Plugin die neue Syntax mit Klammer verwenden willst, um das von dir gewuenschte Verhalten zu kriegen, solltest du noch eine Weile warten, bis ein hinreichender Anteil von Usern Jameica 2.8.1 verwenden. Wobei ich befürchte, dass das eine Weile dauern kann.
Comment 9 Olaf Willuhn 2018-07-12 09:26:39 CEST
BTW: @Frank: Unter https://github.com/willuhn/jameica/blob/master/test/de/willuhn/jameica/system/VersionTest.java#L63 findest du passende JUnit-Tests, die das unterschiedliche Verhalten verdeutlichen (Tests 005 - 010).
Comment 10 Frank 2018-07-18 13:38:55 CEST
Hallo Olaf,
danke für den Support. Sobald ich meine Plugins auf 2.8.x/JAVA10 Kompatibilität umgestellt/angepasst habe, schaue ich mir das an. Dann kommt eben die nächste Umstellung.
Hast du eigentliche eine Roadmap, wie du zukünftig die neue JRE Release Zyklen unterstützt? Im Privatbereich gibt es ja Sicherheitsupdates nur für den aktuellen Release und der wechselt ja jedes Jahr...
Viele Grüße,
Frank
Comment 11 Olaf Willuhn 2018-07-18 13:58:46 CEST
> Hast du eigentliche eine Roadmap, wie du zukünftig die neue JRE Release
> Zyklen unterstützt? Im Privatbereich gibt es ja Sicherheitsupdates nur für
> den aktuellen Release und der wechselt ja jedes Jahr...

Ne, eine feste Roadmap in dem Sinne habe ich nicht. Ich versuche aber, die alten Java-Versionen immer noch so lange wie moeglich zu unterstuetzen. Jameica kann ja auch unter BSD verwendet werden. Und wenn ich mich recht erinnere, ist es dort immr nicht so einfach, die aktuellste Java-Version zu erhalten.

Sprich: Ich moechte die User nicht zwingen, immer die aktuellste Java-Version zu verwenden. Viele User benutzen immer noch Java 8, obwohl bereits 9 und 10 veroeffentlicht sind. Wuerde ich jetzt bereits Java 10 voraussetzen, wuerde ich mir damit nur unnoetige Support-Arbeit aufbuerden, weil ich viele Mails von Usern mit Java 8 und 9 erhalten wuerde, bei denen Jameica dann nicht mehr geht.