{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by Geolykt"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/main" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 13,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "27c562e906984a465731d1e5b44cc343e56b9e3e",
            "branch" : [
              {
                "SHA1" : "27c562e906984a465731d1e5b44cc343e56b9e3e",
                "name" : "refs/remotes/origin/main"
              }
            ]
          },
          "revision" : {
            "SHA1" : "27c562e906984a465731d1e5b44cc343e56b9e3e",
            "branch" : [
              {
                "SHA1" : "27c562e906984a465731d1e5b44cc343e56b9e3e",
                "name" : "refs/remotes/origin/main"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "27c562e906984a465731d1e5b44cc343e56b9e3e",
        "branch" : [
          {
            "SHA1" : "27c562e906984a465731d1e5b44cc343e56b9e3e",
            "name" : "refs/remotes/origin/main"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/Starloader-project/Micromixin.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#13",
  "duration" : 39937,
  "estimatedDuration" : 34145,
  "executor" : None,
  "fullDisplayName" : "micromixin #13",
  "id" : "13",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 13,
  "queueId" : 72,
  "result" : "SUCCESS",
  "timestamp" : 1706655111770,
  "url" : "https://stianloader.org/jenkins/view/all/job/micromixin/13/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/MutableInt.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinInjectAnnotation.java",
          "micromixin-transformer/build.gradle",
          "micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/ModifyReturnValue.java",
          "micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/ModifyArg.java",
          "micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/At.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/selectors/inject/ReturnInjectionPointSelector.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/util/Objects.java",
          "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/targets/SliceTest.java",
          "micromixin-annotations/build.gradle",
          "micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/Redirect.java",
          "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/mixin/invalid/InvalidDuplicateSliceTestMixins.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinModifyArgAnnotation.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/MixinTransformer.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinSliceAnnotation.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinRedirectAnnotation.java",
          "micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/Inject.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/api/InjectionPointTargetConstraint.java",
          "micromixin-runtime/build.gradle",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/selectors/inject/HeadInjectionPointSelector.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/selectors/inject/ConstantInjectionPointSelector.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinDescAnnotation.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/api/SlicedInjectionPointSelector.java",
          "micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/Slice.java",
          "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/TestHarness.java",
          "README.md",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/api/InjectionPointSelector.java",
          "micromixin-test-j8/src/main/resources/j8mixinconfig.json",
          "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/mixin/SliceTestMixins.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/selectors/inject/TailInjectionPointSelector.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/selectors/inject/InvokeInjectionPointSelector.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/mixinsextras/MixinExtrasModifyReturnValueAnnotation.java",
          "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/targets/invalid/InvalidDuplicateSliceTest.java",
          "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinAtAnnotation.java"
        ],
        "commitId" : "27c562e906984a465731d1e5b44cc343e56b9e3e",
        "timestamp" : 1706654381000,
        "author" : {
          "absoluteUrl" : "https://stianloader.org/jenkins/user/geolykt",
          "fullName" : "Geolykt"
        },
        "authorEmail" : "admin@geolykt.de",
        "comment" : "Add support for slices\u000a\u000aAlso contains a few minor fixes, for example the existence\u000aof fallback descriptors. These have been nuked as the spongeian mixin impl\u000awill always use \"()V\" as a fallback desc regardless of any other events.\u000a\u000aFurthermore the Redirect annotation has been added to micromixin-annotations\u000aas it's inclusion was for one reason or another forgotten or delayed.\u000a\u000aLast but not least crashes in local capture due to uninitialized types\u000awill print out more extensive debugging data. I should really start using\u000aeclipse's built-in debugger more often though as from time to time debugging\u000ais just super time-consuming (in this case local capture were bork as I forgot\u000ato include the name of the slices in the TreeSet, meaing that slices weren't\u000aaccounted for, hence it was placing the injector at the start of the method\u000aand it was not able to capture anything)\u000a\u000aOnly issue that remains is that slices are not yet validated, meaning that\u000ait is possible to encounter rather unwanted behaviour if from and to were\u000ato be inversed - accidentally or not.\u000a\u000aAside from that the MixinAtAnnotation.bake methods should be revised,\u000aI am not completely happy with their current form and I have the strong\u000afeeling that they either don't work as advertised once slices depend on\u000aother slices in a more intensive fashion or that the code is plainly overkill\u000aand that building the slices at annotations can be done much simpler or\u000abe plainly avoided in the first case. Perhaps one could've just built\u000athe slices lazily? Well, I guess that is for future me to figure out.\u000a\u000aThis commit is a breaking change, which is why the version was bumped to\u000a0.3.0, however it is possible that future breaking changes won't see\u000aa bump in the minor version number. Please do not rely on such\u000abehaviour from my side and as such always pin your versions instead\u000aof using version ranges when depending on micromixin.\u000a",
        "date" : "2024-01-30 23:39:41 +0100",
        "id" : "27c562e906984a465731d1e5b44cc343e56b9e3e",
        "msg" : "Add support for slices",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/selectors/inject/InvokeInjectionPointSelector.java"
          },
          {
            "editType" : "add",
            "file" : "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/MutableInt.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-runtime/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/selectors/inject/ConstantInjectionPointSelector.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/selectors/inject/TailInjectionPointSelector.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinInjectAnnotation.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/ModifyArg.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/MixinTransformer.java"
          },
          {
            "editType" : "add",
            "file" : "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/mixin/SliceTestMixins.java"
          },
          {
            "editType" : "add",
            "file" : "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/targets/invalid/InvalidDuplicateSliceTest.java"
          },
          {
            "editType" : "add",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/api/SlicedInjectionPointSelector.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-test-j8/src/main/resources/j8mixinconfig.json"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinAtAnnotation.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/api/InjectionPointTargetConstraint.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/selectors/inject/HeadInjectionPointSelector.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/api/InjectionPointSelector.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/mixinsextras/MixinExtrasModifyReturnValueAnnotation.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinDescAnnotation.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/ModifyReturnValue.java"
          },
          {
            "editType" : "add",
            "file" : "micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/Slice.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/selectors/inject/ReturnInjectionPointSelector.java"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/At.java"
          },
          {
            "editType" : "add",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinSliceAnnotation.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinRedirectAnnotation.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/util/Objects.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/Inject.java"
          },
          {
            "editType" : "add",
            "file" : "micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/Redirect.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-transformer/src/main/java/org/stianloader/micromixin/internal/annotation/MixinModifyArgAnnotation.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-annotations/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/mixin/invalid/InvalidDuplicateSliceTestMixins.java"
          },
          {
            "editType" : "add",
            "file" : "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/targets/SliceTest.java"
          },
          {
            "editType" : "edit",
            "file" : "micromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/TestHarness.java"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://stianloader.org/jenkins/user/geolykt",
      "fullName" : "Geolykt"
    }
  ]
}