Bug#948309: guice: Package the no_aop jar

2020-06-12 Thread Thorsten Glaser
Package: libguice-java
Version: 4.2.1-1
Followup-For: Bug #948309

Please address this issue. I can confirm that replacing
/usr/share/maven/lib/guice.jar with a copy of the stock
Maven Central guice-4.2.1-no_aop.jar fixes the Maven error.

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'buildd-unstable'), (500, 
'unstable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.6.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/lksh
Init: sysvinit (via /sbin/init)

Versions of packages libguice-java depends on:
ii  libaopalliance-java  20070526-6
ii  libatinject-jsr330-api-java  1.0+ds1-5
ii  libguava-java29.0-5
ii  libjsr305-java   0.1~+svn49-11

libguice-java recommends no packages.

Versions of packages libguice-java suggests:
ii  libasm-java7.3.1-1
ii  libcglib-java  3.2.12-1

-- no debconf information



Bug#948309: guice: Package the no_aop jar

2020-01-07 Thread Emmanuel Bourg
Le 07/01/2020 à 00:02, Emmanuel Bourg a écrit :

> It could be placed into it's own libguice-noaop-java package,
> this would save ~400KB when installing Maven.

Actually this won't work, because Maven still depends indirectly
on Guice through:

maven -> libmaven3-core-java -> libsisu-plexus-java -> libsisu-inject-java -> 
libguice-java



Bug#948309: guice: Package the no_aop jar

2020-01-06 Thread Emmanuel Bourg
Source: guice
Version: 4.2.1-1
Severity: normal

The 'no_aop' variant of guice (without the embedded cglib) isn't installed
by the libguice-java package, instead a symlink to the 'aop' jar is
installed. This was mostly done to reduce the size of the package. Since the
aop variant is a superset of the no_aop one [1], that was fine.

Unfortunately the modules introduced in Java 9 don't play well with cglib [2],
and using the aop variant triggers a warning on the console. This is especially
annoying with Maven, the following warning is displayed on each invocation:

  WARNING: An illegal reflective access operation has occurred
  WARNING: Illegal reflective access by 
com.google.inject.internal.cglib.core.$ReflectUtils$1 
(file:/usr/share/maven/lib/guice.jar) to method 
java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
  WARNING: Please consider reporting this to the maintainers of 
com.google.inject.internal.cglib.core.$ReflectUtils$1
  WARNING: Use --illegal-access=warn to enable warnings of further illegal 
reflective 

Maven upstream depends on the 'no_aop' variant and isn't affected by this
warning.

Packaging the 'no_aop' variant could address this issue. It could be placed
into it's own libguice-noaop-java package, this would save ~400KB when
installing Maven.

Emmanuel Bourg


[1] https://github.com/google/guice/wiki/OptionalAOP
[2] https://github.com/cglib/cglib/issues/129