OASIS-learn-study / minecraft-storeys-maker

Minecraft extension to make your own stories in, with and for Minecraft - it's like being a movie director!
https://www.learn.study
GNU Affero General Public License v3.0
14 stars 10 forks source link

Run build entirely in container, without depending on local tools (but still cache output) #374

Closed vorburger closed 2 years ago

vorburger commented 2 years ago

Like in #372, I'm toying with working on this project using GitHub Codespaces (customized with my own dotfiles) and because there is Java 17 instead of 8 pre-installed there, I'm hitting this problem:

ch.vorburger.minecraft.storeys.model.DynamicActionTest > execute FAILED
    java.lang.NoSuchFieldException: modifiers
        at java.base/java.lang.Class.getDeclaredField(Class.java:2610)
        at ch.vorburger.minecraft.storeys.model.parser.TestPlainTextSerializer.removeFinal(TestPlainTextSerializer.java:54)
        at ch.vorburger.minecraft.storeys.model.parser.TestPlainTextSerializer.setStaticFinalField(TestPlainTextSerializer.java:47)
        at ch.vorburger.minecraft.storeys.model.parser.TestPlainTextSerializer.setCatalogElement(TestPlainTextSerializer.java:43)
        at ch.vorburger.minecraft.storeys.model.parser.TestPlainTextSerializer.inject(TestPlainTextSerializer.java:39)
        at ch.vorburger.minecraft.storeys.model.DynamicActionTest.initialize(DynamicActionTest.java:42)

ch.vorburger.minecraft.storeys.model.parser.StoryParserTest > classMethod FAILED
    java.lang.NoSuchFieldException: modifiers
        at java.base/java.lang.Class.getDeclaredField(Class.java:2610)
        at ch.vorburger.minecraft.storeys.model.parser.TestPlainTextSerializer.removeFinal(TestPlainTextSerializer.java:54)
        at ch.vorburger.minecraft.storeys.model.parser.TestPlainTextSerializer.setStaticFinalField(TestPlainTextSerializer.java:47)
        at ch.vorburger.minecraft.storeys.model.parser.TestPlainTextSerializer.setCatalogElement(TestPlainTextSerializer.java:43)
        at ch.vorburger.minecraft.storeys.model.parser.TestPlainTextSerializer.inject(TestPlainTextSerializer.java:39)
        at ch.vorburger.minecraft.storeys.model.parser.StoryParserTest.initialize(StoryParserTest.java:59)

This gave me the idea that it would be better to build this project entirely in container, without depending on local tools (but still cache output).

@edewit I'll see if I can raise a PR for this.