{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.SCMTrigger$SCMTriggerCause",
          "shortDescription" : "Started by an SCM change"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 344,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "f6a6b90211746758c351c341db7c31f21e1bbcd7",
            "branch" : [
              {
                "SHA1" : "f6a6b90211746758c351c341db7c31f21e1bbcd7",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f6a6b90211746758c351c341db7c31f21e1bbcd7",
            "branch" : [
              {
                "SHA1" : "f6a6b90211746758c351c341db7c31f21e1bbcd7",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "f6a6b90211746758c351c341db7c31f21e1bbcd7",
        "branch" : [
          {
            "SHA1" : "f6a6b90211746758c351c341db7c31f21e1bbcd7",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/mcMMO-Dev/mcMMO.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "mcMMO.jar",
      "fileName" : "mcMMO.jar",
      "relativePath" : "target/mcMMO.jar"
    },
    {
      "displayPath" : "original-mcMMO.jar",
      "fileName" : "original-mcMMO.jar",
      "relativePath" : "target/original-mcMMO.jar"
    }
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#344",
  "duration" : 64103,
  "estimatedDuration" : 135282,
  "executor" : None,
  "fullDisplayName" : "mcMMO #344",
  "id" : "344",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 344,
  "queueId" : 217,
  "result" : "SUCCESS",
  "timestamp" : 1783742649902,
  "url" : "https://popicraft.net/jenkins/job/mcMMO/344/",
  "builtOn" : "Builder",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/java/com/gmail/nossr50/TestRegistryBootstrap.java"
        ],
        "commitId" : "d96637f38a29f099b77b2b4ba2da7a8ac681a066",
        "timestamp" : 1783741958000,
        "author" : {
          "absoluteUrl" : "https://popicraft.net/jenkins/user/nossr50",
          "fullName" : "nossr50"
        },
        "authorEmail" : "nossr50@gmail.com",
        "comment" : "Fail fast when the registry bootstrap lookup pipeline is broken\u000a\u000aThe CI-only registry failure surfaces as NoClassDefFoundError in\u000aevery test after the first bootstrap, far away from the actual\u000abreak. Verify the pipeline right after Registry initializes: check\u000athat Registry.EFFECT resolved through the bootstrap answer and that\u000aa lookup on it mints a non-null instance, and throw a descriptive\u000aIllegalStateException at the exact broken link instead of letting a\u000aregistry-backed class initializer read null and poison its class\u000afor the whole JVM.\u000a",
        "date" : "2026-07-10 20:52:38 -0700",
        "id" : "d96637f38a29f099b77b2b4ba2da7a8ac681a066",
        "msg" : "Fail fast when the registry bootstrap lookup pipeline is broken",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/java/com/gmail/nossr50/TestRegistryBootstrap.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/java/com/gmail/nossr50/util/sounds/SoundManagerTest.java",
          "src/test/java/com/gmail/nossr50/MMOTestEnvironment.java"
        ],
        "commitId" : "f6a6b90211746758c351c341db7c31f21e1bbcd7",
        "timestamp" : 1783742462000,
        "author" : {
          "absoluteUrl" : "https://popicraft.net/jenkins/user/nossr50",
          "fullName" : "nossr50"
        },
        "authorEmail" : "nossr50@gmail.com",
        "comment" : "Fix test-order-dependent poisoning of Bukkit registry constants\u000a\u000aSoundManagerTest answered Bukkit.getRegistry with bare Registry\u000amocks whose lookups return null. Whichever test first triggers\u000aorg.bukkit.Registry initialization welds its lookup results into\u000athe Registry constants for the rest of the JVM, so when that test\u000aran before any TestRegistryBootstrap user (the CI runner listed the\u000autil package before the skills package; Windows lists it after,\u000awhich is why this never reproduced locally), PotionEffectType read\u000aa null lookup during its own initialization and 108 later tests\u000adied with NoClassDefFoundError.\u000a\u000aSoundManagerTest now serves registry lookups through\u000aTestRegistryBootstrap, and MMOTestEnvironment bootstraps for every\u000aharness test so no test ordering can initialize the registry\u000aconstants without the minting answer in place. Reproduced with\u000a-Dsurefire.runOrder=reversealphabetical and verified green in both\u000aorders on JDK 17 and JDK 25.\u000a",
        "date" : "2026-07-10 21:01:02 -0700",
        "id" : "f6a6b90211746758c351c341db7c31f21e1bbcd7",
        "msg" : "Fix test-order-dependent poisoning of Bukkit registry constants",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/java/com/gmail/nossr50/util/sounds/SoundManagerTest.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/java/com/gmail/nossr50/MMOTestEnvironment.java"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://popicraft.net/jenkins/user/nossr50",
      "fullName" : "nossr50"
    }
  ]
}