Skip to content

Commit 355b75e

Browse files
committed
Add JDA support
1 parent e48a44b commit 355b75e

File tree

73 files changed

+4513
-55
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+4513
-55
lines changed

buildSrc/src/main/kotlin/net/kautler/java.gradle.kts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ java {
3030
registerFeature("javacordSupport") {
3131
usingSourceSet(main)
3232
}
33+
registerFeature("jdaSupport") {
34+
usingSourceSet(main)
35+
}
3336
}
3437

3538
dependencies {
@@ -45,6 +48,11 @@ dependencies {
4548
implementation("org.apache.logging.log4j:log4j-api:${versions["log4j"]}")
4649

4750
"javacordSupportImplementation"("org.javacord:javacord-api:${versions["javacord"]}")
51+
52+
"jdaSupportImplementation"("net.dv8tion:JDA:${versions["jda"]}") {
53+
exclude("club.minnced", "opus-java")
54+
exclude("com.google.code.findbugs", "jsr305")
55+
}
4856
}
4957

5058
tasks.withType<JavaCompile>().configureEach {

buildSrc/src/main/kotlin/net/kautler/java9.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ if (JavaVersion.current().isJava9Compatible) {
6464
.addDirective("requires static com.github.spotbugs.annotations;")
6565
.addDirective("requires static org.antlr.antlr4.runtime;")
6666
.addDirective("requires static org.javacord.api;")
67+
.addDirective("requires static net.dv8tion.jda;")
6768

6869
apiPackages.forEach { module.addDirective("exports $it;") }
6970

buildSrc/src/main/kotlin/net/kautler/javadoc.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ tasks.withType<Javadoc>().configureEach {
5757
add("https://static.javadoc.io/javax.enterprise/cdi-api/${versions["cdi"]}/")
5858
add("https://static.javadoc.io/javax.inject/javax.inject/${versions["javax.inject"]}/")
5959
add("https://static.javadoc.io/org.javacord/javacord-api/${versions["javacord"]}/")
60+
add("https://jitpack.io/com/github/DV8FromTheWorld/JDA/v${(versions["jda"] ?: error("jda version is missing")).split('_').first()}/javadoc/")
6061
}
6162
isUse = true
6263
isVersion = true

buildSrc/src/main/kotlin/net/kautler/osgi.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ tasks.jar {
3131
"org.javacord.*",
3232
"resolution:=optional"
3333
).joinToString(";"),
34+
listOf(
35+
"net.dv8tion.jda.*",
36+
"resolution:=optional"
37+
).joinToString(";"),
3438
"*"
3539
).joinToString(),
3640
"Export-Package" to listOf(

buildSrc/src/main/kotlin/net/kautler/tests.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ dependencies {
4343
testImplementation("org.antlr:antlr4-runtime:${versions["antlr"]}")
4444
testImplementation("org.javacord:javacord-api:${versions["javacord"]}")
4545
testImplementation("org.javacord:javacord-core:${versions["javacord"]}")
46+
testImplementation("net.dv8tion:JDA:${versions["jda"]}") {
47+
exclude("club.minnced", "opus-java")
48+
exclude("com.google.code.findbugs", "jsr305")
49+
}
4650

4751
testRuntimeOnly("info.solidsoft.spock:spock-global-unroll:${versions["spock-global-unroll"]}")
4852
testRuntimeOnly("net.bytebuddy:byte-buddy:${versions["byte-buddy"]}")

buildSrc/src/main/kotlin/net/kautler/versions.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ val versions by extra(mapOf(
4242
"javacord" to "3.0.4",
4343
"javax.annotation-api" to "1.3.2",
4444
"javax.inject" to "1",
45+
"jda" to "4.0.0_52",
4546
"log4j" to "2.12.1",
4647
"antlr" to "4.7.2",
4748

config/codenarc/codenarc.groovy

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,10 @@ ruleset {
270270
ExplicitArrayListInstantiation
271271
ExplicitCallToAndMethod
272272
ExplicitCallToCompareToMethod {
273-
doNotApplyToClassNames = 'net.kautler.command.api.restriction.javacord.RoleJavacordTest'
273+
doNotApplyToClassNames = [
274+
'net.kautler.command.api.restriction.javacord.RoleJavacordTest',
275+
'net.kautler.command.api.restriction.jda.RoleJdaTest'
276+
].join(', ')
274277
}
275278
ExplicitCallToDivMethod
276279
ExplicitCallToEqualsMethod

config/spotbugs/spotbugs-exclude.xml

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,10 @@
4444
<Method name="ensureInitializationAtStartup" params="java.lang.Object" returns="void"/>
4545
</And>
4646
<And>
47-
<Class name="net.kautler.command.handler.CommandHandlerJavacord"/>
47+
<Or>
48+
<Class name="net.kautler.command.handler.CommandHandlerJavacord"/>
49+
<Class name="net.kautler.command.handler.CommandHandlerJda"/>
50+
</Or>
4851
<Or>
4952
<Method name="setAvailableRestrictions" params="javax.enterprise.inject.Instance" returns="void"/>
5053
<Method name="setCommands" params="javax.enterprise.inject.Instance" returns="void"/>
@@ -74,6 +77,10 @@
7477
<Class name="net.kautler.command.api.restriction.javacord.RoleJavacord"/>
7578
<Class name="net.kautler.command.api.restriction.javacord.ServerJavacord"/>
7679
<Class name="net.kautler.command.api.restriction.javacord.UserJavacord"/>
80+
<Class name="net.kautler.command.api.restriction.jda.ChannelJda"/>
81+
<Class name="net.kautler.command.api.restriction.jda.RoleJda"/>
82+
<Class name="net.kautler.command.api.restriction.jda.ServerJda"/>
83+
<Class name="net.kautler.command.api.restriction.jda.UserJda"/>
7784
</Or>
7885
<Or>
7986
<Method name="ensureAtLeastOneConditionIsSet" params="" returns="void"/>
@@ -92,14 +99,37 @@
9299
<Class name="net.kautler.command.api.prefix.javacord.MentionPrefixProviderJavacord"/>
93100
<Method name="getCommandPrefix" params="org.javacord.api.entity.message.Message" returns="java.lang.String"/>
94101
</And>
102+
<And>
103+
<Class name="net.kautler.command.api.prefix.jda.MentionPrefixProviderJda"/>
104+
<Method name="getCommandPrefix" params="net.dv8tion.jda.api.entities.Message" returns="java.lang.String"/>
105+
</And>
95106
</Or>
96107
<Bug pattern="MDM_WAIT_WITHOUT_TIMEOUT"/>
97108
</Match>
98109

110+
<Match>
111+
<Class name="net.kautler.command.api.restriction.jda.BotOwnerJda"/>
112+
<Bug pattern="IMC_IMMATURE_CLASS_NO_TOSTRING"/>
113+
</Match>
114+
99115
<!-- work-around for https://github.com/find-sec-bugs/find-sec-bugs/issues/505 -->
100116
<Match>
101117
<Class name="net.kautler.command.api.Version"/>
102118
<Method name="&lt;init&gt;" params="" returns="void"/>
103119
<Bug pattern="URLCONNECTION_SSRF_FD"/>
104120
</Match>
121+
122+
<!-- false positive -->
123+
<Match>
124+
<Class name="net.kautler.command.handler.CommandHandlerJda"/>
125+
<Method name="addListener" params="" returns="void"/>
126+
<Bug pattern="CRLF_INJECTION_LOGS"/>
127+
</Match>
128+
129+
<!-- work-around for https://github.com/mebigfatguy/fb-contrib/issues/372 -->
130+
<Match>
131+
<Class name="net.kautler.command.handler.CommandHandlerJda"/>
132+
<Method name="onEvent" params="net.dv8tion.jda.api.events.GenericEvent" returns="void"/>
133+
<Bug pattern="ITC_INHERITANCE_TYPE_CHECKING"/>
134+
</Match>
105135
</FindBugsFilter>
File renamed without changes.

0 commit comments

Comments
 (0)