Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
260 commits
Select commit Hold shift + click to select a range
7713316
incoming and outgoing rpc messages
vaci Sep 27, 2020
385746d
add two-party RPC protocol
vaci Sep 28, 2020
e1548e8
RPC exception serialization
vaci Sep 28, 2020
76c81a7
start to flesh out RPC connection state
vaci Sep 28, 2020
10f8f5e
implement import and export tables
vaci Sep 28, 2020
7ee0a60
stub handlers and test cases for incoming rpc messages
vaci Sep 28, 2020
66ae27e
mock rpc connection
vaci Sep 28, 2020
b3c5b03
handle bootstrapping request
vaci Sep 28, 2020
37fe39b
implement unimplemented
vaci Sep 28, 2020
15b83a9
implement local, queued and promised hooks
vaci Sep 28, 2020
37c93cc
implement request send
vaci Sep 28, 2020
f5e4630
implement capability client and server
vaci Sep 29, 2020
4a77f67
twoparty rpc
vaci Sep 29, 2020
3959732
handle resolve
vaci Sep 30, 2020
a505c03
extend fromPointerReader to accept capTable
vaci Oct 1, 2020
4dada05
make CallContext constructor public
vaci Oct 2, 2020
9c5e080
regenerated rpc schemas
vaci Oct 2, 2020
7d3e790
add runOnce to Client
vaci Oct 2, 2020
194c0ad
correct setter of capability pointer
vaci Oct 2, 2020
7ae49a8
RpcState bug fixes
vaci Oct 2, 2020
1913b6d
minor scope changes to cap client and server
vaci Oct 2, 2020
c938938
CapTables everywhere!
vaci Oct 2, 2020
6bd1411
handleDisembargo. NB future evaluation order needs work
vaci Oct 2, 2020
734af71
handleFinish
vaci Oct 2, 2020
07dbf22
avoid repetition of getResultsBuilder call
vaci Oct 2, 2020
81b151d
oops, correct FromPointerBuilder default call
vaci Oct 3, 2020
be64ced
demo schema with interfaces
vaci Oct 6, 2020
b94f2d6
prep for generated code
vaci Oct 6, 2020
3b0e3f3
generate (non-generic) interfaces and capability accessors
vaci Oct 6, 2020
218529d
add client factory for AnyPointer accessor
vaci Oct 7, 2020
59977b5
generate client methods and add streaming
vaci Oct 8, 2020
2ffdecb
Make Response typed
vaci Oct 8, 2020
1abc975
defer disembargo
vaci Oct 8, 2020
606dd26
generate pipelines, add AnyPointer.Pipeline
vaci Oct 8, 2020
c2f64ba
Add local cap table to message builder.
vaci Oct 13, 2020
dea4d2d
implement bulk of pipelining logic
vaci Oct 13, 2020
61c98ac
avoid duplicating conditions in asserts
vaci Oct 13, 2020
8945187
simplify server runOnce
vaci Oct 14, 2020
c49221c
add cleanup to questions and imports
vaci Oct 14, 2020
caec63d
fix rpcsystem generic params, and hide various fields
vaci Oct 14, 2020
7134461
use weak refs to cleanup import table
vaci Oct 15, 2020
730ca1a
question cleanup
vaci Oct 20, 2020
85a3565
add fds accessor
vaci Oct 21, 2020
215f485
add network accessor
vaci Oct 21, 2020
7b939d7
add moar size hints
vaci Oct 21, 2020
c01228c
add tap for dumping rpc messages
vaci Oct 21, 2020
6d082a7
use getHook() accessor
vaci Oct 21, 2020
05dc84b
move more CompFutures to void
vaci Oct 21, 2020
83a4d4d
only tap incoming
vaci Oct 21, 2020
f28b7de
more message building size hints
vaci Oct 21, 2020
633d3ff
remove redundent AnyPointer.getAsCap
vaci Oct 22, 2020
e21ba57
accept default outgoing message size
vaci Oct 22, 2020
3161e24
tidy up TwoPartyVatNetwork
vaci Oct 22, 2020
011137b
remove unused TwoPartyClient.runOnce
vaci Oct 22, 2020
9315c8a
null cap test
vaci Oct 22, 2020
8ccfdc1
remove redundent final modifier
vaci Oct 22, 2020
caa4441
fix local resolver, null caps, and add some doc comments
vaci Oct 22, 2020
e19faf0
tidy up cap table in BuilderArena
vaci Oct 22, 2020
9268494
Generate generic pipelines
vaci Oct 22, 2020
cd1fc4c
make embargo.diembargo final
vaci Oct 23, 2020
13156f9
remove extraneous writeTarget method
vaci Oct 23, 2020
88a8140
use Java 14 to compile all modules
vaci Oct 23, 2020
debfda7
try to run workflow with Java 14
vaci Oct 23, 2020
d6a1639
fix RpcState tests
vaci Oct 23, 2020
4bb8f6a
remove synchronised modifier from handleMessage
vaci Oct 23, 2020
1bf4bfc
add ServerSets
vaci Oct 23, 2020
dc4f8d0
dump more message types
vaci Oct 23, 2020
4f8c5fa
tidy up access to hooks
vaci Oct 23, 2020
c903cbf
return this network via asConnection()
vaci Oct 24, 2020
f2b2fc7
go back to using CompletableFuture (sigh)
vaci Oct 24, 2020
94ca2a0
remove sync modifier from getConnectionState and tidy
vaci Oct 24, 2020
86ccdd5
move cleanup to end of message loop
vaci Oct 24, 2020
2d8fe31
generic interface generation (WIP
vaci Oct 26, 2020
8eacc8c
major refactor of RemotePromise and Pipeline
vaci Oct 30, 2020
d515500
get rid of PipelineBase and PipelineImpl again
vaci Oct 30, 2020
a68b6ed
schema generation script for dev work
vaci Oct 30, 2020
a10e48d
test schemas
vaci Oct 30, 2020
8565c40
capability test suite
vaci Oct 30, 2020
069da9b
tidy up generated output and remove dead code
vaci Nov 2, 2020
aaa11f7
reduce gen script paths
vaci Nov 2, 2020
33d16c4
add READY_NOW
vaci Nov 2, 2020
630d71d
implement more capability tests
vaci Nov 2, 2020
02789ac
add TestInterface.baz. Stub out broken TestGenerics
vaci Nov 2, 2020
5187692
remove generated schema.schema
vaci Nov 2, 2020
dba99ca
combine javaFullName methods
vaci Nov 2, 2020
407d25c
tidy up interface generation
vaci Nov 2, 2020
9d023f0
fix generic pipeline params. add (non-generic, for now) capability list
vaci Nov 2, 2020
054213a
add rpc bootstrap factory
vaci Nov 2, 2020
1f00477
rpc tests
vaci Nov 4, 2020
7d2e541
fix getNetwork bug, remove unnecessary TwoPartVatNetwork specialisation
vaci Nov 5, 2020
e8a118f
add overload for messageSizeHint
vaci Nov 5, 2020
850a603
oops, correct assertion of missing question
vaci Nov 5, 2020
95787f1
skip non-generic nodes when traversing for generic params
vaci Nov 5, 2020
d2d851d
stub out generic pipeline accessors, for now
vaci Nov 5, 2020
0ce52fe
add resolve test and fix handleResolve bugs
vaci Nov 6, 2020
713f008
stub out two-party test suite for now
vaci Nov 6, 2020
66fc361
stub out two-party test suite for now
vaci Nov 6, 2020
45d1470
make anypipeline.noop public
vaci Nov 7, 2020
6b8898c
make noop public
vaci Nov 7, 2020
0283fc5
add lite mode for compiler
vaci Nov 7, 2020
9e6d495
add runtime-rpc module and refactor project
vaci Nov 8, 2020
59c8f64
Merge branch 'capnpc-java-lite'
vaci Nov 8, 2020
8457c38
fix null exportId bug
vaci Nov 8, 2020
7b79ab8
avoid TestUtil name clash
vaci Nov 9, 2020
f640a8f
allow copyPointer to copy capabilities
vaci Nov 9, 2020
cee3aa7
set AnyPointer from AnyPointer
vaci Nov 9, 2020
f2df5c2
implement rpc tail calls
vaci Nov 5, 2020
e04adc9
embargo test and tribble
vaci Nov 8, 2020
cefd8ea
add AnyStruct
vaci Nov 9, 2020
ce8ecc5
bump travis to jdk14
vaci Nov 9, 2020
1e7b03d
point readme to our travis badge
vaci Nov 9, 2020
40aebee
Move compiler test package to correct directory
vaci Nov 9, 2020
0ff8197
avoid test package name clash
vaci Nov 9, 2020
b1be88d
bump capnproto C++ runtime to version 0,8.0 in travis CI
vaci Nov 9, 2020
f05c994
correct module description
vaci Nov 9, 2020
c30dba3
add callBrokenPromise test
vaci Nov 9, 2020
dcd9eb3
add override to set clients from completablefutures
vaci Nov 9, 2020
f3bb329
generalise AnyPointer setAs AnyPointer
vaci Nov 10, 2020
cd8e096
small tidy of RpcState
vaci Nov 10, 2020
d526eca
resolve PromiseClient requests in order
vaci Nov 12, 2020
ce9e168
dont aggressively clean up answer pipelines
vaci Nov 12, 2020
c8c8c8a
just catch Exception when failing to send abort
vaci Nov 12, 2020
af47f1a
simplify iteration of (weak) question table
vaci Nov 12, 2020
2ddc8e1
run the message loop asynchronously
vaci Nov 12, 2020
4e9e7f4
cancellation
vaci Nov 6, 2020
69a045d
make requests autoclosable and cleanup disconnection
vaci Nov 12, 2020
c0a57d3
merge resolveTask into constructor
vaci Nov 13, 2020
37aa04b
allow network to use bytechannels
vaci Nov 13, 2020
ad17a4c
refactor connection and disconnection
vaci Nov 13, 2020
c2423d4
improve question lifecycle handling
vaci Nov 16, 2020
bac65db
Merge remote-tracking branch 'sandstorm/master'
vaci Nov 16, 2020
f0d4d9d
add embargoUnwrap test
vaci Nov 9, 2020
6e066d4
send abort to close test connection
vaci Nov 14, 2020
330eb50
disconnect test networks on close
vaci Nov 14, 2020
9f13f29
implement missing overrides for PromiseClient
vaci Nov 17, 2020
224bc3a
oops, ensure bootstrap uses the questionRef promise
vaci Nov 17, 2020
3513db0
setup/teardown rpc tests
vaci Nov 17, 2020
054e4ef
Revert "resolve PromiseClient requests in order"
vaci Nov 17, 2020
13dec22
implement evalLast queue
vaci Nov 17, 2020
d6112f0
allow for testEmbargoUnwrapped ordering
vaci Nov 17, 2020
709751a
add logging for inbound messages
vaci Nov 17, 2020
5e797d3
remove baseAccept and tidy TowPartyVatNetwork
vaci Nov 19, 2020
68edac5
remove unused getVatIdFactory()
vaci Nov 19, 2020
f0fbaac
avoid null bootstrap interface
vaci Nov 19, 2020
af229cc
cleanup minor code quality issues in RpcState
vaci Nov 19, 2020
0c4e988
ensure whenMoreResolved resolves to eventual client in PromiseClient
vaci Nov 19, 2020
1366e28
simplify conversion to CompletableFuture<Void>
vaci Nov 19, 2020
d3e639e
add capability tail call test
vaci Nov 19, 2020
e314d26
use sendInternal rather than calling hook directly
vaci Nov 20, 2020
1cadca6
add releaseCall to delay call execution
vaci Nov 20, 2020
5289247
serialise write and correct chaining
vaci Nov 20, 2020
119a682
memoise queuespipeline caps. use queues to order queuedclient resolution
vaci Nov 23, 2020
cdb719e
oops, invert senderLoopback assertion
vaci Nov 23, 2020
beec84a
calling thread drives client side loop
vaci Nov 23, 2020
3b642d0
add a delay to testTailCall
vaci Nov 23, 2020
9465ffd
add default getBrand to RequestHook
vaci Nov 24, 2020
5a27b4b
tidy up Builder refs in AnyPointer.Pipeline
vaci Nov 24, 2020
594e5e3
reduce visibility of cap contexts
vaci Nov 24, 2020
fb5f1bf
cleanup import lifecycle
vaci Nov 24, 2020
2d072a6
implement streaming requests
vaci Nov 25, 2020
941a254
by default, streaming calls fal back to regular calls
vaci Nov 25, 2020
07f8f22
implement call blocking stack
vaci Nov 25, 2020
de85613
consistent naming of factories
vaci Nov 26, 2020
e3d52a0
use gather writes for AsynchronousSocketChannels
vaci Nov 23, 2020
359dae8
lower logging level to FINE
vaci Nov 26, 2020
3ba9695
disembargo promise is always non-null
vaci Nov 26, 2020
772108f
add testEmbargoNull test
vaci Nov 26, 2020
6326f96
new style resolve switch
vaci Nov 26, 2020
60690c1
fix construction of never-resolving pipeline
vaci Nov 26, 2020
a2a17ea
remove CapabilityServerSetBase, add test case
vaci Nov 26, 2020
a3837e6
message loop exit logging level as FINE
vaci Nov 26, 2020
b5c1c48
all channels are socket channels
vaci Nov 26, 2020
585a212
remove unused AnyRequest.send()
vaci Nov 27, 2020
6e5bcc6
replace typeless requests with anonymous implementations
vaci Nov 27, 2020
250f14e
simplify QueuedPipeline promise
vaci Nov 27, 2020
a53f7db
remove extraneous ArrayList wrapper from ops key
vaci Nov 27, 2020
789d2df
replace PipelineOp[] with short[]
vaci Nov 27, 2020
ab44843
QueuedClient should stop queuing calls once it has resolved
vaci Nov 27, 2020
66ee947
replace Integers with FileDescriptors
vaci Nov 28, 2020
c66250f
remove sizeHint branch from new outgoing messages
vaci Nov 28, 2020
d02e460
tidy up response and pipeline construction
vaci Nov 30, 2020
c04bdb8
add clienthook commentary
vaci Nov 30, 2020
2b5bf0e
tidy up branding and implement QueuedClient,getBrand() correctly
vaci Nov 30, 2020
e9493cf
ensure group access pipelines are created
vaci Nov 6, 2020
837f1b3
add AnyList
vaci Nov 30, 2020
3b1f5f4
use lists for queued calls, clean up on resolution
vaci Dec 1, 2020
53eeed9
make direct call if QueuedClient has resolved
vaci Dec 1, 2020
e3eabe6
copy params in direct tail call
vaci Dec 3, 2020
998b569
add ez-rpc
vaci Dec 3, 2020
f74ad80
remove cancellation completion for now
vaci Dec 3, 2020
196b825
ensure StructBuilders and StructLists maintain capTable context
vaci Dec 3, 2020
25c50b1
moar capTable context maintenance
vaci Dec 3, 2020
ecd034e
add calculator example
vaci Dec 3, 2020
635bfa0
imports
vaci Dec 5, 2020
21d3eba
remove CompletableFutureWrapper
vaci Dec 5, 2020
c7621d1
whenMoreResolved should return null when resolved
vaci Dec 7, 2020
23c3c78
combine cleanup methods
vaci Dec 7, 2020
c9dcefb
EzRpcClient must connect synchronously
vaci Dec 7, 2020
59c6913
EzRpcServer expects internet sockets
vaci Dec 7, 2020
22e5ab3
Merge remote-tracking branch 'sandstorm/master'
vaci Dec 7, 2020
2dcaebb
github CI workflow
vaci Dec 7, 2020
4f55af4
remove excess client construction from EzRpcClient
vaci Dec 8, 2020
21b8aa6
add gitlab CI
vaci Feb 24, 2021
3d81962
add gitlab CI to master
vaci Mar 19, 2021
1bf1228
revert to java version 11
vaci Mar 5, 2021
950ba82
use java11 switches and completablefutures
vaci Mar 18, 2021
6122523
Merge pull request #15 from vaci/vaci/java11-backport
vaci Apr 5, 2021
b24a362
Merge from upstream
Aug 19, 2021
4fc6ffd
try fixing jdk version to 11
Aug 19, 2021
6e3fa81
add some colour to the README
Aug 19, 2021
f37f934
wqbump runtime-rpc dependencies to 0.1.10
Aug 19, 2021
eab8829
Merge pull request #18 from vaci/vaci/merge-0110
vaci Aug 21, 2021
2731586
fix "questionId is already in use" error
aarcangeli Oct 16, 2021
d3bdb29
Merge pull request #19 from aarcangeli/patch-1
vaci Nov 5, 2021
9a32482
Merge remote-tracking branch 'sandstorm/master' into vaci/merge2
vaci Nov 9, 2021
84dcb10
correct pom version
vaci Nov 10, 2021
9bb1032
avoid truncating struct size
vaci Nov 10, 2021
2e319ce
Merge pull request #20 from vaci/vaci/merge2
vaci Nov 10, 2021
42d5535
Track fix to ordering bug as described here:
vaci Mar 5, 2022
97e4766
Merge pull request #22 from vaci/vaci/rpc-ordering
vaci Mar 5, 2022
3b4ee42
remove unused import
vaci Mar 6, 2022
845186f
Merge pull request #23 from vaci/vaci/unused-import
vaci Mar 6, 2022
59701de
Provide fallback to original interface.
vaci Mar 6, 2022
4171577
Move NULL and BROKEN brands to ClientHook
vaci Mar 6, 2022
8c6b9c8
Avoid use of var
vaci Mar 6, 2022
f510bd1
move captable contexts
vaci Mar 6, 2022
3ec3dba
remove captable contexts from capability
vaci Mar 6, 2022
7c521d5
avoid var in ClientHook
vaci Mar 6, 2022
88182b9
Merge pull request #24 from vaci/vaci/portability
vaci Mar 12, 2022
3119bb5
Fix generic structs with non-generic interface as type parameter.
Mar 21, 2022
01b5a6c
Merge pull request #25 from jan-br/master
vaci Apr 6, 2022
949103c
Merge remote-tracking branch 'sandstorm/master'
vaci May 2, 2022
af9c109
CI token (#31)
vaci Aug 8, 2022
ced3f11
Specify OpenJDK version for JitPack (#28)
vaci Aug 8, 2022
e77372b
Fix integer overflow in bounds checking
mdindoffer Apr 28, 2022
89d1c57
Fix integer overflow in computeSerializedSizeInWords
mdindoffer May 4, 2022
b1eadae
Fix intege overflow in _setBooleanElement in a primitive list
mdindoffer May 6, 2022
529a3da
Fix integer overflow in setListPointer size calculation
mdindoffer May 6, 2022
58c906f
Introduce constant for nesting limit in LayoutTest
mdindoffer May 6, 2022
04d0692
Fix integer overflow when calculating zeroing range in zeroObject
mdindoffer May 6, 2022
e8338d8
Performance-related cleanup
mdindoffer May 6, 2022
2094289
Avoid duplicate bitwise operations when reading primitive list pointers
mdindoffer Jun 6, 2022
ee0d727
pass null captable in ListReader test
vaci Aug 8, 2022
e3f447d
use java nio AsynchronousByteChannel instead for Serialize
whyvl Aug 4, 2022
ca7ceed
remove AsynchronousByteListenChannel
vaci Aug 9, 2022
1a36fd8
Update README.md
vaci Nov 27, 2022
7d7f229
merging capnproto-java master back into capnproto-java-rpc
sebastianbergt Jul 24, 2025
8c74174
Update README.md
sebastianbergt Jul 24, 2025
e7c91ca
downgrade versions except for examples
sebastianbergt Jul 24, 2025
aeb56e0
restore CI
Jul 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 25 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,44 @@ on:
pull_request:
branches: [ master ]


jobs:
build:
runs-on: ubuntu-latest
env:
PKG_CONFIG_PATH: /home/runner/lib/pkgconfig

steps:
- uses: actions/checkout@v2

- name: Install Cap'n Proto
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get install -y capnproto libcapnp-dev

- name: Set up JDK 1.8
env
sudo apt-get install -y gcc-7 g++-7
curl -O https://capnproto.org/capnproto-c++-0.8.0.tar.gz
tar zxf capnproto-c++-0.8.0.tar.gz
cd capnproto-c++-0.8.0
./configure --prefix=$HOME CC=gcc-7 CXX=g++-7
make -j
make install
cd ..

- name: Set up JDK 14
uses: actions/setup-java@v1
with:
java-version: 1.8
java-version: 14

- name: Build with Maven
env:
LD_LIBRARY_PATH: /home/runner/lib
run: |
make
mvn compile
env
make CC=gcc-7 CXX=g++-7
env PATH="${PATH}:/home/runner/bin" mvn -e -X compile

- name: Run tests
run: mvn test
env:
LD_LIBRARY_PATH: /home/runner/lib
run: |
env PATH="${PATH}:/home/runner/bin"
env PATH="${PATH}:/home/runner/bin" mvn -e -X test

18 changes: 18 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
image: capnproto-gitlab-builder

stages:
- build
- quality

build:
stage: build
script:
- mvn -e -X clean compile

test:
stage: quality
dependencies:
- build
script:
- mvn -e -X test

7 changes: 7 additions & 0 deletions .run/Calculator.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Calculator" type="CompoundRunConfigurationType">
<toRun name="CalculatorServer" type="Application" />
<toRun name="CalculatorClient" type="Application" />
<method v="2" />
</configuration>
</component>
13 changes: 13 additions & 0 deletions .run/CalculatorClient.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="CalculatorClient" type="Application" factoryName="Application">
<option name="ALTERNATIVE_JRE_PATH" value="openjdk-14" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="MAIN_CLASS_NAME" value="org.capnproto.examples.CalculatorClient" />
<module name="examples" />
<option name="PROGRAM_PARAMETERS" value="localhost:6567" />
<method v="2">
<option name="Make" enabled="true" />
<option name="FwBeforeLaunchTask" enabled="true" />
</method>
</configuration>
</component>
12 changes: 12 additions & 0 deletions .run/CalculatorServer.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="CalculatorServer" type="Application" factoryName="Application">
<option name="ALTERNATIVE_JRE_PATH" value="openjdk-14" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="MAIN_CLASS_NAME" value="org.capnproto.examples.CalculatorServer" />
<module name="examples" />
<option name="PROGRAM_PARAMETERS" value="localhost:6567" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,15 @@
and capabilities, and capnproto-java is a pure Java implementation.

[Read more here.](https://dwrensha.github.io/capnproto-java/index.html)

This repository clone adds an implementation of the RPC framework for Java.

Promise pipelining is provided via java.util.concurrent.CompletableFuture. Unlike the KJ asynchronous model, which completes promises
only when they are waited upon, a CompletableFuture can complete immediately. This may break E-ordering, as the C++ implementation
relies on kj::evalLater() to defer method calls and this implementation may have subtle differences.

Most of the C++ RPC test cases have been ported to this implementation, which gives me some comfort that the implementation logic is
correct, but more extensive testing is required.

This implementation does not support generic interfaces. Extending the schema compiler to output code for generic interfaces is an
exercise I leave to the reader.
16 changes: 13 additions & 3 deletions benchmark/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.release>8</maven.compiler.release>
<maven.compiler.source>14</maven.compiler.source>
<maven.compiler.target>14</maven.compiler.target>
<maven.compiler.release>14</maven.compiler.release>
</properties>
<dependencies>
<dependency>
Expand All @@ -45,6 +45,16 @@

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.0.0</version>
Expand Down
9 changes: 5 additions & 4 deletions compiler/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
<version>5.11.4</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.capnproto</groupId>
<artifactId>runtime</artifactId>
Expand All @@ -56,6 +55,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>11</source>
<target>11</target>
<compilerArgument>-Xlint:unchecked</compilerArgument>
</configuration>
</plugin>
Expand All @@ -79,21 +80,21 @@
<goal>run</goal>
</goals>
</execution>

<execution>
<id>generate-test-sources</id>
<phase>generate-test-sources</phase>
<configuration>
<target>
<mkdir dir="src/test/generated"/>
<mkdir dir="src/test/generated/org/capnproto/test"/>
<exec executable="capnp" failonerror="true">
<arg value="compile"/>
<arg value="-I"/>
<arg value="src/main/schema/"/>
<arg value="--src-prefix=src/test/schema/"/>
<arg value="-o../capnpc-java:src/test/generated"/>
<arg value="-o../capnpc-java:src/test/generated/org/capnproto/test"/>
<arg value="src/test/schema/test.capnp"/>
<arg value="src/test/schema/test-import.capnp"/>
<env key="CAPNP_LITE" value="1"/>
</exec>
</target>
</configuration>
Expand Down
Loading