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

SimpleFarming transitive dependencies irregularities #63

Closed
keturn opened this issue Aug 11, 2021 · 4 comments
Closed

SimpleFarming transitive dependencies irregularities #63

keturn opened this issue Aug 11, 2021 · 4 comments

Comments

@keturn
Copy link
Contributor

keturn commented Aug 11, 2021

testRuntimeClasspath dependency report
  • org.terasology.modules:CoreAssets:[2.0.1,3.0.0) ➡ 2.3.0-SNAPSHOT
  • org.terasology.modules:Inventory:[1.1.0,2.0.0) ➡ 1.5.0-SNAPSHOT
  • org.terasology.modules:ModuleTestingEnvironment:[0.3.0,0.4.0) ➡ 0.3.2-SNAPSHOT
  • org.terasology.modules:Genome:[1.0.0,2.0.0) ➡ 1.0.1-SNAPSHOT
    • org.terasology.modules:Inventory:[1.1.0,2.0.0) ➡ 1.5.0-SNAPSHOT
  • org.terasology.modules:BasicCrafting:[1.0.0,2.0.0) ➡ 1.1.0-SNAPSHOT
    • org.terasology.modules:Inventory:[1.1.0,2.0.0) ➡ 1.5.0-SNAPSHOT
  • org.terasology.modules:SubstanceMatters:[2.0.0,3.0.0) ➡ 2.1.0-SNAPSHOT
    • org.terasology.modules:CoreAssets:[2.0.1-SNAPSHOT,3.0.0) ➡ 2.3.0-SNAPSHOT
    • org.terasology.modules:Fluid:[2.0.0-SNAPSHOT,2.0.0) ➡ 2.0.0-SNAPSHOT
      • org.terasology.modules:Inventory:+ ➡ 1.5.0-SNAPSHOT
      • org.terasology.modules:FlowingLiquids:+ ➡ 1.4.0-SNAPSHOT
    • org.terasology.modules:Inventory:[1.1.0-SNAPSHOT,2.0.0) ➡ 1.5.0-SNAPSHOT
    • org.terasology.modules:ItemRendering:[1.1.0-SNAPSHOT,2.0.0) ➡ 1.2.0-SNAPSHOT
      • org.terasology.modules:Inventory:[1.1.0-SNAPSHOT,2.0.0) ➡ 1.5.0-SNAPSHOT
    • org.terasology.modules:Workstation:[1.1.0-SNAPSHOT,2.0.0) ➡ 1.2.0-SNAPSHOT
      • org.terasology.modules:Fluid:[2.0.0-SNAPSHOT,) ➡ 2.0.0-SNAPSHOT
      • org.terasology.modules:Inventory:[1.1.0-SNAPSHOT,) ➡ 1.5.0-SNAPSHOT
loading classpath modules
22:47:28.245 [Test worker] INFO  o.t.engine.core.module.ModuleManager - Loaded SimpleFarming from /home/jenkins/agent/workspace/_Modules_S_SimpleFarming_develop
22:47:28.250 [Test worker] INFO  o.t.engine.core.module.ModuleManager - Loaded SubstanceMatters from /home/jenkins/.gradle/caches/modules-2/files-2.1/org.terasology.modules/SubstanceMatters/2.1.0-SNAPSHOT/9f35192aa8af83452c8e76a8ac001d2dec871d3b/SubstanceMatters-2.1.0-SNAPSHOT.jar
22:47:28.253 [Test worker] INFO  o.t.engine.core.module.ModuleManager - Loaded CoreAssets from /home/jenkins/.gradle/caches/modules-2/files-2.1/org.terasology.modules/CoreAssets/2.3.0-SNAPSHOT/2d3268349e1e678827ba8a4ae67b301f0c598363/CoreAssets-2.3.0-SNAPSHOT.jar
22:47:28.257 [Test worker] INFO  o.t.engine.core.module.ModuleManager - Loaded Genome from /home/jenkins/.gradle/caches/modules-2/files-2.1/org.terasology.modules/Genome/1.0.1-SNAPSHOT/11fc4fb72553da2563c1864245e4a5b1692cb3ed/Genome-1.0.1-SNAPSHOT.jar
22:47:28.261 [Test worker] INFO  o.t.engine.core.module.ModuleManager - Loaded BasicCrafting from /home/jenkins/.gradle/caches/modules-2/files-2.1/org.terasology.modules/BasicCrafting/1.1.0-SNAPSHOT/37fa36bb0ab2d79dab18628e0476240b39d5f81e/BasicCrafting-1.1.0-SNAPSHOT.jar
22:47:28.268 [Test worker] INFO  o.t.engine.core.module.ModuleManager - Loaded Workstation from /home/jenkins/.gradle/caches/modules-2/files-2.1/org.terasology.modules/Workstation/1.2.0-SNAPSHOT/c1de4f87c39e014960528af396c64ae1297c81df/Workstation-1.2.0-SNAPSHOT.jar

