asm shading

View: New views
2 Messages — Rating Filter:   Alert me  

asm shading

by Jacek Laskowski :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

DMB did asm shading for openejb 3.1 so people working with Hibernate
won't run into any issues (cf.
https://issues.apache.org/jira/browse/OPENEJB-892). Instead of his
doing in OpenEJB it'd be great if xbean provided a shaded asm itself.
Is this a correct approach? I've attempted to fix it and created a new
module - xbean-asm-shaded with the following part of its pom.xml:

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <relocations>
                                <relocation>
                                    <pattern>org.objectweb.asm</pattern>

<shadedPattern>org.apache.xbean.asm</shadedPattern>
                                </relocation>
                            </relocations>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>

It broke the tests in xbean-reflect and I don't know why. I don't know
why reader.accept(visitor, false); in AsmParameterNameLoader used
boolean input param as ClassReader doesn't provide such a method -
http://asm.objectweb.org/current/doc/javadoc/user/org/objectweb/asm/ClassReader.html.
Am I doing it wrong? Help appreciated. I'd like to get it fixed in
XBean 3.5 if it won't last too long (say 2-3 days)

Jacek

--
Jacek Laskowski
Notatnik Projektanta Java EE - http://www.JacekLaskowski.pl

Re: asm shading

by Jacek Laskowski :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Jan 7, 2009 at 11:05 AM, Jacek Laskowski <jacek@...> wrote:

> It broke the tests in xbean-reflect and I don't know why. I don't know
> why reader.accept(visitor, false); in AsmParameterNameLoader used
> boolean input param as ClassReader doesn't provide such a method -
> http://asm.objectweb.org/current/doc/javadoc/user/org/objectweb/asm/ClassReader.html.
> Am I doing it wrong? Help appreciated. I'd like to get it fixed in
> XBean 3.5 if it won't last too long (say 2-3 days)

It took longer than I wished to, but I finally worked it out - there's
a mismatch between ASM 1.5.3 and the newest versions (cf.
http://blog.springsource.com/2007/06/11/asm-version-incompatibilities-using-spring-autowired-with-hibernate/).
The solution is to create a shaded project and that's what is to be a
dependency where the original project was. Pretty simple. I'm going to
commit the change soon. Any objections? I'd like to use it in the
upcoming OpenEJB 3.1.1 version which is going to be released by J1.

Jacek

--
Jacek Laskowski
Notatnik Projektanta Java EE - http://www.JacekLaskowski.pl