Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Startup Experiments #232

Draft
wants to merge 49 commits into
base: 7.x
Choose a base branch
from
Draft

Startup Experiments #232

wants to merge 49 commits into from

Conversation

shartte
Copy link
Contributor

@shartte shartte commented Dec 25, 2024

No description provided.

Fix tests

Move mixin loading to after TCL construction

Fixes

Fixin Mixin

Working on tests

Startup Experiments
@shartte shartte changed the base branch from main to 7.x December 25, 2024 00:32
@neoforged-pr-publishing
Copy link

neoforged-pr-publishing bot commented Dec 25, 2024

  • Publish PR to GitHub Packages

Last commit published: 3c7878d0703b102e6be7c324da034a88682ee51e.

PR Publishing

The artifacts published by this PR:

Repository Declaration

In order to use the artifacts published by the PR, add the following repository to your buildscript:

repositories {
    maven {
        name 'Maven for PR #232' // https://github.com/neoforged/FancyModLoader/pull/232
        url 'https://prmaven.neoforged.net/FancyModLoader/pr232'
        content {
            includeModule('net.neoforged.fancymodloader', 'junit-fml')
            includeModule('net.neoforged.fancymodloader', 'loader')
            includeModule('net.neoforged.fancymodloader', 'earlydisplay')
            includeModule('net.neoforged.fancymodloader', 'tests')
        }
    }
}

@neoforged-compatibility-checks
Copy link

neoforged-compatibility-checks bot commented Dec 25, 2024

@shartte, this PR introduces breaking changes.
Fortunately, this project is currently accepting breaking changes, but if they are not intentional, please revert them.
Last checked commit: 3c7878d0703b102e6be7c324da034a88682ee51e.

Compatibility checks

