Commit graph

521 commits

Author SHA1 Message Date
8c03f502db Remove dead kotlinx-nodejs dependency from web-map
Its only coordinate (org.jetbrains.kotlinx:kotlinx-nodejs:0.0.7) was
published to Bintray's "kotlinx" repository, which has been shut down
since 2021 - it's unresolvable from any repo configured here (Maven
Central, JitPack, Gradle Plugin Portal, or JetBrains Space all 404 it),
blocking configuration of the whole build whenever a task touched
web-map. Turns out nothing in web-map's source actually imports
kotlinx.nodejs.* - the one require() call nearby is webpack's own
bundler global, unrelated to this library. It was also duplicated next
to a second, redundant kotlinx-html line. Just deleting the dependency
is the correct fix, not re-hosting a defunct artifact.

Verified: `:modules:events-mod:build :modules:events-library:check`
now gets past configuration and all JVM-side tasks succeed (the JS
browser test target still needs a locally installed Chrome for Karma,
which is an unrelated environment requirement, not a dependency issue).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-12 15:46:04 +02:00
509832d26d Fix kxs-ts-gen-core dependency resolution and unblocked compile bugs
The version catalog pointed kxs-ts-gen-core at a JitPack coordinate
(com.github.adamko-dev.kotlinx-serialization-typescript-generator) that
no longer serves real artifacts there, despite JitPack's build-status
API still reporting it as built. The library is properly published to
Maven Central under dev.adamko.kxstsgen - a commented-out line with
that exact coordinate was already sitting in the catalog. Swapping to
it fixes dependency resolution for every module depending on
versions-platform (which previously blocked any Gradle task touching
events-library, including all of its tests).

That unblocked two more pre-existing, unrelated bugs that had never
been caught because this module never previously compiled:

- LuaJsonList<T> : List<T> by list triggered a longstanding Kotlin
  compiler bug (KT-3546, "accidental override" on generic toArray)
  specific to delegating java.util.List via `by`. Replaced with a
  hand-written Collection<T> implementation (no delegation codegen,
  no bug), which still satisfies Kotest's forOne/forAll inspectors -
  the only thing any code actually needs from it.
- The kxs-ts-gen Kotlin->TypeScript generator (kt2ts2.kt) still emitted
  the pre-2.0 bare `uint`/`int` names and no import statement, since it
  predates typed-factorio's move to virtual modules. Updated its
  primitive-type mappings to uint32/int32 and added the "factorio:runtime"
  import to its generated header, so the regenerated schema matches what
  the rest of events-mod now expects.

Verified via real Gradle tasks (not just manual tooling): events-library
compiles and all tests pass; events-mod's full build - Kotlin schema
generation, npm install, tstl compile, and info.json generation (with
factorio_version "2.0" and the space-exploration/Krastorio2 optional
dependencies) - succeeds end-to-end.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-12 15:40:33 +02:00
e296a9aa90 Fix compile errors surfaced by actually building against Factorio 2.0.77
typed-factorio 2.0.0+ stopped declaring types as ambient globals - they
now live in virtual modules ("factorio:runtime", "factorio:common",
"factorio:settings") and must be explicitly imported. Adds those imports
throughout events-mod. Also:

- Bumps typescript-to-lua 1.11.1 -> 1.25.2 and typescript 4.9 -> 5.4.2,
  since tstl pins an exact peer TypeScript version and typed-factorio
  3.x needs a newer one than 4.9 supports (a real compiler bug in
  TS 4.9 against the generated defines.segmented_unit_ai_state enum).
- Bumps the pinned isolated Node (14.19.1 -> 24.21.0), since
  typescript-to-lua 1.25.2 requires Node >=16.10.0.
- Renames bare uint/int -> uint32/int32 (import aliases), since the
  unsized aliases no longer exist.
- Drops OnEntityDestroyedEvent from an unused documentation-only union
  type - that event no longer exists in the 2.0 API.
- LuaEntityPrototype.max_health is now get_max_health() (quality-aware).
- Fixes a branded-type mismatch between our generated schema's
  ForceIndex and typed-factorio's own ForceIndex.

