Discussion:
Java 11 Compatibility Problem
Dragan, Krzysztof
2018-10-09 17:04:01 UTC
Permalink
Hi,
scanning latest version of Apache Ivy(2.5.0-rc-1) using jdeprscan on jdk11 I noticed two problems with this jar.

These two methods using internal jdk marked for removal and will be deleted:

* class org/apache/ivy/util/FileUtil uses deprecated class java/util/jar/Pack200$Unpacker (forRemoval=true)
* class org/apache/ivy/util/FileUtil uses deprecated class java/util/jar/Pack200 (forRemoval=true)

Are you planning new release of Apache Ivy in the near future?

Thanks,
Krzysztof Dragan
Stefan Bodewig
2018-10-10 04:26:54 UTC
Permalink
Hi Krzysztof

I'm not actively working on Ivy so take my response with a grain of
salt.
Post by Dragan, Krzysztof
Hi,
scanning latest version of Apache Ivy(2.5.0-rc-1) using jdeprscan on
jdk11 I noticed two problems with this jar.
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200$Unpacker (forRemoval=true)
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200 (forRemoval=true)
For background see https://openjdk.java.net/jeps/336

The Java community has decided to eventually remove support for the
pack200 format, but it still is there in Java11. Right now this is only
a warning, it will only become a real problem once the classes actually
get removed. They do not offer any alternative implementation right now,
and may never do (unlike the JAXB case, which is available as an
external library now).

I am aware of an alternative based on the former Apache Harmony code in
https://github.com/pfirmstone/pack200 but am unsure about its state -
both technically and legally - I very vaguely recall the Pack200 spec
was encumbered with Oracle patents but may be totally wrong.

In Ivy's case the only save option right now was to remove support for
pack200 archives and break existing setups that consume such archives
which seems to be excessive just in order to get rid of a warning.

If yu ask me I'd recommend to live with the warning for now and wait for
an alternative to the class library's pack200 classes to become
available - which hopefully happens before the Java version removing
support gets released.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@ant.apache.org
For additional commands, e-mail: dev-***@ant.apache.org
Jaikiran Pai
2018-10-10 05:07:56 UTC
Permalink
I agree with Stefan, at the moment I recommend ignoring those warnings.
There isn't anything else we can do (other than removing support for
pack200, which isn't a good option).

-Jaikiran
Post by Stefan Bodewig
Hi Krzysztof
I'm not actively working on Ivy so take my response with a grain of
salt.
Post by Dragan, Krzysztof
Hi,
scanning latest version of Apache Ivy(2.5.0-rc-1) using jdeprscan on
jdk11 I noticed two problems with this jar.
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200$Unpacker (forRemoval=true)
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200 (forRemoval=true)
For background see https://openjdk.java.net/jeps/336
The Java community has decided to eventually remove support for the
pack200 format, but it still is there in Java11. Right now this is only
a warning, it will only become a real problem once the classes actually
get removed. They do not offer any alternative implementation right now,
and may never do (unlike the JAXB case, which is available as an
external library now).
I am aware of an alternative based on the former Apache Harmony code in
https://github.com/pfirmstone/pack200 but am unsure about its state -
both technically and legally - I very vaguely recall the Pack200 spec
was encumbered with Oracle patents but may be totally wrong.
In Ivy's case the only save option right now was to remove support for
pack200 archives and break existing setups that consume such archives
which seems to be excessive just in order to get rid of a warning.
If yu ask me I'd recommend to live with the warning for now and wait for
an alternative to the class library's pack200 classes to become
available - which hopefully happens before the Java version removing
support gets released.
Stefan
---------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@ant.apache.org
For additional commands, e-mail: dev-***@ant.apache.org
Jan Matèrne (jhm)
2018-10-10 05:39:15 UTC
Permalink
If I understand Dragans point right, the warning comes when analyzing the code.
Not just running Ivy.
So the normal user won't see the warning. Maybe we should implement a warning?

Jan
-----Ursprüngliche Nachricht-----
Gesendet: Mittwoch, 10. Oktober 2018 07:08
Betreff: Re: Java 11 Compatibility Problem
I agree with Stefan, at the moment I recommend ignoring those warnings.
There isn't anything else we can do (other than removing support for
pack200, which isn't a good option).
-Jaikiran
Post by Stefan Bodewig
Hi Krzysztof
I'm not actively working on Ivy so take my response with a grain of
salt.
Post by Dragan, Krzysztof
Hi,
scanning latest version of Apache Ivy(2.5.0-rc-1) using jdeprscan on
jdk11 I noticed two problems with this jar.
These two methods using internal jdk marked for removal and will be
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200$Unpacker (forRemoval=true)
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200 (forRemoval=true)
For background see https://openjdk.java.net/jeps/336
The Java community has decided to eventually remove support for the
pack200 format, but it still is there in Java11. Right now this is
only a warning, it will only become a real problem once the classes
actually get removed. They do not offer any alternative
implementation
Post by Stefan Bodewig
right now, and may never do (unlike the JAXB case, which is available
as an external library now).
I am aware of an alternative based on the former Apache Harmony code
in https://github.com/pfirmstone/pack200 but am unsure about its
state
Post by Stefan Bodewig
- both technically and legally - I very vaguely recall the Pack200
spec was encumbered with Oracle patents but may be totally wrong.
In Ivy's case the only save option right now was to remove support
for
Post by Stefan Bodewig
pack200 archives and break existing setups that consume such archives
which seems to be excessive just in order to get rid of a warning.
If yu ask me I'd recommend to live with the warning for now and wait
for an alternative to the class library's pack200 classes to become
available - which hopefully happens before the Java version removing
support gets released.
Stefan
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@ant.apache.org
For additional commands, e-mail: dev-***@ant.apache.org
Jaikiran Pai
2018-10-10 12:04:15 UTC
Permalink
Hi Jan,