loader (:loader)

  • net/neoforged/fml/loading/log4j/ForgeHighlight
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/ClasspathTransformerDiscoverer
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/mixin/FMLMixinContainerHandle
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/serviceapi/ITransformerDiscoveryService
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/targets/NeoForgeDevLaunchHandler
    • ❗ Class missing interface: cpw/mods/modlauncher/api/ILaunchHandlerService
  • cpw/mods/modlauncher/TransformerClassWriter
    • createClassWriter(ILcpw/mods/modlauncher/ClassTransformer;Lorg/objectweb/asm/tree/ClassNode;)Lorg/objectweb/asm/ClassWriter;: ❗ API method was removed
  • cpw/mods/modlauncher/api/TargetType
    • get(Ljava/util/Map;)Lcpw/mods/modlauncher/TransformList;: ❗ API method was removed
    • mapSupplier(Ljava/util/Map;)Ljava/util/function/Supplier;: ❗ API method was removed
  • net/neoforged/fml/loading/moddiscovery/ModDiscoverer
    • discoverMods()Lnet/neoforged/fml/loading/moddiscovery/ModValidator;: ❗ API method was removed
  • cpw/mods/modlauncher/ArgumentHandler
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/targets/NeoForgeClientDevLaunchHandler
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/targets/JUnitDevLaunchTarget
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/api/ITransformerActivity
    • context()[Ljava/lang/String;: ❗ Method was made abstract
    • getContext()[Ljava/lang/String;: ❗ API method was removed
    • type()Lcpw/mods/modlauncher/api/ITransformerActivity$Type;: ❗ Method was made abstract
    • getType()Lcpw/mods/modlauncher/api/ITransformerActivity$Type;: ❗ API method was removed
  • cpw/mods/modlauncher/DefaultLaunchHandlerService
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/mixin/DeferredMixinConfigRegistration
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/targets/NeoForgeClientDataDevLaunchHandler
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/api/IEnvironment
    • findLaunchHandler(Ljava/lang/String;)Ljava/util/Optional;: ❗ API method was removed
    • findModuleLayerManager()Ljava/util/Optional;: ❗ API method was removed
    • findLaunchPlugin(Ljava/lang/String;)Ljava/util/Optional;: ❗ API method was removed
  • net/neoforged/fml/loading/LoadingModList
    • of(Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/Map;)Lnet/neoforged/fml/loading/LoadingModList;: ❗ API method was removed
    • addForScanning(Lnet/neoforged/fml/loading/modscan/BackgroundScanHandler;)V: ❗ API method was removed
    • addAccessTransformers()V: ❗ API method was removed
    • addMixinConfigs()V: ❗ API method was removed
    • addEnumExtenders()V: ❗ API method was removed
  • net/neoforged/neoforgespi/ILaunchContext
    • modLists()Ljava/util/List;: ❗ API method was removed
    • getJarSourceDescription(Ljava/nio/file/Path;)Ljava/lang/String;: ❗ Method was made abstract
    • gameDirectory()Ljava/nio/file/Path;: ❗ Method was made abstract
    • environment()Lcpw/mods/modlauncher/api/IEnvironment;: ❗ API method was removed
    • relativizePath(Ljava/nio/file/Path;)Ljava/lang/String;: ❗ Method was made abstract
    • setJarSourceDescription(Ljava/nio/file/Path;Ljava/lang/String;)V: ❗ Method was made abstract
    • mods()Ljava/util/List;: ❗ API method was removed
    • mavenRoots()Ljava/util/List;: ❗ API method was removed
    • getUnclaimedClassPathEntries()Ljava/util/List;: ❗ Method was made abstract
    • getRequiredDistribution()Lnet/neoforged/api/distmarker/Dist;: ❗ Method was made abstract
  • net/neoforged/fml/loading/targets/NeoForgeServerDataDevLaunchHandler
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/serviceapi/ILaunchPluginService
    • offerResource(Ljava/nio/file/Path;Ljava/lang/String;)V: ❗ API method was removed
    • getExtension()Ljava/lang/Object;: ❗ API method was removed
  • net/neoforged/fml/loading/ModDirTransformerDiscoverer
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/log4j/SLF4JFixerLaunchPluginService
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/moddiscovery/ModValidator
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/BootstrapLaunchConsumer
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/ImmediateWindowHandler$DummyProvider
    • ❗ Class missing superclass of java/lang/Record
    • hashCode()I: ❗ API method was removed
    • equals(Ljava/lang/Object;)Z: ❗ API method was removed
    • initialize([Ljava/lang/String;)Ljava/lang/Runnable;: ❗ API method was removed
    • name()Ljava/lang/String;: ❗ API method was removed
    • toString()Ljava/lang/String;: ❗ API method was removed
  • net/neoforged/fml/loading/targets/NeoForgeServerDevLaunchHandler
    • ❗ API class no longer exists
  • net/neoforged/neoforgespi/earlywindow/ImmediateWindowProvider
    • initialize([Ljava/lang/String;)Ljava/lang/Runnable;: ❗ API method was removed
    • name()Ljava/lang/String;: ❗ API method was removed
  • net/neoforged/fml/loading/LauncherVersion
    • ❗ API class no longer exists
  • net/neoforged/fml/util/DevEnvUtils
    • ⚠ API class no longer exists
  • net/neoforged/neoforgespi/locating/IDiscoveryPipeline
    • addLibrary(Ljava/nio/file/Path;)V: ❗ Method was made abstract
  • net/neoforged/fml/loading/targets/NeoForgeServerLaunchHandler
    • ❗ Class missing interface: cpw/mods/modlauncher/api/ILaunchHandlerService
  • cpw/mods/modlauncher/TransformerHolder
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/util/ServiceLoaderUtils
    • streamServiceLoader(Ljava/util/function/Supplier;Ljava/util/function/Consumer;)Ljava/util/stream/Stream;: ❗ API method was removed
    • streamWithErrorHandling(Ljava/util/ServiceLoader;Ljava/util/function/Consumer;)Ljava/util/stream/Stream;: ❗ API method was removed
  • cpw/mods/modlauncher/LaunchPluginHandler
    • <init>(Lcpw/mods/modlauncher/ModuleLayerHandler;)V: ❗ API method was removed
  • cpw/mods/modlauncher/TransformList
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/Launcher
    • findLayerManager()Ljava/util/Optional;: ❗ API method was removed
    • main([Ljava/lang/String;)V: ❗ API method was removed
  • cpw/mods/modlauncher/api/ILaunchHandlerService
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/moddiscovery/locators/MavenDirectoryLocator
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/TransformerDiscovererConstants
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/api/ITransformationService
    • beginScanning(Lcpw/mods/modlauncher/api/IEnvironment;)Ljava/util/List;: ❗ API method was removed
    • completeScan(Lcpw/mods/modlauncher/api/IModuleLayerManager;)Ljava/util/List;: ❗ API method was removed
  • cpw/mods/modlauncher/TransformerAuditTrail$TransformerActivity
    • getContext()[Ljava/lang/String;: ❗ API method was removed
    • getType()Lcpw/mods/modlauncher/api/ITransformerActivity$Type;: ❗ API method was removed
  • net/neoforged/fml/loading/targets/CommonLaunchHandler
    • ❗ Class missing interface: cpw/mods/modlauncher/api/ILaunchHandlerService
    • launchService([Ljava/lang/String;Ljava/lang/ModuleLayer;)Lcpw/mods/modlauncher/api/ServiceRunner;: ❗ API method was removed
    • name()Ljava/lang/String;: ❗ Method was made abstract
  • cpw/mods/modlauncher/TransformerAuditTrail
    • addTransformerAuditTrail(Ljava/lang/String;Lcpw/mods/modlauncher/api/ITransformationService;Lcpw/mods/modlauncher/api/ITransformer;)V: ❗ API method was removed
  • cpw/mods/modlauncher/TransformingClassLoader
    • <init>(Lcpw/mods/modlauncher/TransformStore;Lcpw/mods/modlauncher/LaunchPluginHandler;Lcpw/mods/modlauncher/Environment;Ljava/lang/module/Configuration;Ljava/util/List;Ljava/lang/ClassLoader;)V: ❗ API method was removed
    • <init>(Lcpw/mods/modlauncher/TransformStore;Lcpw/mods/modlauncher/LaunchPluginHandler;Lcpw/mods/modlauncher/Environment;Ljava/lang/module/Configuration;Ljava/util/List;)V: ❗ API method was removed
    • <init>(Lcpw/mods/modlauncher/TransformStore;Lcpw/mods/modlauncher/LaunchPluginHandler;Lcpw/mods/modlauncher/api/IModuleLayerManager;)V: ❗ API method was removed
  • net/neoforged/fml/loading/ImmediateWindowHandler
    • load(Ljava/lang/String;[Ljava/lang/String;)V: ❗ API method was removed
  • net/neoforged/fml/loading/FMLLoader
    • ❗ Class was made final
    • beginModScan(Lnet/neoforged/neoforgespi/ILaunchContext;)Ljava/util/List;: ❗ API method was removed
    • beforeStart(Ljava/lang/ModuleLayer;)V: ❗ API method was removed
    • completeScan(Lnet/neoforged/neoforgespi/ILaunchContext;Ljava/util/List;)Ljava/util/List;: ❗ API method was removed
  • net/neoforged/fml/loading/FMLServiceProvider
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/targets/NeoForgeClientLaunchHandler
    • ❗ Class missing interface: cpw/mods/modlauncher/api/ILaunchHandlerService
  • net/neoforged/neoforgespi/Environment$Keys
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/TestingLaunchHandlerService
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/api/ITransformationService$Resource
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/Environment
    • findLaunchHandler(Ljava/lang/String;)Ljava/util/Optional;: ❗ API method was removed
    • findModuleLayerManager()Ljava/util/Optional;: ❗ API method was removed
    • findLaunchPlugin(Ljava/lang/String;)Ljava/util/Optional;: ❗ API method was removed
  • cpw/mods/modlauncher/TransformationServiceDecorator
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/TracingPrintStream
    • ❗ API class no longer exists
  • net/neoforged/fml/loading/mixin/FMLMixinPlatformAgent
    • ❗ API class no longer exists
  • cpw/mods/modlauncher/TransformTargetLabel
    • ❗ API class no longer exists
  • net/neoforged/neoforgespi/Environment
    • build(Lcpw/mods/modlauncher/api/IEnvironment;)V: ❗ API method was removed

Pass loader to JUnit service
Fix self-attach issues.
add control over dist cleaning to startup args.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant