Skip to content

Commit 58a633f

Browse files
committed
Embed version into artifact and player script error.
1 parent 03c2427 commit 58a633f

File tree

5 files changed

+45
-20
lines changed

5 files changed

+45
-20
lines changed

common/build.gradle.kts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import com.vanniktech.maven.publish.JavaLibrary
22
import com.vanniktech.maven.publish.JavadocJar
3+
import org.apache.tools.ant.filters.ReplaceTokens
34

45
plugins {
56
`java-library`
@@ -24,3 +25,13 @@ dependencies {
2425
mavenPublishing {
2526
configure(JavaLibrary(JavadocJar.Javadoc()))
2627
}
28+
29+
tasks {
30+
processResources {
31+
filter<ReplaceTokens>(
32+
"tokens" to mapOf(
33+
"version" to project.version
34+
)
35+
)
36+
}
37+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package dev.lavalink.youtube;
2+
3+
import java.io.IOException;
4+
import java.io.InputStream;
5+
6+
public class YoutubeSource {
7+
public static String VERSION = "Unknown";
8+
9+
static {
10+
try (InputStream versionStream = YoutubeSource.class.getResourceAsStream("/version.txt")) {
11+
if (versionStream != null) {
12+
byte[] content = new byte[versionStream.available()];
13+
versionStream.read(content);
14+
15+
String versionS = new String(content);
16+
17+
if (!versionS.startsWith("@")) {
18+
VERSION = versionS;
19+
}
20+
}
21+
} catch (IOException ignored) {
22+
23+
}
24+
}
25+
}

common/src/main/java/dev/lavalink/youtube/cipher/SignatureCipherManager.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.sedmelluq.discord.lavaplayer.tools.ExceptionTools;
55
import com.sedmelluq.discord.lavaplayer.tools.io.HttpClientTools;
66
import com.sedmelluq.discord.lavaplayer.tools.io.HttpInterface;
7+
import dev.lavalink.youtube.YoutubeSource;
78
import dev.lavalink.youtube.track.format.StreamFormat;
89
import org.apache.http.client.methods.CloseableHttpResponse;
910
import org.apache.http.client.methods.HttpGet;
@@ -218,8 +219,8 @@ private void dumpProblematicScript(@NotNull String script, @NotNull String sourc
218219
Path path = Files.createTempFile("lavaplayer-yt-player-script", ".js");
219220
Files.write(path, script.getBytes(StandardCharsets.UTF_8));
220221

221-
log.error("Problematic YouTube player script {} detected (issue detected with script: {}). Dumped to {}",
222-
sourceUrl, issue, path.toAbsolutePath());
222+
log.error("Problematic YouTube player script {} detected (issue detected with script: {}). Dumped to {} (Source version: {})",
223+
sourceUrl, issue, path.toAbsolutePath(), YoutubeSource.VERSION);
223224
} catch (Exception e) {
224225
log.error("Failed to dump problematic YouTube player script {} (issue detected with script: {})", sourceUrl, issue);
225226
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@version@

plugin/src/main/java/dev/lavalink/youtube/plugin/PluginInfo.java

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.grack.nanojson.JsonObject;
55
import com.grack.nanojson.JsonParser;
66
import com.grack.nanojson.JsonParserException;
7+
import dev.lavalink.youtube.YoutubeSource;
78
import org.slf4j.Logger;
89
import org.slf4j.LoggerFactory;
910

@@ -15,7 +16,6 @@
1516

1617
public class PluginInfo {
1718
private static final Logger log = LoggerFactory.getLogger(PluginInfo.class);
18-
public static final String VERSION = getPluginVersion();
1919

2020
static {
2121
try {
@@ -25,27 +25,14 @@ public class PluginInfo {
2525
}
2626
}
2727

28-
public static String getPluginVersion() {
29-
try (InputStream properties = PluginInfo.class.getClassLoader().getResourceAsStream("lavalink-plugins/youtube-plugin.properties")) {
30-
Properties props = new Properties();
31-
props.load(properties);
32-
33-
if (props.containsKey("version")) {
34-
return props.getProperty("version");
35-
}
36-
} catch (IOException ignored) {
37-
38-
}
39-
40-
return "Unknown";
41-
}
42-
4328
public static void checkForNewRelease() throws IOException, JsonParserException {
44-
if ("Unknown".equals(VERSION)) {
29+
String versionS = YoutubeSource.VERSION;
30+
31+
if ("Unknown".equals(versionS)) {
4532
return; // Cannot compare versions.
4633
}
4734

48-
Version currentVersion = Version.parse(VERSION);
35+
Version currentVersion = Version.parse(versionS);
4936

5037
URL url = new URL("https://api.github.com/repos/lavalink-devs/youtube-source/releases");
5138

0 commit comments

Comments
 (0)