{
  "_class" : "hudson.maven.MavenBuild",
  "actions" : [
    {
      "_class" : "hudson.maven.reporters.SurefireReport",
      "failCount" : 0,
      "skipCount" : 16,
      "totalCount" : 846,
      "urlName" : "testReport"
    },
    {
      "_class" : "hudson.maven.reporters.MavenArtifactRecord",
      "url" : "https://letsbuild.net/jenkins/job/Commandhelper/com.sk89q$commandhelper/13/mavenArtifacts/"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "commandhelper-3.3.5-SNAPSHOT-full.jar",
      "fileName" : "commandhelper-3.3.5-SNAPSHOT-full.jar",
      "relativePath" : "com.sk89q/commandhelper/3.3.5-SNAPSHOT/commandhelper-3.3.5-SNAPSHOT-full.jar"
    },
    {
      "displayPath" : "commandhelper-3.3.5-SNAPSHOT.jar",
      "fileName" : "commandhelper-3.3.5-SNAPSHOT.jar",
      "relativePath" : "com.sk89q/commandhelper/3.3.5-SNAPSHOT/commandhelper-3.3.5-SNAPSHOT.jar"
    },
    {
      "displayPath" : "commandhelper-3.3.5-SNAPSHOT.pom",
      "fileName" : "commandhelper-3.3.5-SNAPSHOT.pom",
      "relativePath" : "com.sk89q/commandhelper/3.3.5-SNAPSHOT/commandhelper-3.3.5-SNAPSHOT.pom"
    }
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#13",
  "duration" : 806130,
  "estimatedDuration" : 826025,
  "executor" : None,
  "fullDisplayName" : "CommandHelper » CommandHelper #13",
  "id" : "13",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 13,
  "queueId" : -1,
  "result" : "SUCCESS",
  "timestamp" : 1765720428556,
  "url" : "https://letsbuild.net/jenkins/job/Commandhelper/com.sk89q$commandhelper/13/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.maven.FilteredChangeLogSet",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/Compiler.java"
        ],
        "commitId" : "19d690cf1c475ffa180facd59c4b1c345227a46f",
        "timestamp" : 1764193144000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "Pieter12345@users.noreply.github.com",
        "comment" : "Add __cast__ function and syntax\u000a\u000aAdd `__cast__(val, type)` function and syntax. Syntax is `(type) val`.\u000a",
        "date" : "2025-11-26 22:39:04 +0100",
        "id" : "19d690cf1c475ffa180facd59c4b1c345227a46f",
        "msg" : "Add __cast__ function and syntax",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/Compiler.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/Compiler.java"
        ],
        "commitId" : "e2698cc4de93bbdfb0b5a00072a2ce6784a08f4e",
        "timestamp" : 1764193144000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "Pieter12345@users.noreply.github.com",
        "comment" : "Warn on casts to same type + Error on impossible casts\u000a",
        "date" : "2025-11-26 22:39:04 +0100",
        "id" : "e2698cc4de93bbdfb0b5a00072a2ce6784a08f4e",
        "msg" : "Warn on casts to same type + Error on impossible casts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/Compiler.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/Compiler.java"
        ],
        "commitId" : "c530cece4609f479888fce2d01d28dd4e0c2f105",
        "timestamp" : 1764193144000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "Pieter12345@users.noreply.github.com",
        "comment" : "Optimize __cast__()\u000a\u000a- Mark `__cast__()` for constant and cached returns.\u000a- Remove nested casts where the second executed cast is removed if the first executed cast passing ensures that the second executed cast will pass.\u000a",
        "date" : "2025-11-26 22:39:04 +0100",
        "id" : "c530cece4609f479888fce2d01d28dd4e0c2f105",
        "msg" : "Optimize __cast__()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/Compiler.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/MethodScriptCompiler.java"
        ],
        "commitId" : "99f21b3da35cf83f7254ce79c54cbafbdc5aef19",
        "timestamp" : 1764193144000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "Pieter12345@users.noreply.github.com",
        "comment" : "Fix unknown Target for sugared __cast__() syntax\u000a",
        "date" : "2025-11-26 22:39:04 +0100",
        "id" : "99f21b3da35cf83f7254ce79c54cbafbdc5aef19",
        "msg" : "Fix unknown Target for sugared __cast__() syntax",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/MethodScriptCompiler.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/constructs/IVariable.java",
          "src/main/java/com/laytonsmith/core/constructs/IVariableList.java"
        ],
        "commitId" : "541100bfc9b9e57e3385f714227c0e362875c261",
        "timestamp" : 1764193144000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "Pieter12345@users.noreply.github.com",
        "comment" : "Clone IVariables in IVariableList clone\u000a\u000aAllows for not recreating a new `IVariable` for every assign operation.\u000a",
        "date" : "2025-11-26 22:39:04 +0100",
        "id" : "541100bfc9b9e57e3385f714227c0e362875c261",
        "msg" : "Clone IVariables in IVariableList clone",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/constructs/IVariable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/constructs/IVariableList.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/Compiler.java",
          "src/test/java/com/laytonsmith/core/OptimizationTest.java",
          "src/main/java/com/laytonsmith/core/functions/DataHandling.java",
          "src/main/java/com/laytonsmith/core/functions/Exceptions.java",
          "src/test/java/com/laytonsmith/core/NewExceptionHandlingTest.java",
          "src/main/java/com/laytonsmith/core/constructs/IVariableList.java"
        ],
        "commitId" : "8a3b73d52293647deba253a92f18ffaf35fdc806",
        "timestamp" : 1764193144000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "Pieter12345@users.noreply.github.com",
        "comment" : "Optimize assign() to __unsafe_assign__ ()\u000a\u000aOptimize `assign()` to `__unsafe_assign__ ()` when it is known that the `assign()` typecheck will always pass.\u000a",
        "date" : "2025-11-26 22:39:04 +0100",
        "id" : "8a3b73d52293647deba253a92f18ffaf35fdc806",
        "msg" : "Optimize assign() to __unsafe_assign__ ()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/Exceptions.java"
          },
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/DataHandling.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/java/com/laytonsmith/core/NewExceptionHandlingTest.java"
          },
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/Compiler.java"
          },
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/constructs/IVariableList.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/java/com/laytonsmith/core/OptimizationTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/DataHandling.java"
        ],
        "commitId" : "e017fc2713e67ae66c244b464cd0500439448990",
        "timestamp" : 1764193144000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "Pieter12345@users.noreply.github.com",
        "comment" : "Reduce assign() runtime actions\u000a\u000a- Do not redefine variables in variable list when not necessary.\u000a- Unwrap IVariable values only once.\u000a- Directly create new IVariable with correct values when necessary.\u000a",
        "date" : "2025-11-26 22:39:04 +0100",
        "id" : "e017fc2713e67ae66c244b464cd0500439448990",
        "msg" : "Reduce assign() runtime actions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/DataHandling.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/Compiler.java"
        ],
        "commitId" : "bd0a1fe3b74f630826da88fedb510cdf742faecd",
        "timestamp" : 1764193144000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "Pieter12345@users.noreply.github.com",
        "comment" : "Fix compile error on post-assign non-cast parenthesis\u000a\u000aFixes compile error in the following example code:\u000a```\u000a@a = (1 + 2)\u000amsg(123)\u000a```\u000a",
        "date" : "2025-11-26 22:39:04 +0100",
        "id" : "bd0a1fe3b74f630826da88fedb510cdf742faecd",
        "msg" : "Fix compile error on post-assign non-cast parenthesis",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/Compiler.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/java/com/laytonsmith/core/MethodScriptCompilerTest.java"
        ],
        "commitId" : "4ddda9e34f758a074699382cfe0a5a160d4f0ba7",
        "timestamp" : 1764193144000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "Pieter12345@users.noreply.github.com",
        "comment" : "Add soft cast syntax compile test\u000a",
        "date" : "2025-11-26 22:39:04 +0100",
        "id" : "4ddda9e34f758a074699382cfe0a5a160d4f0ba7",
        "msg" : "Add soft cast syntax compile test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/java/com/laytonsmith/core/MethodScriptCompilerTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/resources/docs/Operators"
        ],
        "commitId" : "8ee27742482a8f66bcd5821ebf36557684591054",
        "timestamp" : 1764193144000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "Pieter12345@users.noreply.github.com",
        "comment" : "Add cast to operators table in documentation\u000a",
        "date" : "2025-11-26 22:39:04 +0100",
        "id" : "8ee27742482a8f66bcd5821ebf36557684591054",
        "msg" : "Add cast to operators table in documentation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/resources/docs/Operators"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/DataHandling.java"
        ],
        "commitId" : "4f3dbd90d56d243dbf6c4c64c73f1910fc3dced9",
        "timestamp" : 1764193144000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "Pieter12345@users.noreply.github.com",
        "comment" : "Rewrite proc parameter execution\u000a\u000aFixes issue where variables in default parameter value expressions resolve to previous parameters instead of variables from the outer scope in runtime.\u000a",
        "date" : "2025-11-26 22:39:04 +0100",
        "id" : "4f3dbd90d56d243dbf6c4c64c73f1910fc3dced9",
        "msg" : "Rewrite proc parameter execution",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/DataHandling.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/compiler/signature/SignatureBuilder.java"
        ],
        "commitId" : "c4bc3418f4c0241685fad2823b82adfc8037e1e0",
        "timestamp" : 1764193418000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "P.J.S.Kools@student.tudelft.nl",
        "comment" : "Fix syntax mistake in SignatureBuilder.varParam() docs\u000a",
        "date" : "2025-11-26 22:43:38 +0100",
        "id" : "c4bc3418f4c0241685fad2823b82adfc8037e1e0",
        "msg" : "Fix syntax mistake in SignatureBuilder.varParam() docs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/compiler/signature/SignatureBuilder.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/DataHandling.java"
        ],
        "commitId" : "9ecb89627b2e4c0320389074d5c21b223c593e76",
        "timestamp" : 1764193601000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "P.J.S.Kools@student.tudelft.nl",
        "comment" : "Fix missing default value in untyped parameter declarations\u000a\u000aOnly affects static analysis.\u000a",
        "date" : "2025-11-26 22:46:41 +0100",
        "id" : "9ecb89627b2e4c0320389074d5c21b223c593e76",
        "msg" : "Fix missing default value in untyped parameter declarations",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/DataHandling.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/Exceptions.java"
        ],
        "commitId" : "c6af4a4b59fa9e3f0b376c223cf08cb9286771f3",
        "timestamp" : 1764196781000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "P.J.S.Kools@student.tudelft.nl",
        "comment" : "Fix core errors in throw(type, string) with invalid type\u000a\u000aFix core errors in `throw(type, string)` when passing non-exception types.\u000a",
        "date" : "2025-11-26 23:39:41 +0100",
        "id" : "c6af4a4b59fa9e3f0b376c223cf08cb9286771f3",
        "msg" : "Fix core errors in throw(type, string) with invalid type",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/Exceptions.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/compiler/keywords/ProcKeyword.java"
        ],
        "commitId" : "507e0f01cdcd065c300dcddcabf093e155375cf2",
        "timestamp" : 1764208495000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
          "fullName" : "Pieter12345"
        },
        "authorEmail" : "P.J.S.Kools@student.tudelft.nl",
        "comment" : "Fix forward declaration procedure parsing\u000a\u000a- Fix forward declaration procedures not parsing correctly if they are not followed by an AST term. This seems to only be an issue in interpreter mode as far as was tested.\u000a- Add comments to clarify proc keyword rewriting logic.\u000a",
        "date" : "2025-11-27 02:54:55 +0100",
        "id" : "507e0f01cdcd065c300dcddcabf093e155375cf2",
        "msg" : "Fix forward declaration procedure parsing",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/compiler/keywords/ProcKeyword.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/Compiler.java"
        ],
        "commitId" : "983b1535a9f3b895ba850baa17316c711e256b1c",
        "timestamp" : 1764525667000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pseudoknight",
          "fullName" : "PseudoKnight"
        },
        "authorEmail" : "michael.jt.smith@gmail.com",
        "comment" : "Fix checking functions too early during compile\u000a\u000aCaused a compile error when a function did not exist but was inside a proper function_exists() or extension_exists() code block.\u000a",
        "date" : "2025-11-30 10:01:07 -0800",
        "id" : "983b1535a9f3b895ba850baa17316c711e256b1c",
        "msg" : "Fix checking functions too early during compile",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/Compiler.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/EntityManagement.java",
          "src/main/java/com/laytonsmith/abstraction/entities/MCSalmon.java",
          "src/main/resources/functionDocs/entity_spec",
          "src/main/java/com/laytonsmith/abstraction/bukkit/entities/BukkitMCSalmon.java"
        ],
        "commitId" : "5004975204e5364d22cd9641d3fae16e521de638",
        "timestamp" : 1764700588000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pseudoknight",
          "fullName" : "PseudoKnight"
        },
        "authorEmail" : "michael.jt.smith@gmail.com",
        "comment" : "Add salmon type to entity_spec\u000a",
        "date" : "2025-12-02 10:36:28 -0800",
        "id" : "5004975204e5364d22cd9641d3fae16e521de638",
        "msg" : "Add salmon type to entity_spec",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/main/java/com/laytonsmith/abstraction/bukkit/entities/BukkitMCSalmon.java"
          },
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/EntityManagement.java"
          },
          {
            "editType" : "add",
            "file" : "src/main/java/com/laytonsmith/abstraction/entities/MCSalmon.java"
          },
          {
            "editType" : "edit",
            "file" : "src/main/resources/functionDocs/entity_spec"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/main/java/com/laytonsmith/core/functions/EntityManagement.java",
          "src/main/java/com/laytonsmith/abstraction/entities/MCArrow.java",
          "src/main/resources/functionDocs/entity_spec",
          "src/main/java/com/laytonsmith/abstraction/bukkit/entities/BukkitMCArrow.java"
        ],
        "commitId" : "96e367ed10853844694fb990264b7276f7ab1a35",
        "timestamp" : 1765027977000,
        "author" : {
          "absoluteUrl" : "https://letsbuild.net/jenkins/user/pseudoknight",
          "fullName" : "PseudoKnight"
        },
        "authorEmail" : "michael.jt.smith@gmail.com",
        "comment" : "Add arrow particle color to entity_spec\u000a",
        "date" : "2025-12-06 05:32:57 -0800",
        "id" : "96e367ed10853844694fb990264b7276f7ab1a35",
        "msg" : "Add arrow particle color to entity_spec",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/abstraction/entities/MCArrow.java"
          },
          {
            "editType" : "edit",
            "file" : "src/main/resources/functionDocs/entity_spec"
          },
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/core/functions/EntityManagement.java"
          },
          {
            "editType" : "edit",
            "file" : "src/main/java/com/laytonsmith/abstraction/bukkit/entities/BukkitMCArrow.java"
          }
        ]
      }
    ],
    "kind" : None
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://letsbuild.net/jenkins/user/pieter12345",
      "fullName" : "Pieter12345"
    },
    {
      "absoluteUrl" : "https://letsbuild.net/jenkins/user/pseudoknight",
      "fullName" : "PseudoKnight"
    }
  ],
  "mavenArtifacts" : {
    "url" : "https://letsbuild.net/jenkins/job/Commandhelper/com.sk89q$commandhelper/13/mavenArtifacts/"
  }
}