For end users (of Ivy), the place where pack200 packaging becomes
visible is when they reference it in their dependencies as noted in our
doc[1]. So IMO, I think we should probably add a note/warning within our
documentation than a runtime log/warn message. But I still think, it's a
bit too early to do that. Maybe we should wait a few more releases of
Java and see if any alternatives show up?

[1]
https://ant.apache.org/ivy/history/latest-milestone/concept.html#packaging

-Jaikiran
Post by Jan Matèrne (jhm)
If I understand Dragans point right, the warning comes when analyzing the code.
Not just running Ivy.
So the normal user won't see the warning. Maybe we should implement a warning?
Jan
-----Ursprüngliche Nachricht-----
Gesendet: Mittwoch, 10. Oktober 2018 07:08
Betreff: Re: Java 11 Compatibility Problem
I agree with Stefan, at the moment I recommend ignoring those warnings.
There isn't anything else we can do (other than removing support for
pack200, which isn't a good option).
-Jaikiran
Post by Stefan Bodewig
Hi Krzysztof
I'm not actively working on Ivy so take my response with a grain of
salt.
Post by Dragan, Krzysztof
Hi,
scanning latest version of Apache Ivy(2.5.0-rc-1) using jdeprscan on
jdk11 I noticed two problems with this jar.
These two methods using internal jdk marked for removal and will be
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200$Unpacker (forRemoval=true)
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200 (forRemoval=true)
For background see https://openjdk.java.net/jeps/336
The Java community has decided to eventually remove support for the
pack200 format, but it still is there in Java11. Right now this is
only a warning, it will only become a real problem once the classes
actually get removed. They do not offer any alternative
implementation
Post by Stefan Bodewig
right now, and may never do (unlike the JAXB case, which is available
as an external library now).
I am aware of an alternative based on the former Apache Harmony code
in https://github.com/pfirmstone/pack200 but am unsure about its
state
Post by Stefan Bodewig
- both technically and legally - I very vaguely recall the Pack200
spec was encumbered with Oracle patents but may be totally wrong.
In Ivy's case the only save option right now was to remove support
for
Post by Stefan Bodewig
pack200 archives and break existing setups that consume such archives
which seems to be excessive just in order to get rid of a warning.
If yu ask me I'd recommend to live with the warning for now and wait
for an alternative to the class library's pack200 classes to become
available - which hopefully happens before the Java version removing
support gets released.
Stefan
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@ant.apache.org
For additional commands, e-mail: dev-***@ant.apache.org
Nicolas Lalevée
2018-10-11 14:59:54 UTC
Permalink
To be complete on this subject, the pack200 algorithm has been implemented to be able to resolve artifacts in an Eclipse updatesite. I don’t know how nowadays artifacts are packaged on a « p2 repository », but some documentation still exists and doesn’t contain any warnings:
https://wiki.eclipse.org/Equinox_p2_Repository_Optimization#Pack200_Optimization

