Jump to content

Help with gradle dependencies


Kevadroz

Recommended Posts

I'm trying to add a dependency on a mod of mine's but when i want to test my code and run the game in IntelliJ the mod "vexAPI" (vanillaExtensionAPI) isn't loaded / detected by forge (like if it was a compileOnly dependency) and if I try to interact with any class the game runs on a Exception (probably ClassDefNotFound, can't remember (too lazy to replicate it now)). Here's the gist with anything i think is relevant: https://gist.github.com/Kevadroz/01d07e6bfb50eb8028a250e48a058659, ask for any other code/file you want. The commented SourceSet just loads yaamcem's sources when i ty to use it, same if i replace the sting with ":vexAPI". What am i doing wrong? What can i do to fix it? Thanks for any given help (if any). Also, if you are gonna say "use a multibuild setup", i already tried, same problem.

EDIT: Just noticed there's a ForgeGradle SubForum, i wish i saw it before posting this
EDIT2: Whould be nice for this to be moved into the correct SubForum

Edited by Kevadroz
Link to comment
Share on other sites

45 minutes ago, ChampionAsh5357 said:

Sorry, I just reread your question and realized it wasn't your api.

No, i'm the one who's sorry for not specifying that it IS my api (well, the api part of that mod isn't done yet, i need development and testing of the mod itself before doing anything)

Link to comment
Share on other sites

1 minute ago, ChampionAsh5357 said:

Maybe, I might also just be giving you incorrect information as well as gradle tends to be spaghetti when it comes to anything. I'm assuming that you already did the refresh, regen, and then run I mentioned above?

Yes, tough that "run I mentioned abobe" isn't completely clear to me. I just did a "runClient", the mod didn't load, but the path was detected:

[07oct2020 17:36:16.110] [main/DEBUG] [net.minecraftforge.fml.loading.LibraryFinder/CORE]: Found JAR classpath_mod at path /home/kevin/Documentos/mc-mods/forge/modRoots/vanillaExtensionAPI/build/resources/main
1 minute ago, ChampionAsh5357 said:

I am working off the assumption that the api is part of the current folder structure.

See settings.gradle.

Link to comment
Share on other sites

1 minute ago, Kevadroz said:

tough that "run I mentioned abobe" isn't completely clear to me

Well once you change your build.gradle, you need to tell your client, server, and data start that the information has changed. That's done by refreshing the gradle dependencies, regenning the runs, and then clicking on either runClient, runServer, or runData. Else, it won't recognize anything that has changed.

3 minutes ago, Kevadroz said:

Hmmm, this should work imo with my knowledge in gradle. My only other thought is that the api is not a mod itself. And if that's the case you need to include the one with the mod annotation.

Link to comment
Share on other sites

1 minute ago, ChampionAsh5357 said:

Well once you change your build.gradle, you need to tell your client, server, and data start that the information has changed. That's done by refreshing the gradle dependencies, regenning the runs, and then clicking on either runClient, runServer, or runData. Else, it won't recognize anything that has changed.

That's what i did

1 minute ago, ChampionAsh5357 said:

Hmmm, this should work imo with my knowledge in gradle. My only other thought is that the api is not a mod itself. And if that's the case you need to include the one with the mod annotation.

It is a mod.

Link to comment
Share on other sites

Tough it is not a solution i like, packing a jar without reobfing and putting it in the mods folder works... so it isn't of high priority to me, as i'm coding features completely or almost completly before implementing them on other mods, so i don't need to pack it often at all, but it whould be good to know how to this properly, i wish i could use mavenLocal, but that also doesn't work (doesn't detect te artifact). Well, here's the debug.log.

Link to comment
Share on other sites

So, just as a notice, it recognizes that the resource class path exists; however, it doesn't recognize the actual mod itself. I can see that from this line: 

Quote

[07oct2020 17:36:17.639] [main/DEBUG] [net.minecraftforge.fml.loading.moddiscovery.ModDiscoverer/SCAN]: Found 3 mod files with 3 mods

So it most likely doesn't recognize your mod as a dependency for some reason. Either because it's not compiled onto the build path or something else not recognizing it as an actual jar. That's my final bit of insight.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.