Closed Horcrux7 closed 4 years ago
@Horcrux7 can you try to use 1.8*
as the version. That should solve the problem. @sclassen takes care of the version string parsing and I assume he can say if we will allow such string (1.8.*
) in near future.
Yes, this work as a workaround.
According to the specification
version-string ::= version-range ( " " version-range) *
version-range ::= simple-range ( "&" simple-range) *
simple-range ::= version-id | version-id modifier
version-id ::= string ( separator string ) *
string ::= char ( char ) *
char ::= any ASCII character except a space, an ampersand, a separator, or a modifier.
separator ::= "." | "-" | "_"
modifier ::= "+" | "*"
Your value of 1.8.*
is not valid.
Would you expect this to be parsed as 1.8*
??
I read the spec and I find it confusing. If I understand the spec correctly then the problem with 1.8*
is that it also match 1.81.foo
. Of course this will never be a version number. But you have the same problem with 10*
that match version 10 and version 100. And this can be possible in some years.
Would you expect this to be parsed as 1.8* ??
No, I would expect that 1.8*
is parsed as "1", "8" and `1.8.` is parsed as "1", "8", "*".
Here a quote from the JSR-56 Apendix A:
A.3 Prefix Match
Given two version-ids, (HA TA) and (HB TB), then first (HB TB) is padded with 0 (zero element) entries at the end so it is at least the same length as the (HA TA) tuple.
(HA TA) is a prefix match of (HB TB) if and only if:
- HA is equal to HB, and
- TA is empty, or
- TA is a prefix match of TB
In other words, A is a prefix match of B if, when represented as tuples, the elements of A are the same as the first elements of B. The padding ensures that B has at least as many elements as A.
For example, given the above definition "1.2.1" will be a prefix match to "1.2.1-004", but not to "1.2.0" or "1.2.10". The padding step ensures that "1.2.0.0" is a prefix of "1.2". Note that prefix matching and ordering are distinct: "1.3" is greater than "1.2", and less than "1.4", but not a prefix of either.
It states explicitly "1.2.1" is NOT a prefix of "1.2.10"
Thank you for your explanation. We will remove the extra points. You can close this ticket.
I use version 0.4 of OpenWebStart. The related JNLP entry look like:
I can give you also a more complex JNLP file if you need it. I think this JNLP version entry it correct like the Spec. It has also ever work with the JavaWebStart. I receive the follow exception.: