7cbac80172
The flatten-mode codegen gave each *Marshaller subclass a self-contained read/writeObject, which overrode InvocationMarshaller.readObject and thus skipped its side-effect of binding the transient _invdir from the stream's client -> null _invdir -> NPE on the first invocation request (hit by ART AND HotSpot clients). Fix: give InvocationMarshaller explicit read/writeObject (GenStreamUtil, deterministic order, byte-identical to the old reflective default) that keeps the _invdir binding; field-free subclasses inherit it. narya 1.22. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HhfHCXYp2ctWi76Z91y9Ut
107 lines
3.2 KiB
XML
107 lines
3.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>com.threerings</groupId>
|
|
<artifactId>narya-parent</artifactId>
|
|
<version>1.22</version>
|
|
</parent>
|
|
|
|
<artifactId>narya</artifactId>
|
|
<packaging>jar</packaging>
|
|
<name>Narya Core</name>
|
|
|
|
<dependencies>
|
|
<!-- exported dependencies -->
|
|
<dependency>
|
|
<groupId>com.threerings</groupId>
|
|
<artifactId>ooo-util</artifactId>
|
|
<version>1.5</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.inject</groupId>
|
|
<artifactId>guice</artifactId>
|
|
<version>5.1.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- thin ByteChannel-over-SSLEngine wrapper used to give the Presents NIO transport
|
|
full-session TLS (see com.threerings.presents.net.TlsContextFactory); MIT, no
|
|
transitive deps, targets Java 8 -->
|
|
<groupId>com.github.marianobarrios</groupId>
|
|
<artifactId>tls-channel</artifactId>
|
|
<version>1.0.0</version>
|
|
</dependency>
|
|
|
|
<!-- optional dependencies -->
|
|
<dependency>
|
|
<groupId>com.samskivert</groupId>
|
|
<artifactId>depot</artifactId>
|
|
<version>1.8</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.sf.ehcache</groupId>
|
|
<artifactId>ehcache</artifactId>
|
|
<version>1.6.0</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.threerings</groupId>
|
|
<artifactId>gwt-utils</artifactId>
|
|
<version>1.7.1</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
|
|
<!-- test/build dependencies -->
|
|
<dependency>
|
|
<groupId>com.google.gwt</groupId>
|
|
<artifactId>gwt-user</artifactId>
|
|
<version>2.5.0</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.ant</groupId>
|
|
<artifactId>ant</artifactId>
|
|
<version>1.10.9</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.13.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- needed by junit -->
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest</artifactId>
|
|
<version>3.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hsqldb</groupId>
|
|
<artifactId>hsqldb</artifactId>
|
|
<version>2.0.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<!-- include the source files in our main jar for use by GWT -->
|
|
<resources>
|
|
<resource>
|
|
<directory>${project.build.sourceDirectory}</directory>
|
|
<includes>
|
|
<include>**/*.gwt.xml</include>
|
|
<include>**/web/server/*Exception.java</include>
|
|
<include>**/web/client/*.java</include>
|
|
<include>**/web/gwt/*.java</include>
|
|
</includes>
|
|
</resource>
|
|
<resource>
|
|
<directory>${basedir}/src/main/resources</directory>
|
|
</resource>
|
|
</resources>
|
|
</build>
|
|
</project>
|