<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by Geolykt</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>103</buildNumber><marked><SHA1>620ccba675bf76d0ac738235e3c743e352ea563f</SHA1><branch><SHA1>620ccba675bf76d0ac738235e3c743e352ea563f</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>620ccba675bf76d0ac738235e3c743e352ea563f</SHA1><branch><SHA1>620ccba675bf76d0ac738235e3c743e352ea563f</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>620ccba675bf76d0ac738235e3c743e352ea563f</SHA1><branch><SHA1>620ccba675bf76d0ac738235e3c743e352ea563f</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/stianloader/Micromixin.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#103</displayName><duration>38874</duration><estimatedDuration>42691</estimatedDuration><fullDisplayName>micromixin #103</fullDisplayName><id>103</id><inProgress>false</inProgress><keepLog>false</keepLog><number>103</number><queueId>407</queueId><result>FAILURE</result><timestamp>1777827762792</timestamp><url>https://stianloader.org/jenkins/job/micromixin/103/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/mixinsextras/MixinExtrasWrapOperationAnnotation.java</affectedPath><affectedPath>micromixin-testing-suite-neo/build.gradle</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/mixins/WrapOpMixins.java</affectedPath><affectedPath>micromixin-transformer/build.gradle</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/targets/WrapOpMixinsTarget.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/HandlerContextHelper.java</affectedPath><affectedPath>micromixin-testing-suite-neo/WrapOpMixinsTarget.class</affectedPath><affectedPath>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/ModifyReturnValue.java</affectedPath><affectedPath>micromixin-backports/build.gradle</affectedPath><affectedPath>micromixin-test-j8/pom.xml</affectedPath><affectedPath>micromixin-annotations/src/main/java9/module-info.java</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/MicromixinTestNeo.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/ASMUtil.java</affectedPath><affectedPath>micromixin-testing-suite-neo/micromixin-test-config-eclipse.json</affectedPath><affectedPath>micromixin-annotations/build.gradle</affectedPath><affectedPath>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/Operation.java</affectedPath><affectedPath>micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/Redirect.java</affectedPath><affectedPath>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/WrapOperation.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/locals/ArgumentCaptureContext.java</affectedPath><affectedPath>micromixin-testing-suite-neo/micromixin-test-config-gradle.json</affectedPath><affectedPath>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/WrapOperationRuntime.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/MixinMethodStub.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/PrintUtils.java</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/resources/micromixin-test-neo-mixins.json</affectedPath><commitId>4d357f580448eae8b9f91dd9427e0ffaaa90810d</commitId><timestamp>1777151694000</timestamp><author><absoluteUrl>https://stianloader.org/jenkins/user/geolykt</absoluteUrl><fullName>Geolykt</fullName></author><authorEmail>admin@geolykt.de</authorEmail><comment>[CI-SKIP] Initial skeleton work for WrapOperation

Let's hope this doesn't trigger a build, but the build should probably fail anyways so
maybe that's not a concern in the first place.