22:47:28.273 [Test worker] WARN  org.reflections.Reflections - could not get type for name org.terasology.logic.inventory.ItemDifferentiating from any class loader
org.reflections.ReflectionsException: could not get type for name org.terasology.logic.inventory.ItemDifferentiating
	at org.reflections.ReflectionUtils.forName(ReflectionUtils.java:387)
	at org.reflections.Reflections.expandSuperTypes(Reflections.java:387)
	at org.reflections.Reflections.<init>(Reflections.java:126)
	at org.terasology.gestalt.module.ModuleFactory.scanContents(ModuleFactory.java:237)
	at org.terasology.gestalt.module.ModuleFactory.scanOrLoadArchiveManifest(ModuleFactory.java:260)
	at org.terasology.gestalt.module.ModuleFactory.createArchiveModule(ModuleFactory.java:406)
	at org.terasology.engine.core.module.ClasspathCompromisingModuleFactory.createArchiveModule(ClasspathCompromisingModuleFactory.java:59)
	at org.terasology.gestalt.module.ModuleFactory.createArchiveModule(ModuleFactory.java:383)
	at org.terasology.gestalt.module.ModuleFactory.createModule(ModuleFactory.java:441)
	at org.terasology.engine.core.module.ModuleManager.loadModulesFromClassPath(ModuleManager.java:164)
	at org.terasology.engine.core.module.ModuleManager.<init>(ModuleManager.java:80)
later, in loadProcesses.RegisterMods
22:47:31.346 [Test worker] INFO  o.t.e.c.m.loadProcesses.RegisterMods - Activating module: engine:5.2.0-SNAPSHOT
22:47:31.347 [Test worker] INFO  o.t.e.c.m.loadProcesses.RegisterMods - Activating module: CoreAssets:2.3.0-SNAPSHOT
22:47:31.347 [Test worker] INFO  o.t.e.c.m.loadProcesses.RegisterMods - Activating module: ModuleTestingEnvironment:0.3.2-SNAPSHOT
22:47:31.347 [Test worker] INFO  o.t.e.c.m.loadProcesses.RegisterMods - Activating module: Inventory:1.5.0-SNAPSHOT
22:47:31.347 [Test worker] INFO  o.t.e.c.m.loadProcesses.RegisterMods - Activating module: SimpleFarming:2.2.0-SNAPSHOT
22:47:31.355 [Thread-17] WARN  org.reflections.Reflections - could not create Vfs.Dir from url. ignoring the exception and continuing
org.reflections.ReflectionsException: could not create Vfs.Dir from url, no matching UrlType was found [file:/home/jenkins/agent/workspace/_Modules_S_SimpleFarming_develop/build/resources/main]
either use fromURL(final URL url, final List<UrlType> urlTypes) or use the static setDefaultURLTypes(final List<UrlType> urlTypes) or addDefaultURLTypes(UrlType urlType) with your specialized UrlType.
	at org.reflections.vfs.Vfs.fromURL(Vfs.java:111)
	at org.reflections.vfs.Vfs.fromURL(Vfs.java:93)
	at org.reflections.Reflections.scan(Reflections.java:244)
	at org.reflections.Reflections.scan(Reflections.java:204)
	at org.reflections.Reflections.<init>(Reflections.java:123)
	at org.terasology.reflection.TypeRegistry.initializeReflections(TypeRegistry.java:104)
	at org.terasology.reflection.ModuleTypeRegistry.initializeReflections(ModuleTypeRegistry.java:24)
	at org.terasology.reflection.ModuleTypeRegistry.reload(ModuleTypeRegistry.java:20)
	at org.terasology.engine.core.bootstrap.EnvironmentSwitchHandler.handleSwitchToGameEnvironment(EnvironmentSwitchHandler.java:76)
	at org.terasology.engine.core.modes.loadProcesses.RegisterMods.lambda$step$0(RegisterMods.java:75)
@keturn
Copy link
Contributor Author

keturn commented Aug 11, 2021

Things that look odd about this:

  • there aren't enough modules reported in loadModulesFromClassPath (around :47:28.25)
  • the modules reported in loadProcesses.RegisterMods (around :47:31.347) are not the same set of modules!

Questions:

  • does loadModulesFromClassPath get interrupted by that ReflectionsException?
    • no, at least not in local reproductions. There are more logs of that type later, maybe they've just been clipped out in the Jenkins view of the log.
  • does it need to do things in module-dependency order?

@keturn keturn changed the title SimpleFarming transitive dependencies when run on Jenkins SimpleFarming transitive dependencies irregularities Aug 11, 2021
@keturn
Copy link
Contributor Author

keturn commented Aug 11, 2021

the test failures are reproducible locally. I tried with a modules/ containing only SimpleFarming and MTE.

I don't know if the things noted previously are related to the test failures,
because PlantAuthoritySystemTest has three passing cases and one of the four BushAuthoritySystemTests are passing.

@keturn
Copy link
Contributor Author

keturn commented Aug 11, 2021

The test is erring with an NPE here: https://github.com/Terasology/SimpleFarming/blob/b3c691b0cc50c74cdcbdafbf39cb0e82da589460/src/main/java/org/terasology/simpleFarming/systems/GenomeAuthoritySystem.java#L70

            genomeComponent.genomeId = producer.getParentPrefab().getName();

so getParentPrefab() must be returning null?

@keturn
Copy link
Contributor Author

keturn commented Aug 11, 2021

despite that stuff looking weird, I'm doubting this failure is from an MTE bug. Moving to Terasology/SimpleFarming#118

@keturn keturn closed this as completed Aug 11, 2021
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

No branches or pull requests

1 participant