firstdarkdev / modpublisher

A dual publishing Gradle Plugin to publish mods to Modrinth, Curseforge and GitHub in one go
MIT License
19 stars 3 forks source link

Option to override GitHub release name #21

Closed Crystal-Spider closed 6 months ago

Crystal-Spider commented 6 months ago

My mod supports Fabric, Forge, and NeoForge. Each loader is shipped in a different jar, meaning 3 different releases for both Modrinth and CurseForge.
However, on GitHub, the release is only one with all three jars.

My naming standard for Modrinth and CurseForge is "[${loader} - ${minecraft_version}] ${mod_title} v${mod_version}", but on GitHub I'd like the release name to be the same as the tag name.

Is there any way to do this?

hypherionmc commented 6 months ago

So if I understand you correctly, you want the display name of the release, to be the same as the tag name?

So if the tag is 1.3.0, the display name should be 1.3.0 and not "[${loader} - ${minecraft_version}] ${mod_title} v${mod_version}"?

Crystal-Spider commented 6 months ago

Yeah, but only on GitHub.
For example, running the publishing task correctly generated 3 releases on Modrinth and CurseForge with that naming scheme, but on GitHub it generated a single release (correct), with all 3 jars for the different mod loaders (correct), under the tag v1.3.0 (correct), but named [Forge - 1.20.4] Mod Title 1.3.0 (wrong, I'd like it to be v1.3.0, same as the tag name, here on GitHub).

hypherionmc commented 6 months ago

That makes sense.

Okay we don't currently have a way to do this, but it's something that can be added fairly easily. I'll add it tonight after work

Crystal-Spider commented 6 months ago

Thank you very much!
Maybe if you add a new github option, you could simply let the user specify a custom name for the release:

github {
  // other options
  tag = "v${project.version}"
  name = "v${project.version}" // I'd say this could already default to the tag name if not specified, but maybe it'd be best to default to the display name to not break it for people relying on the current behavior?
}

Thank you again, for you quick replies too!

hypherionmc commented 6 months ago

Yeah we have a whole new config system planned for 3.0.0

Basically you will be able to either use the "global" configuration, or, a dedicated block to override stuff, like you mentioned above

Crystal-Spider commented 6 months ago

Great, thanks a lot!

hypherionmc commented 6 months ago

Hey sorry. My night turned out a little different than planned.

Looking over everything, I see Matt already started adding a dedicated GitHub section, so I'm just going to add one there like this:

setGitHubDisplayName()

That should do the job for now until we have a proper implementation

Crystal-Spider commented 6 months ago

Don't worry, thanks a lot!
I'll wait for the release with this change!

hypherionmc commented 6 months ago

It's been added.

So under github, you can use displayName("Value")

Like:

github {
      displayName("Hello World")
}

It's available in version 2.1.4

Crystal-Spider commented 6 months ago

Thank you for the quick fix!