Files
narya/core/pom.xml
T
Claridtimo 7cbac80172 Phase 5(b) fix: InvocationMarshaller explicit streaming preserves _invdir
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
2026-07-05 22:10:13 +12:00

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>