Verified by actually running tstl end-to-end (clean compile, Lua
emitted) after installing a real JDK and Node toolchain.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-12 15:27:50 +02:00
072d1a2845 Port events-mod to Factorio 2.0.77, declare SE/Krastorio 2 compatibility
Bumps the Factorio engine pin and typed-factorio (1.11.0 -> 3.36.0,
targeting 2.0.75) and fixes the resulting breaking API changes:
global -> storage, game.*_prototypes -> prototypes.*, game.table_to_json/
encode_string -> helpers.*, OnBuiltEntityEvent.created_entity -> .entity,
removed TileRead/ColorTable/MapPositionTable-style write-form aliases,
new CollisionMask shape, restructured settings-stage type imports, and
new defines.entity_status values (added to the Status enum, generated
schema, and EntityStatusRecord mapping). Also declares optional mod
dependencies on space-exploration and Krastorio2.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-12 15:06:30 +02:00
Adam
76c47d9756 tidy up after refactoring Gradle Factorio plugin 2022-12-19 16:53:18 +01:00
Adam
a99ed5bb85 remove generated lua (it's stable - moved it to temp dir) 2022-12-19 16:52:49 +01:00
Adam
9f2b9cbd5c big ol' refactor of the Gradle Factorio Mod
- handle launching in multiple OSes
- specific tasks for specific mod operations
- extension object for settings
- ground work for multiple mods
2022-12-18 01:41:14 +01:00
Adam
2c9c442595 typo dequed -> dequeued 2022-12-06 00:24:17 +01:00
Adam
fcb870072a version bumps 2022-12-06 00:23:52 +01:00
Adam
dd9c9500d3 lenient Docker Env properties 2022-12-05 23:20:54 +01:00
Adam
76d553a6bf version 0.10.1 2022-10-30 19:27:50 +01:00
Adam
ce4df2081a bump versions: factorio, typed-factorio 2022-10-30 19:26:43 +01:00
Adam
394acc5ca0 version 0.10.0 2022-10-30 19:22:38 +01:00
Adam
30d5a67a2a update license to be gpl-3.0 2022-10-30 18:58:50 +01:00
Adam
76a661e444 move logo, add function to auto-init the project logo 2022-10-30 18:44:47 +01:00
Adam
f0b080a7fe optimise logo 2022-10-30 18:44:11 +01:00
Adam
531b8e193e tidy up gradle plugins (mostly removing comments) 2022-10-30 17:13:03 +01:00
Adam
3f771f9838 fix bootstrap server, remove http:// 2022-10-23 21:54:38 +02:00
Adam
ccd08c87c8 version 0.9.15 2022-10-22 23:37:15 +02:00
Adam
5562e86f09 [docker-files] remove user config 2022-10-22 23:36:00 +02:00
Adam
e05557c97c [web-map] fix missing css/image in dockerfile 2022-10-22 20:54:40 +02:00
Adam
51f44f1fd2 version 0.9.14 2022-10-22 20:36:47 +02:00
Adam
82c681e320 [dockerfiles] remove volumes 2022-10-22 20:35:52 +02:00
Adam
14e204d197 version 0.9.13 2022-10-22 20:28:22 +02:00
Adam
45691a049b [dockerfiles] fix user name/id variables 2022-10-22 20:27:17 +02:00
Adam
c9d21fa25a try fixing user permissions in containers 2022-10-22 20:24:27 +02:00
Adam
bb5e98f740 version 0.9.12 2022-10-22 19:56:33 +02:00
Adam
9b331cc105 update dockerfiles
- define user uid/gid
- use new geedeecee files (hopefully means smaller images, faster building)
2022-10-22 19:55:02 +02:00
Adam
ce0d4b7378 [events-processors] change where topo description is written 2022-10-22 19:52:02 +02:00
Adam
de24a62635 version 0.9.11 2022-10-18 23:23:09 +02:00
Adam
f99208b5b2 more fixing of Kafkatorio packets... 2022-10-18 23:22:26 +02:00
Adam
77d0dc27ca fix local mod deploy Gradle tasks 2022-10-18 21:36:22 +02:00
Adam
dda48bac78 refactor the KafkatorioPacket tag that the mod logs, and the syslog-server parses 2022-10-18 21:35:49 +02:00
Adam
ecf680d9ce [syslog-server] minor styling 2022-10-18 21:26:30 +02:00
Adam
557dc97635 [syslog-server] refactor logging and error handling (avoid runCatching) in producer 2022-10-18 21:25:18 +02:00
Adam
8342a923a8 kt2ts2.kt - minor style refactor 2022-10-18 21:22:06 +02:00
Adam
b2b6da9c3c version 0.9.9 2022-10-17 00:18:33 +02:00
Adam
08f23eebd7 [syslog-server] fix server host/port mixup in dockerfile 2022-10-17 00:18:07 +02:00
Adam
6fa5c3f488 [mod] re-build lua (I need to get rid of the lua code and keep at as generated... 2022-10-17 00:17:14 +02:00
Adam
0216d068c5 [syslog-server] ignore, but log, non-syslog messages. Minor logging tweaks. 2022-10-17 00:14:27 +02:00
Adam
1cc5afa6e2 set default socket-server host to 0.0.0.0 2022-10-17 00:12:03 +02:00
Adam
895194d576 [mod] add code for writing packets to file (but disable it) 2022-10-17 00:11:45 +02:00
Adam
33255f2d1b [syslog-sever] rm unnecessary @PublishedApi from internal jsonMapper 2022-10-17 00:10:21 +02:00
Adam
7f4316065c rm default KAFKATORIO_VERSION in events-processors dockerfile 2022-10-16 13:52:26 +02:00
Adam
8be1fa5025 version 0.9.8 2022-10-16 13:08:04 +02:00
Adam
da7b4b6ad1 version bumps 2022-10-16 13:07:43 +02:00
Adam
e6ffe4cba5 update bootstrap css (some sort of encoding change with a "-NBSP" 2022-10-16 12:47:45 +02:00
Adam
0f9e51df31 refactor syslog server to use Dispatchers.IO and SupervisorScope (try to fix connection refused error) 2022-10-16 12:34:07 +02:00
Adam
2032da903f version 0.9.7 2022-10-15 20:42:47 +02:00
Adam
dbfbc9bbea kafka-pipe: update filter "KafkatorioPacket encoded:::" 2022-10-15 20:42:28 +02:00