Skip to content

Commit

Permalink
Add GitProperty
Browse files Browse the repository at this point in the history
  • Loading branch information
NovaFox161 committed Jun 10, 2021
1 parent 09394ca commit 8f73e3e
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 8 deletions.
69 changes: 69 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@

import com.squareup.kotlinpoet.FileSpec
import com.squareup.kotlinpoet.PropertySpec
import com.squareup.kotlinpoet.TypeSpec
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
Expand All @@ -8,6 +12,14 @@ plugins {

id("com.google.cloud.tools.jib") version("3.0.0")
id ("org.springframework.boot") version ("2.5.0")

id("com.gorylenko.gradle-git-properties") version "2.2.3"
}

buildscript {
dependencies {
classpath("com.squareup:kotlinpoet:1.7.2")
}
}

repositories {
Expand Down Expand Up @@ -38,6 +50,8 @@ val reactorNettyVersion = "1.0.3"
val r2dbcMysqlVersion = "0.8.1.RELEASE"
val r2dbcPoolVersion = "0.8.3.RELEASE"

val kotlinSrcDir: File = buildDir.resolve("src/main/kotlin")

dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.0")

Expand Down Expand Up @@ -90,8 +104,62 @@ jib {
to.image = "rg.nl-ams.scw.cloud/dreamexposure/ticketbird:$version"
}

gitProperties {
extProperty = "gitPropertiesExt"

customProperty("ticketbird.version", version)
customProperty("ticketbird.version.d4j", d4jVersion)
}

kotlin {
sourceSets {
all {
kotlin.srcDir(kotlinSrcDir)
}
}
}

tasks {
generateGitProperties {
doLast {
@Suppress("UNCHECKED_CAST")
val gitProperties = ext[gitProperties.extProperty] as Map<String, String>
val enumPairs = gitProperties.mapKeys { it.key.replace('.', '_').toUpperCase() }

val enumBuilder = TypeSpec.enumBuilder("GitProperty")
.primaryConstructor(
com.squareup.kotlinpoet.FunSpec.constructorBuilder()
.addParameter("value", String::class)
.build()
)

val enums = enumPairs.entries.fold(enumBuilder) { accumulator, (key, value) ->
accumulator.addEnumConstant(
key, TypeSpec.anonymousClassBuilder()
.addSuperclassConstructorParameter("%S", value)
.build()
)
}

val enumFile = FileSpec.builder("org.dreamexposure.ticketbird", "GitProperty")
.addType(
enums // https://github.com/square/kotlinpoet#enums
.addProperty(
PropertySpec.builder("value", String::class)
.initializer("value")
.build()
)
.build()
)
.build()

enumFile.writeTo(kotlinSrcDir)
}
}

withType<KotlinCompile> {
dependsOn(generateGitProperties)

kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = targetCompatibility
Expand All @@ -101,4 +169,5 @@ tasks {
bootJar {
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
import java.util.ArrayList;
import java.util.function.Consumer;

import static org.dreamexposure.ticketbird.GitProperty.TICKETBIRD_VERSION;
import static org.dreamexposure.ticketbird.GitProperty.TICKETBIRD_VERSION_D4J;

public class TicketBirdCommand implements ICommand {

/**
Expand Down Expand Up @@ -119,8 +122,11 @@ private void moduleTicketBirdInfo(MessageCreateEvent event, GuildSettings settin
spec.setAuthor("TicketBird", GlobalVars.siteUrl, GlobalVars.iconUrl);
spec.setTitle(MessageManager.getMessage("Embed.TicketBird.Info.Title", settings));
spec.addField(MessageManager.getMessage("Embed.TicketBird.Info.Developer", settings), "DreamExposure", true);
spec.addField(MessageManager.getMessage("Embed.TicketBird.Info.Version", settings), GlobalVars.version, true);
spec.addField(MessageManager.getMessage("Embed.TicketBird.Info.Library", settings), "Discord4J, version " + GlobalVars.d4jVersion, true);
spec.addField(MessageManager.getMessage("Embed.TicketBird.Info.Version", settings),
TICKETBIRD_VERSION.getValue(),
true);
spec.addField(MessageManager.getMessage("Embed.TicketBird.Info.Library", settings),
"Discord4J, version " + TICKETBIRD_VERSION_D4J.getValue(), true);
spec.addField("Shard Index", TicketBird.getShardIndex() + "/" + TicketBird.getShardCount(), true);
spec.addField(MessageManager.getMessage("Embed.TicketBird.Info.TotalGuilds", settings),
event.getClient().getGuilds().count().block() + "", true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
import discord4j.core.object.presence.Activity;
import discord4j.core.object.presence.Presence;
import org.dreamexposure.ticketbird.TicketBird;
import org.dreamexposure.ticketbird.utils.GlobalVars;

import java.util.ArrayList;
import java.util.TimerTask;

import static org.dreamexposure.ticketbird.GitProperty.TICKETBIRD_VERSION;

public class StatusChanger extends TimerTask {
private final ArrayList<String> statuses = new ArrayList<>();
private int index;
Expand All @@ -22,7 +23,7 @@ public StatusChanger() {
statuses.add("Powered by DreamExposure");
statuses.add("Used on %guCount% guilds!");
statuses.add("%shards% shards!");
statuses.add("Version " + GlobalVars.version);
statuses.add("Version " + TICKETBIRD_VERSION.getValue());
statuses.add("TicketBird is on Patreon!");
statuses.add("Share TicketBird!!");
index = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ public class GlobalVars {

public final static Snowflake novaId = Snowflake.of(130510525770629121L);

public final static String version = "1.0.0";

public final static String d4jVersion = "3.0.6";

public final static Color embedColor = Color.of(252, 113, 20);

public final static long oneWeekMs = 604800000;
Expand Down

0 comments on commit 8f73e3e

Please sign in to comment.