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

Implement support for dynamic runtime dependencies #52

Merged
merged 2 commits into from
Nov 25, 2023

Fix several issues caused by the latest changes.

a02a8fc
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

Implement support for dynamic runtime dependencies #52

Fix several issues caused by the latest changes.
a02a8fc
Select commit
Loading
Failed to load commit list.
GitHub Actions / Test Report succeeded Nov 23, 2023 in 0s

Test Report ✅

Tests passed successfully

✅ junit.xml

73 tests were completed in 432s with 69 passed, 0 failed and 4 skipped.

Test suite Passed Failed Skipped Time
net.neoforged.gradle.common.extensions.dependency.replacement.DependencyReplacementsExtensionTest 15✅ 7s
net.neoforged.gradle.neoform.deobfuscation.ObfuscationAndDeobfuscationTestSpecification 1✅ 4ms
net.neoforged.gradle.neoform.dependency.NeoformDependencyManagerTest 2✅ 16s
net.neoforged.gradle.neoform.FunctionalTests 3✅ 432s
net.neoforged.gradle.neoform.NeoFormPluginTests 4✅ 1s
net.neoforged.gradle.userdev.CompatibilityTests 1⚪ 1ms
net.neoforged.gradle.userdev.FunctionalTests 3⚪ 6ms
net.neoforged.gradle.userdev.UserDevPluginTests 4✅ 32s
net.neoforged.gradle.util.AdaptingZipBuildingFileTreeVisitorTest 10✅ 4s
net.neoforged.gradle.util.CopyingFileTreeVisitorTest 7✅ 4s
net.neoforged.gradle.util.DelegatingFileTreeVisitorTest 2✅ 2s
net.neoforged.gradle.util.ModuleDependencyUtilsTest 6✅ 724ms
net.neoforged.gradle.util.ResolvedDependencyUtilsTest 6✅ 234ms
net.neoforged.gradle.util.ZipBuildingFileTreeVisitorTest 9✅ 1s

✅ net.neoforged.gradle.common.extensions.dependency.replacement.DependencyReplacementsExtensionTest

✅ callingHandleDependencyReplacementRemovesTheOriginalDependency()
✅ callingHandleDependencyReplacementAlwaysInvokesTheIdeReplacementHandlerWhenNoImportIsRunning()
✅ callingHandleDependencyReplacementAlwaysInvokesTheIdeReplacementHandlerWhenAnImportIsRunning()
✅ callingHandleDependencyReplacementDoesNotRegisterTheGenerationTaskWhenAlreadyDone()
✅ aDependencyReplacementIsRegisteredForAnExternalModuleDependency()
✅ invokingOnPostDefinitionBakesDoesNotRunTheRegisteredCallbacksIfTheStateHasAFailure()
✅ callingHandleDependencyReplacementAlwaysInvokesTheGradleReplacementHandler()
✅ aConfigureCallbackForAllConfigurationsInAGivenProjectIsAddedOnConstruction()
✅ aCallbackHandlerIsAddedToEachConfigurationWhenOneIsConfigured()
✅ callingHandleDependencyReplacementToRegistersTheGenerationTaskWhenNotDoneYet()
✅ callingHandleConfigurationRegistersDependencyMonitor()
✅ aDependencyReplacementProperlyConfiguresTheIvyReplacementWithItsOwnExternalModuleDependencies()
✅ invokingOnPostDefinitionBakesRunsTheRegisteredCallbacksIfTheStateHasNoFailure()
✅ aDependencyReplacementProperlyConfiguresTheIvyReplacement()
✅ aDependencyReplacementIsOnlyRegisteredForAnythingThatIsNotAnExternalModuleDependency()

✅ net.neoforged.gradle.neoform.deobfuscation.ObfuscationAndDeobfuscationTestSpecification

✅ supportObfuscationAndDeobfuscation

✅ net.neoforged.gradle.neoform.dependency.NeoformDependencyManagerTest

✅ adding a dependency to something other then neoform minecraft works
✅ adding a dependency on neoform minecraft with exact version works

✅ net.neoforged.gradle.neoform.FunctionalTests

✅ a mod with neoform as dependency can run the apply official mappings task
✅ neoform applies user ATs and allows remapped compiling
✅ neoform re-setup uses a build-cache

✅ net.neoforged.gradle.neoform.NeoFormPluginTests

✅ can apply plugin
✅ applying neoform plugin applies common plugin
✅ applying neoform plugin adds a neoFormRuntime configurable extension
✅ applying neoform plugin adds the required maven plugins

