Jump to content

[ForgeGradle] Add minecraft jars to the maven dependencies


Recommended Posts

Posted

Currently the dependency file for a mod looks like this:

 

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.github.Guild-Hall</groupId>
  <artifactId>MHFC</artifactId>
  <version>master</version>
  <developers>
    <developer>
      <name></name>
      <email></email>
    </developer>
  </developers>
  <scm>
    <connection>scm:null</connection>
    <developerConnection>scm:null</developerConnection>
  </scm>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.github.WorldSEnder</groupId>
      <artifactId>MCAnm</artifactId>
      <version>v1.0</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

 

Note that while dependencies for compilation (aka other mods) are being added, there is no way to find out the forge version it was compiled against. Normally I'd have expected to find an entry with scope "provided" like

 

    <dependency>
      <groupId>net.minecraftforge</groupId>
      <artifactId>forge</artifactId>
      <version>1.8.8-11.15.0.1655</version>
      <scope>provided</scope>
    </dependency>

 

And therelike for the other used Minecraft-provided libraries. This would make things easier for an automated version checker that can decide whether it's downloading the artifact for the correct minecraft-version solely based on the .pom

Posted

Mods can do this if they want but thats typically not where we store mod deps. And the mc version should be in the artifact version... so that should be clear.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

It "should" be in the mod version, yes, but it's non-standard and there is no way to automate that. What I want to push forward is a mod installer that let's you drag mods from the forums, similarly to the eclipse market place installer, if you have seen that. Basically, one drags in a repository little json file and the installer resolves dependencies, the correct minecraft/forge versions and other mods.

 

If I should try and submit a patch to ForgeGradle myself, tell me and I'll see what I can do. Currently, it's not easy to warn about an incompatible forge version and I know that users will complain even if it's all in plain sight.

Posted

You could always parse the mcmod.info file, or the @mod. Feel free to make a pr but this type of setup is not really feasible to do and injecting a nonexisting dep on to public repos is bad. As is having 16 different places tonget the depnlist.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

My problem with mcmod.info and @Mod is that they are both non-binding, read, they could tell you everything or nothing. The mcmod.info could tell me the minecraft version, but doesn't tell me the forge version.

 

Wheras the .pom generated by gradle->maven is a known and standardized model. At this point, I'm already commited to the installer, and I'd appreciate your okay/positive view on the coming pullrequest. There are a few more things that'd have to be added to the pom, e.g. repositories, but I'm certain I can resolve them. EDIT: I mean even gradle has full maven integration.

 

EDIT2: To download the full jar of a mod to check compability is a huge transfer of data that could just aswell result in a failure. The pom is lightweight and enough to do the job

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.

Announcements



×
×
  • Create New...

Important Information

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