Technically the only thing remaining is documentation and a lot of testing. Otherwise,
this one seems to work right now. Well, at least only for INVOKE instructions. Not for
GETx/PUTx et al though - for now (until the need arises).
</comment><date>2026-04-25 23:14:54 +0200</date><id>4d357f580448eae8b9f91dd9427e0ffaaa90810d</id><msg>[CI-SKIP] Initial skeleton work for WrapOperation</msg><path><editType>add</editType><file>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/WrapOperation.java</file></path><path><editType>add</editType><file>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/mixins/WrapOpMixins.java</file></path><path><editType>edit</editType><file>micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/Redirect.java</file></path><path><editType>add</editType><file>micromixin-testing-suite-neo/WrapOpMixinsTarget.class</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/MicromixinTestNeo.java</file></path><path><editType>edit</editType><file>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/ModifyReturnValue.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/resources/micromixin-test-neo-mixins.json</file></path><path><editType>edit</editType><file>micromixin-backports/build.gradle</file></path><path><editType>edit</editType><file>micromixin-transformer/build.gradle</file></path><path><editType>add</editType><file>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/WrapOperationRuntime.java</file></path><path><editType>add</editType><file>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/targets/WrapOpMixinsTarget.java</file></path><path><editType>edit</editType><file>micromixin-test-j8/pom.xml</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/micromixin-test-config-eclipse.json</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/locals/ArgumentCaptureContext.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/ASMUtil.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/MixinMethodStub.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/PrintUtils.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/build.gradle</file></path><path><editType>add</editType><file>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/Operation.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/micromixin-test-config-gradle.json</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/HandlerContextHelper.java</file></path><path><editType>add</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/mixinsextras/MixinExtrasWrapOperationAnnotation.java</file></path><path><editType>edit</editType><file>micromixin-annotations/build.gradle</file></path><path><editType>edit</editType><file>micromixin-annotations/src/main/java9/module-info.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/mixinsextras/MixinExtrasWrapOperationAnnotation.java</affectedPath><affectedPath>micromixin-transformer/src/test/java/org/stianloader/micromixin/test/ASMUtilTest.java</affectedPath><affectedPath>.gitignore</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/mixins/WrapOpMixins.java</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/targets/WrapOpMixinsTarget.java</affectedPath><affectedPath>micromixin-testing-suite-neo/WrapOpMixinsTarget.class</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/MixinRedirectAnnotation.java</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/MicromixinTestNeo.java</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/TestReport.java</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/annotations/IncludeClasses.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/ASMUtil.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/mixinsextras/MixinExtrasModifyReturnValueAnnotation.java</affectedPath><affectedPath>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/sugar/Cancellable.java</affectedPath><affectedPath>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/WrapOperation.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/MixinModifyConstantAnnotation.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/locals/ArgumentCaptureContext.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/MixinModifyVariableAnnotation.java</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/resources/micromixin-test-neo-mixins.json</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/annotations/ExpectSignaller.java</affectedPath><commitId>a165b394326018dfd9e69a6b03001aac6d7bb8af</commitId><timestamp>1777326643000</timestamp><author><absoluteUrl>https://stianloader.org/jenkins/user/geolykt</absoluteUrl><fullName>Geolykt</fullName></author><authorEmail>admin@geolykt.de</authorEmail><comment>[CI-SKIP] Properly implement Cancellable support for WrapOperation

Also implements Cancellable support for the Modify annotations.
Also probably fixed argument capture in general (for the Modify annotations and WrapOperation).

Still CI-SKIP because javadocs aren't ready yet and there still needs
to be some polishing around the rough edges.

Also WrapOperation still doesn't support chaining injectors. Will do so later,
maybe.
</comment><date>2026-04-27 23:50:43 +0200</date><id>a165b394326018dfd9e69a6b03001aac6d7bb8af</id><msg>[CI-SKIP] Properly implement Cancellable support for WrapOperation</msg><path><editType>delete</editType><file>micromixin-testing-suite-neo/WrapOpMixinsTarget.class</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/MixinModifyVariableAnnotation.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/test/java/org/stianloader/micromixin/test/ASMUtilTest.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/locals/ArgumentCaptureContext.java</file></path><path><editType>edit</editType><file>.gitignore</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/mixinsextras/MixinExtrasWrapOperationAnnotation.java</file></path><path><editType>edit</editType><file>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/WrapOperation.java</file></path><path><editType>edit</editType><file>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/sugar/Cancellable.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/mixins/WrapOpMixins.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/mixinsextras/MixinExtrasModifyReturnValueAnnotation.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/targets/WrapOpMixinsTarget.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/MixinRedirectAnnotation.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/annotations/ExpectSignaller.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/resources/micromixin-test-neo-mixins.json</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/MixinModifyConstantAnnotation.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/ASMUtil.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/MicromixinTestNeo.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/TestReport.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/annotations/IncludeClasses.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/MixinHeader.java</affectedPath><affectedPath>micromixin-transformer/src/test/java/org/stianloader/micromixin/test/SelfmodificationTest.java</affectedPath><commitId>1a25a7a540bcd9b62518388720f401caf1767f53</commitId><timestamp>1777378112000</timestamp><author><absoluteUrl>https://stianloader.org/jenkins/user/geolykt</absoluteUrl><fullName>Geolykt</fullName></author><authorEmail>admin@geolykt.de</authorEmail><comment>[CI-SKIP] Forbid mixin classes from transforming themselves

This is the most primitive kind of sanity test that can be done,
the rest becomes slightly difficult due to mixins potentially being
able to transform other mixin classes - provided someone would wire
that correctly, which I doubt anyone already does - but w/e.

