mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-11-06 01:56:21 +00:00
c0643fadca
Historically we've used copy-cat to provide a web-based emulator for running example code on our documentation site. However, copy-cat is often out-of-date with CC:T, which means example snippets fail when you try to run them! This commit vendors in copy-cat (or rather an updated version of it) into CC:T itself, allowing us to ensure the emulator is always in sync with the mod. While the ARCHITECTURE.md documentation goes into a little bit more detail here, the general implementation is as follows - In project/src/main we implement the core of the emulator. This includes a basic reimplementation of some of CC's classes to work on the web (mostly the HTTP API and ComputerThread), and some additional code to expose the computers to Javascript. - This is all then compiled to Javascript using [TeaVM][1] (we actually use a [personal fork of it][2] as there's a couple of changes I've not upstreamed yet). - The Javascript side then pulls in the these compiled classes (and the CC ROM) and hooks them up to [cc-web-term][3] to display the actual computer. - As we're no longer pulling in copy-cat, we can simplify our bundling system a little - we now just compile to ESM modules directly. [1]: https://github.com/konsoletyper/teavm [2]: https://github.com/SquidDev/teavm/tree/squid-patches [3]: https://github.com/squiddev-cc/cc-web-term
26 lines
938 B
XML
26 lines
938 B
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!--
|
|
SPDX-FileCopyrightText: 2019 The CC: Tweaked Developers
|
|
|
|
SPDX-License-Identifier: MPL-2.0
|
|
-->
|
|
|
|
<!DOCTYPE suppressions PUBLIC
|
|
"-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
|
|
"https://checkstyle.org/dtds/suppressions_1_2.dtd">
|
|
<suppressions>
|
|
<!-- All the config options and method fields. -->
|
|
<suppress checks="StaticVariableName" files=".*[\\/]ComputerCraft.java" />
|
|
<suppress checks="StaticVariableName" files=".*[\\/]ComputerCraftAPI.java" />
|
|
|
|
<!-- The commands API is documented in Lua. -->
|
|
<suppress checks="SummaryJavadocCheck" files=".*[\\/]CommandAPI.java" />
|
|
|
|
<!-- Allow putting files in other packages if they look like our TeaVM stubs. -->
|
|
<suppress checks="PackageName" files=".*[\\/]T[A-Za-z]+.java" />
|
|
|
|
<!-- Allow underscores in our test classes. -->
|
|
<suppress checks="MethodName" files=".*Contract.java" />
|
|
</suppressions>
|