Nicolas
Post by Jaikiran Pai
Hi Jan,
For end users (of Ivy), the place where pack200 packaging becomes
visible is when they reference it in their dependencies as noted in our
doc[1]. So IMO, I think we should probably add a note/warning within our
documentation than a runtime log/warn message. But I still think, it's a
bit too early to do that. Maybe we should wait a few more releases of
Java and see if any alternatives show up?
[1]
https://ant.apache.org/ivy/history/latest-milestone/concept.html#packaging
-Jaikiran
Post by Jan Matèrne (jhm)
If I understand Dragans point right, the warning comes when analyzing the code.
Not just running Ivy.
So the normal user won't see the warning. Maybe we should implement a warning?
Jan
-----Ursprüngliche Nachricht-----
Gesendet: Mittwoch, 10. Oktober 2018 07:08
Betreff: Re: Java 11 Compatibility Problem
I agree with Stefan, at the moment I recommend ignoring those warnings.
There isn't anything else we can do (other than removing support for
pack200, which isn't a good option).
-Jaikiran
Post by Stefan Bodewig
Hi Krzysztof
I'm not actively working on Ivy so take my response with a grain of
salt.
Post by Dragan, Krzysztof
Hi,
scanning latest version of Apache Ivy(2.5.0-rc-1) using jdeprscan on
jdk11 I noticed two problems with this jar.
These two methods using internal jdk marked for removal and will be
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200$Unpacker (forRemoval=true)
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200 (forRemoval=true)
For background see https://openjdk.java.net/jeps/336
The Java community has decided to eventually remove support for the
pack200 format, but it still is there in Java11. Right now this is
only a warning, it will only become a real problem once the classes
actually get removed. They do not offer any alternative
implementation
Post by Stefan Bodewig
right now, and may never do (unlike the JAXB case, which is available
as an external library now).
I am aware of an alternative based on the former Apache Harmony code
in https://github.com/pfirmstone/pack200 but am unsure about its
state
Post by Stefan Bodewig
- both technically and legally - I very vaguely recall the Pack200
spec was encumbered with Oracle patents but may be totally wrong.
In Ivy's case the only save option right now was to remove support
for
Post by Stefan Bodewig
pack200 archives and break existing setups that consume such archives
which seems to be excessive just in order to get rid of a warning.
If yu ask me I'd recommend to live with the warning for now and wait
for an alternative to the class library's pack200 classes to become
available - which hopefully happens before the Java version removing
support gets released.
Stefan
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@ant.apache.org
For additional commands, e-mail: dev-***@ant.apache.org
Gintautas Grigelionis
2018-10-12 20:50:07 UTC
Permalink
Equinox JarProcessor [1] seems to use pack200 CLI.

1.
https://git.eclipse.org/c/equinox/rt.equinox.p2.git/plain/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java

Gintas
Post by Nicolas Lalevée
To be complete on this subject, the pack200 algorithm has been implemented
to be able to resolve artifacts in an Eclipse updatesite. I don’t know how
nowadays artifacts are packaged on a « p2 repository », but some
https://wiki.eclipse.org/Equinox_p2_Repository_Optimization#Pack200_Optimization
Nicolas
Post by Jaikiran Pai
Hi Jan,
For end users (of Ivy), the place where pack200 packaging becomes
visible is when they reference it in their dependencies as noted in our
doc[1]. So IMO, I think we should probably add a note/warning within our
documentation than a runtime log/warn message. But I still think, it's a
bit too early to do that. Maybe we should wait a few more releases of
Java and see if any alternatives show up?
[1]
https://ant.apache.org/ivy/history/latest-milestone/concept.html#packaging
Post by Jaikiran Pai
-Jaikiran
Post by Jan Matèrne (jhm)
If I understand Dragans point right, the warning comes when analyzing
the code.
Post by Jaikiran Pai
Post by Jan Matèrne (jhm)
Not just running Ivy.
So the normal user won't see the warning. Maybe we should implement a
warning?
Post by Jaikiran Pai
Post by Jan Matèrne (jhm)
Jan
-----UrsprÃŒngliche Nachricht-----
Gesendet: Mittwoch, 10. Oktober 2018 07:08
Betreff: Re: Java 11 Compatibility Problem
I agree with Stefan, at the moment I recommend ignoring those warnings.
There isn't anything else we can do (other than removing support for
pack200, which isn't a good option).
-Jaikiran
Post by Stefan Bodewig
Hi Krzysztof
I'm not actively working on Ivy so take my response with a grain of
salt.
Post by Dragan, Krzysztof
Hi,
scanning latest version of Apache Ivy(2.5.0-rc-1) using jdeprscan on
jdk11 I noticed two problems with this jar.
These two methods using internal jdk marked for removal and will be
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200$Unpacker (forRemoval=true)
* class org/apache/ivy/util/FileUtil uses deprecated class
java/util/jar/Pack200 (forRemoval=true)
For background see https://openjdk.java.net/jeps/336
The Java community has decided to eventually remove support for the
pack200 format, but it still is there in Java11. Right now this is
only a warning, it will only become a real problem once the classes
actually get removed. They do not offer any alternative
implementation
Post by Stefan Bodewig
right now, and may never do (unlike the JAXB case, which is available
as an external library now).
I am aware of an alternative based on the former Apache Harmony code
in https://github.com/pfirmstone/pack200 but am unsure about its
state
Post by Stefan Bodewig
- both technically and legally - I very vaguely recall the Pack200
spec was encumbered with Oracle patents but may be totally wrong.
In Ivy's case the only save option right now was to remove support
for
Post by Stefan Bodewig
pack200 archives and break existing setups that consume such archives
which seems to be excessive just in order to get rid of a warning.
If yu ask me I'd recommend to live with the warning for now and wait
for an alternative to the class library's pack200 classes to become
available - which hopefully happens before the Java version removing
support gets released.
Stefan
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
Stefan Bodewig
2018-10-13 05:58:38 UTC
Permalink
Post by Gintautas Grigelionis
Equinox JarProcessor [1] seems to use pack200 CLI.
which is propbably going to be removed together with the Java API :-)

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@ant.apache.org
For additional commands, e-mail: dev-***@ant.apache.org

Loading...