✅ net.neoforged.gradle.userdev.CompatibilityTests

⚪ a mod with userdev as dependency can run the patch task for that dependency

✅ net.neoforged.gradle.userdev.FunctionalTests

⚪ a mod with userdev as dependency can run the patch task for that dependency
⚪ a mod with userdev as dependency and official mappings can compile through gradle
⚪ the userdev runtime by default supports the build cache

✅ net.neoforged.gradle.userdev.UserDevPluginTests

✅ applying userdev plugin succeeds
✅ applying userdev plugin applies neoform plugin
✅ applying userdev plugin applies forge extension
✅ applying userdev plugin applies userDev runtime extension

✅ net.neoforged.gradle.util.AdaptingZipBuildingFileTreeVisitorTest

✅ visitingAFileCreatesAnEntryInZipAndCopiesItUsingAStream()
✅ throwingAZipExceptionForAnythingOtherThenDuplicateDirectoriesThrowsAnException()
✅ throwingAZipExceptionForDuplicateDirectoriesDoesNotThrowAnException()
✅ throwingAnIOExceptionDuringEntryClosingWhileVisitingADirectoryThrowsAnException()
✅ visitingADirectoryCreatesAnEntryInZip()
✅ throwingAnIOExceptionDuringEntryPuttingWhileVisitingAFileThrowsAnException()
✅ throwingAnIOExceptionDuringEntryPuttingWhileVisitingADirectoryThrowsAnException()
✅ throwingAnIOExceptionDuringCopyingWhileVisitingAFileThrowsAnException()
✅ throwingAnIOExceptionDuringEntryClosingWhileVisitingAFileThrowsAnException()
✅ visitingAFileInvokesAdapterWhichCanChooseToNotCopyTheFileContentsButStillCreatesTheFile()

✅ net.neoforged.gradle.util.CopyingFileTreeVisitorTest

✅ visitingAFileCreatesAFileInTheTargetAndCopiesItsContent()
✅ passingInAFileUsesItsPath()
✅ visitingAFileCreatesAFileInTheTarget()
✅ visitingADirectoryCreatesADirectoryInTheTarget()
✅ passingANotExistingDirectoryCreatesIt()
✅ tryingToUseAFileAsATargetThrowsARuntimeException()
✅ passingInADirectoryWithContentDeletesTheContent()

✅ net.neoforged.gradle.util.DelegatingFileTreeVisitorTest

✅ visitingADirectoryInvokesDelegate()
✅ visitingAFileInvokesDelegate()

✅ net.neoforged.gradle.util.ModuleDependencyUtilsTest

✅ returnsANullExtensionWhenTheFirstArtifactHasNoExtension()
✅ returnsTheExtensionOfTheFirstArtifact()
✅ returnsANullClassifierWhenNoArtifactsArePresent()
✅ returnsTheClassifierOfTheFirstArtifact()
✅ returnsANullExtensionWhenNoArtifactsArePresent()
✅ returnsANullClassifierWhenTheFirstArtifactHasNoClassifier()

✅ net.neoforged.gradle.util.ResolvedDependencyUtilsTest

✅ returnsANullExtensionWhenTheFirstArtifactHasNoExtension()
✅ returnsTheExtensionOfTheFirstArtifact()
✅ returnsANullClassifierWhenNoArtifactsArePresent()
✅ returnsTheClassifierOfTheFirstArtifact()
✅ returnsANullExtensionWhenNoArtifactsArePresent()
✅ returnsANullClassifierWhenTheFirstArtifactHasNoClassifier()

✅ net.neoforged.gradle.util.ZipBuildingFileTreeVisitorTest

✅ visitingAFileCreatesAnEntryInZipAndCopiesItUsingAStream()
✅ throwingAZipExceptionForAnythingOtherThenDuplicateDirectoriesThrowsAnException()
✅ throwingAZipExceptionForDuplicateDirectoriesDoesNotThrowAnException()
✅ throwingAnIOExceptionDuringEntryClosingWhileVisitingADirectoryThrowsAnException()
✅ visitingADirectoryCreatesAnEntryInZip()
✅ throwingAnIOExceptionDuringEntryPuttingWhileVisitingAFileThrowsAnException()
✅ throwingAnIOExceptionDuringEntryPuttingWhileVisitingADirectoryThrowsAnException()
✅ throwingAnIOExceptionDuringCopyingWhileVisitingAFileThrowsAnException()
✅ throwingAnIOExceptionDuringEntryClosingWhileVisitingAFileThrowsAnException()