CI-SKIP since the actual work is still very much WIP. Also,
I'm currently committing this commit from my college since I currently
have to waste my time doing /something/ - whatever that will be.
</comment><date>2026-04-28 14:08:32 +0200</date><id>1a25a7a540bcd9b62518388720f401caf1767f53</id><msg>[CI-SKIP] Forbid mixin classes from transforming themselves</msg><path><editType>add</editType><file>micromixin-transformer/src/test/java/org/stianloader/micromixin/test/SelfmodificationTest.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/MixinHeader.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/WrapOperation.java</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/mixins/WrapOpMixins.java</affectedPath><affectedPath>micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/Redirect.java</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/targets/WrapOpMixinsTarget.java</affectedPath><affectedPath>micromixin-testing-suite-neo/src/main/resources/micromixin-test-neo-mixins.json</affectedPath><commitId>cdd138ccefab590434bc3522b2c29694683758b4</commitId><timestamp>1777381367000</timestamp><author><absoluteUrl>https://stianloader.org/jenkins/user/geolykt</absoluteUrl><fullName>Geolykt</fullName></author><authorEmail>admin@geolykt.de</authorEmail><comment>[CI-SKIP] Improve javadocs, add test

Well, I'll go home now, so I'll stash the work I have on my laptop onto git
so I can pull it back to my PC once I'm back home.

Figuring out how to handle argument capture and whether they should be
throwing will be something to figure out later. I myself am biased towards
printing a warning by default and having some kind of strict mode for
Mixin parity. Although ... this is not the first time I've been contemplating
this, I need to think about it -.- The way MixinExtras handles it's
sugar and forbids it from being intermingled with ordinary arguments kinda feels
like an unnecessary requirement in my opinion.
</comment><date>2026-04-28 15:02:47 +0200</date><id>cdd138ccefab590434bc3522b2c29694683758b4</id><msg>[CI-SKIP] Improve javadocs, add test</msg><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/resources/micromixin-test-neo-mixins.json</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/mixins/WrapOpMixins.java</file></path><path><editType>edit</editType><file>micromixin-annotations/src/main/java/org/spongepowered/asm/mixin/injection/Redirect.java</file></path><path><editType>edit</editType><file>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/WrapOperation.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/src/main/java/org/stianloader/micromixin/testneo/testenv/targets/WrapOpMixinsTarget.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/mixinsextras/MixinExtrasWrapOperationAnnotation.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/VirtualConstructorMergeAnnotation.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/mixinsextras/MixinExtrasModifyReturnValueAnnotation.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/api/MixinTransformer.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/api/MixinVendor.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/MixinModifyConstantAnnotation.java</affectedPath><affectedPath>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/WrapOperation.java</affectedPath><affectedPath>micromixin-testing-suite-neo/micromixin-test-config-gradle.json</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/locals/ArgumentCaptureContext.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/MixinMethodStub.java</affectedPath><affectedPath>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/MixinModifyVariableAnnotation.java</affectedPath><commitId>620ccba675bf76d0ac738235e3c743e352ea563f</commitId><timestamp>1777827564000</timestamp><author><absoluteUrl>https://stianloader.org/jenkins/user/geolykt</absoluteUrl><fullName>Geolykt</fullName></author><authorEmail>admin@geolykt.de</authorEmail><comment>Finalize work on WrapOperation, introduce vendor compatibility system

WrapOperation will not support chaining for now, but that can be implemented
at a later point in time - when the need arises that is, but that is rather
unlikely in an ecosystem where I'm the only person doing anything.
</comment><date>2026-05-03 18:59:24 +0200</date><id>620ccba675bf76d0ac738235e3c743e352ea563f</id><msg>Finalize work on WrapOperation, introduce vendor compatibility system</msg><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/MixinModifyConstantAnnotation.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/api/MixinTransformer.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/MixinMethodStub.java</file></path><path><editType>edit</editType><file>micromixin-testing-suite-neo/micromixin-test-config-gradle.json</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/MixinModifyVariableAnnotation.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/mixinsextras/MixinExtrasModifyReturnValueAnnotation.java</file></path><path><editType>edit</editType><file>micromixin-annotations/src/main/java/com/llamalad7/mixinextras/injector/wrapoperation/WrapOperation.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/api/MixinVendor.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/util/locals/ArgumentCaptureContext.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/mixinsextras/MixinExtrasWrapOperationAnnotation.java</file></path><path><editType>edit</editType><file>micromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/annotation/VirtualConstructorMergeAnnotation.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://stianloader.org/jenkins/user/geolykt</absoluteUrl><fullName>Geolykt</fullName></culprit></freeStyleBuild>