MinecraftForge / ForgeGradle

Minecraft mod development framework used by Forge and FML for the gradle build system
GNU Lesser General Public License v2.1
512 stars 440 forks source link

Cannot setup workspace for Forge 1.7.10 #745

Closed CplPibald closed 3 years ago

CplPibald commented 3 years ago

Repro steps

1) Download Forge source ball from http://files.minecraftforge.net/maven/net/minecraftforge/forge/index_1.7.10.html 2) Unpack zip 3) gradlew setupDevWorkspace

Result

* What went wrong:
A problem occurred configuring root project 'PiTweaks-1.7.10'.
> Could not resolve all dependencies for configuration ':classpath'.
   > Could not resolve net.md-5:SpecialSource:1.7.3.
     Required by:
         :mymod-1.7.10:unspecified > net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT
      > Could not HEAD 'http://repo1.maven.org/maven2/net/md-5/SpecialSource/1.7.3/SpecialSource-1.7.3.pom'. Received status code 501 from server: HTTPS Required
   > Could not resolve org.apache.httpcomponents:httpclient:4.3.3.
     Required by:
         :mymod-1.7.10:unspecified > net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT
      > Could not HEAD 'http://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.pom'. Received status code 501 from server: HTTPS Required
   > Could not resolve org.apache.httpcomponents:httpmime:4.3.3.
     Required by:
         :mymod-1.7.10:unspecified > net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT
      > Could not GET 'http://repo1.maven.org/maven2/org/apache/httpcomponents/httpmime/4.3.3/httpmime-4.3.3.pom'. Received status code 501 from server: HTTPS Required

[[error log continues]

Analysis

Gradle is downloading configuration files from minecraftforge.net which instruct it to use HTTP to access files on repo1.maven.org. HTTP was disabled by a server configuration change in 2020, in favor of HTTPS.

The general fix for this error is to modify the URLs in build.gradle to change http to https. However, these URLs are not stored in the local build.gradle, but rather are stored on minecraftforge.net where mod authors cannot change them.

Impact

It is impossible to build mods for MC 1.7.10,

Discussion

This is a duplicate of #658, #667, #673, and #724, all of which have been closed without comment. The last one directs people to go to the forum, where this very issue has been posted more than a dozen times, and every time the thread has been locked by a moderator with the reason "1.7 is not supported." The only suggestion is "move to a current version", which is unhelpful and frankly, a bit dismissive. There are valid reasons to build a mod for MC 1.7, and current versions of ForgeGradle will not do that.

This is not a "HELP I CAN'T JAVA" problem. This is a "Something changed in the cloud and broke all builds" problem. People are not asking for support because they don't know how to code a mod, which seems to be the assumptoin of the forum mods. People are asking for support because the product, which is still available for download on the website, is broken with no published workaround.

Suggested fixes

In decreasing order of preference,

1) Publish new configuration to minecraftforge.net which point to working maven URLs, allowing the existing Forge packages to work again. This should be a simple search-and-replace operation, but must be done by someone with permission to publish.

2) Suggest/publish instructions for a workaround that mod authors can use to become unblocked.

3) Cease the locking of every single forum thread asking for help on this issue. Eventually a user who has already solved this issue can post a workaround. This option requires zero effort required by the Forge dev team.

4) Remove non-working versions of Forge from the website, and make it clear that authors are not allowed to create, update, or maintain mods for any version of Minecraft except the current version.

ravenbuilder934 commented 3 years ago

(1.7.10 is no longer supported)

TheCurle commented 3 years ago

Upstream Gradle stuff changed, and everything broke. Our toolchain has moved on, and so should you. It's easy to fix this problem yourself if you're determined to mod this version. You are allowed to "create, update or maintain mods" for every version, but we don't explicitly support it.

If you want to do something except complain, you can help me update these old versions to the new toolchain. Until then, there are published workarounds both by us and by community members on the forum.

Sm0keySa1m0n commented 3 years ago

If you want to do something except complain, you can help me update these old versions to the new toolchain.

Is moving historical versions of Forge to modern FG actually a plan? (I know 1.12 has been updated but is this also planned for older versions)

TheCurle commented 3 years ago

A plan? I'm in the middle of it, and i have a somewhat decent process, but it's not perfect and i don't have enough man hours to convert every version we ship.

Sm0keySa1m0n commented 3 years ago

A plan? I'm in the middle of it, and i have a somewhat decent process, but it's not perfect and i don't have enough man hours to convert every version we ship.

Oh, awesome. I can give you some assistance if you’d like?

CplPibald commented 3 years ago

and i don't have enough man hours to convert every version we ship.

I do, in fact, want to do more than complain. I'm not very familiar with the internals of ForgeGradle or Maven, but if you need someone to run scripts, hack away at build errors, and submit a PR, I'd like to help.

JackCarterSmith commented 2 years ago

@CplPibald I've used a temporary but working solution. I described it in my originial topic (#658)