Skip to content

Commit

Permalink
add discord webhook
Browse files Browse the repository at this point in the history
  • Loading branch information
jaredlll08 committed Apr 14, 2021
1 parent 2a9a09c commit ad50069
Showing 1 changed file with 65 additions and 1 deletion.
66 changes: 65 additions & 1 deletion build.gradle
@@ -1,4 +1,8 @@
import groovy.json.JsonOutput
import com.diluv.schoomp.Webhook
import com.diluv.schoomp.message.Message
import com.diluv.schoomp.message.embed.Embed
import com.diluv.schoomp.message.embed.Footer

buildscript {
repositories {
Expand All @@ -8,6 +12,7 @@ buildscript {
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
classpath group: 'com.diluv.schoomp', name: 'Schoomp', version: '1.1.0'
}
}
plugins {
Expand Down Expand Up @@ -87,7 +92,7 @@ repositories {
dependencies {
minecraft 'net.minecraftforge:forge:1.16.5-36.0.1'
implementation fg.deobf("curse.maven:create-328085:3167531")
compile fg.deobf("com.blamejared.crafttweaker:CraftTweaker-1.16.5:7.1.0.91")
compile fg.deobf("com.blamejared.crafttweaker:CraftTweaker-1.16.5:7.1.0.203")
compile fg.deobf("mezz.jei:jei-1.16.4:7.6.1.65")
}

Expand Down Expand Up @@ -153,6 +158,37 @@ curseforge {
}
}

tasks.getByName("curseforge").doLast {

try {
def name = project.findProperty('name')
def mcVersion = "1.16.5"
def cursePage = "https://www.curseforge.com/minecraft/mc-mods/createtweaker"
def curseProject = "437717"
// Reads the file ID given to us by CurseForge
def newFileId = tasks.getByName("curseforge${curseProject}").property('mainArtifact').fileID

def webhook = new Webhook(findProperty('discordCFWebhook'), "${name} Gradle Upload")

def message = new Message()
message.setUsername(name)
message.setContent("${name} ${version} for Minecraft ${mcVersion} has been released! The download will be available soon.")

def embed = new Embed()
embed.addField('Download', "${cursePage}/files/$newFileId", false)
embed.addField('Change Log', "${getCIChangelog() ?: 'Unavailable'}", false)

embed.setColor(0xF16436)
message.addEmbed(embed)
message.setAvatarUrl("https://media.forgecdn.net/avatars/333/541/637466462865206010.png")
webhook.sendMessage(message)
}

catch (IOException e) {
println 'Failed to push to the Discord webhook.'
}
}

task updateVersionTracker {

onlyIf {
Expand Down Expand Up @@ -209,4 +245,32 @@ task genGitChangelog() {
file.write("### Current version: " + project.version)
file.append("\n" + stdout.toString())
System.out.println("Changelog generated!")
}

def getCIChangelog() {
// This method handles getting short changelogs from Jenkins itself instead of long changelogs
String repoLink = "https://github.com/jaredlll08/CreateTweaker/commit/"
try {
def stdout = new ByteArrayOutputStream()
def gitHash = System.getenv('GIT_COMMIT')
def gitPrevHash = System.getenv('GIT_PREVIOUS_COMMIT')
if(gitHash && gitPrevHash) {
exec {
commandLine 'git', 'log', '--pretty=tformat:- [%s](' + repoLink + '%H) - %aN ', '' + gitPrevHash + '...' + gitHash
standardOutput = stdout
}
return stdout.toString().trim()
}
else if (gitHash) {
exec {
commandLine 'git', 'log', '--pretty=tformat:- [%s](' + repoLink + '%H) - %aN', '-1', '' + gitHash
standardOutput = stdout
}
return stdout.toString().trim()
} else {
return "";
}
} catch(ignored) {
return "";
}
}

0 comments on commit ad50069

Please sign in to comment.