refactor(pojo-weaver): Move Tweed extension declarations in Weaving to own, inheritable, annotations
This commit is contained in:
@@ -10,6 +10,11 @@ dependencies {
|
||||
compileOnly("de.siphalor.tweed5:tweed5-default-extensions")
|
||||
compileOnly("de.siphalor.tweed5:tweed5-serde-extension")
|
||||
compileOnly("de.siphalor.tweed5:tweed5-serde-gson")
|
||||
compileOnly("de.siphalor.tweed5:tweed5-weaver-pojo")
|
||||
compileOnly("de.siphalor.tweed5:tweed5-weaver-pojo-attributes-extension")
|
||||
compileOnly("de.siphalor.tweed5:tweed5-weaver-pojo-serde-extension")
|
||||
compileOnly("de.siphalor.tweed5:tweed5-weaver-pojo-validation-extension")
|
||||
compileOnly("de.siphalor.tweed5:tweed5-weaver-pojo-presets-extension")
|
||||
|
||||
listOf("fabric-networking-api-v1", "fabric-lifecycle-events-v1").forEach {
|
||||
modTestmodImplementation(fabricApi.module(it, mcLibs.versions.fabric.api.get()))
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package de.siphalor.tweed5.fabric.helper.api;
|
||||
|
||||
import de.siphalor.tweed5.annotationinheritance.api.AnnotationInheritance;
|
||||
import de.siphalor.tweed5.attributesextension.api.AttributesExtension;
|
||||
import de.siphalor.tweed5.attributesextension.api.serde.filter.AttributesReadWriteFilterExtension;
|
||||
import de.siphalor.tweed5.data.extension.api.ReadWriteExtension;
|
||||
import de.siphalor.tweed5.defaultextensions.presets.api.PresetsExtension;
|
||||
import de.siphalor.tweed5.defaultextensions.validation.api.ValidationExtension;
|
||||
import de.siphalor.tweed5.defaultextensions.validationfallback.api.ValidationFallbackExtension;
|
||||
import de.siphalor.tweed5.weaver.pojo.api.annotation.CompoundWeaving;
|
||||
import de.siphalor.tweed5.weaver.pojo.api.annotation.DefaultWeavingExtensions;
|
||||
import de.siphalor.tweed5.weaver.pojo.api.annotation.PojoWeavingExtension;
|
||||
import de.siphalor.tweed5.weaver.pojo.api.annotation.TweedExtension;
|
||||
import de.siphalor.tweed5.weaver.pojoext.attributes.api.AttributesPojoWeavingProcessor;
|
||||
import de.siphalor.tweed5.weaver.pojoext.serde.api.auto.AutoReadWritePojoWeavingProcessor;
|
||||
import de.siphalor.tweed5.weaver.pojoext.serde.api.auto.DefaultReadWriteMappings;
|
||||
import de.siphalor.tweed5.weaver.pojoext.validation.api.ValidatorsPojoWeavingProcessor;
|
||||
|
||||
@AnnotationInheritance(passOn = {
|
||||
TweedExtension.class,
|
||||
PojoWeavingExtension.class,
|
||||
DefaultWeavingExtensions.class,
|
||||
DefaultReadWriteMappings.class,
|
||||
CompoundWeaving.class
|
||||
})
|
||||
@TweedExtension(ReadWriteExtension.class)
|
||||
@TweedExtension(ValidationExtension.class)
|
||||
@TweedExtension(ValidationFallbackExtension.class)
|
||||
@TweedExtension(AttributesExtension.class)
|
||||
@TweedExtension(AttributesReadWriteFilterExtension.class)
|
||||
@PojoWeavingExtension(AutoReadWritePojoWeavingProcessor.class)
|
||||
@PojoWeavingExtension(ValidatorsPojoWeavingProcessor.class)
|
||||
@PojoWeavingExtension(AttributesPojoWeavingProcessor.class)
|
||||
@DefaultWeavingExtensions
|
||||
@DefaultReadWriteMappings
|
||||
@CompoundWeaving
|
||||
public @interface DefaultTweedMinecraftWeaving {
|
||||
}
|
||||
@@ -1,31 +1,13 @@
|
||||
package de.siphalor.tweed5.fabric.helper.testmod;
|
||||
|
||||
import de.siphalor.tweed5.attributesextension.api.AttributesExtension;
|
||||
import de.siphalor.tweed5.attributesextension.api.serde.filter.AttributesReadWriteFilterExtension;
|
||||
import de.siphalor.tweed5.commentloaderextension.api.CommentLoaderExtension;
|
||||
import de.siphalor.tweed5.data.extension.api.ReadWriteExtension;
|
||||
import de.siphalor.tweed5.defaultextensions.patch.api.PatchExtension;
|
||||
import de.siphalor.tweed5.fabric.helper.api.DefaultTweedMinecraftWeaving;
|
||||
import de.siphalor.tweed5.weaver.pojo.api.annotation.CompoundWeaving;
|
||||
import de.siphalor.tweed5.weaver.pojo.api.annotation.DefaultWeavingExtensions;
|
||||
import de.siphalor.tweed5.weaver.pojo.api.annotation.PojoWeaving;
|
||||
import de.siphalor.tweed5.weaver.pojo.api.annotation.PojoWeavingExtension;
|
||||
import de.siphalor.tweed5.weaver.pojoext.attributes.api.Attribute;
|
||||
import de.siphalor.tweed5.weaver.pojoext.attributes.api.AttributesPojoWeavingProcessor;
|
||||
import de.siphalor.tweed5.weaver.pojoext.serde.api.auto.AutoReadWritePojoWeavingProcessor;
|
||||
import de.siphalor.tweed5.weaver.pojoext.serde.api.auto.DefaultReadWriteMappings;
|
||||
import lombok.Data;
|
||||
|
||||
@PojoWeaving(extensions = {
|
||||
CommentLoaderExtension.class,
|
||||
ReadWriteExtension.class,
|
||||
PatchExtension.class,
|
||||
AttributesExtension.class,
|
||||
AttributesReadWriteFilterExtension.class,
|
||||
})
|
||||
@PojoWeavingExtension(AutoReadWritePojoWeavingProcessor.class)
|
||||
@PojoWeavingExtension(AttributesPojoWeavingProcessor.class)
|
||||
@DefaultWeavingExtensions
|
||||
@DefaultReadWriteMappings
|
||||
@PojoWeaving
|
||||
@DefaultTweedMinecraftWeaving
|
||||
@CompoundWeaving(namingFormat = "kebab_case")
|
||||
@Data
|
||||
public class TestModConfig {
|
||||
|
||||
Reference in New Issue
Block a user