Skip to content

Commit 6be2e57

Browse files
committed
Fix compilation warnings
1 parent ff8be18 commit 6be2e57

File tree

32 files changed

+251
-141
lines changed

32 files changed

+251
-141
lines changed
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
#!/usr/bin/env node
22
import 'source-map-support/register';
33
import * as cdk from '@aws-cdk/core';
4-
import { JProfByBotStack } from '../lib/JProfByBotStack';
4+
import {JProfByBotStack} from '../lib/JProfByBotStack';
55

66
if (process.env.TOKEN_TELEGRAM_BOT == null) {
7-
throw new Error('Undefined TOKEN_TELEGRAM_BOT')
7+
throw new Error('Undefined TOKEN_TELEGRAM_BOT')
88
}
99

1010
if (process.env.TOKEN_YOUTUBE_API == null) {
11-
throw new Error('Undefined TOKEN_YOUTUBE_API')
11+
throw new Error('Undefined TOKEN_YOUTUBE_API')
1212
}
1313

1414
const app = new cdk.App();
1515
new JProfByBotStack(
16-
app,
17-
'JProfByBotStack',
18-
{
19-
telegramToken: process.env.TOKEN_TELEGRAM_BOT,
20-
youtubeToken: process.env.TOKEN_YOUTUBE_API,
21-
env: {
22-
region: 'us-east-1'
16+
app,
17+
'JProfByBotStack',
18+
{
19+
telegramToken: process.env.TOKEN_TELEGRAM_BOT,
20+
youtubeToken: process.env.TOKEN_YOUTUBE_API,
21+
env: {
22+
region: 'us-east-1'
23+
}
2324
}
24-
}
2525
);
Lines changed: 84 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,98 @@
11
import * as cdk from '@aws-cdk/core';
2-
import { Duration, RemovalPolicy } from '@aws-cdk/core';
3-
import { JProfByBotStackProps } from './JProfByBotStackProps';
2+
import {Duration, RemovalPolicy} from '@aws-cdk/core';
3+
import {JProfByBotStackProps} from './JProfByBotStackProps';
44
import * as dynamodb from '@aws-cdk/aws-dynamodb';
55
import * as lambda from '@aws-cdk/aws-lambda';
66
import * as apigateway from '@aws-cdk/aws-apigateway';
77

88
export class JProfByBotStack extends cdk.Stack {
9-
constructor(scope: cdk.Construct, id: string, props: JProfByBotStackProps) {
10-
super(scope, id, props);
9+
constructor(scope: cdk.Construct, id: string, props: JProfByBotStackProps) {
10+
super(scope, id, props);
1111

12-
const votesTable = new dynamodb.Table(this, 'jprof-by-bot-table-votes', {
13-
tableName: 'jprof-by-bot-table-votes',
14-
partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },
15-
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
16-
removalPolicy: RemovalPolicy.DESTROY,
17-
});
18-
const youtubeChannelsWhitelistTable = new dynamodb.Table(this, 'jprof-by-bot-table-youtube-channels-whitelist', {
19-
tableName: 'jprof-by-bot-table-youtube-channels-whitelist',
20-
partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },
21-
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
22-
});
23-
const kotlinMentionsTable = new dynamodb.Table(this, 'jprof-by-bot-table-kotlin-mentions', {
24-
tableName: 'jprof-by-bot-table-kotlin-mentions',
25-
partitionKey: { name: 'chat', type: dynamodb.AttributeType.NUMBER },
26-
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
27-
});
28-
const dialogStatesTable = new dynamodb.Table(this, 'jprof-by-bot-table-dialog-states', {
29-
tableName: 'jprof-by-bot-table-dialog-states',
30-
partitionKey: { name: 'userId', type: dynamodb.AttributeType.NUMBER },
31-
sortKey: { name: 'chatId', type: dynamodb.AttributeType.NUMBER },
32-
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
33-
});
34-
const quizojisTable = new dynamodb.Table(this, 'jprof-by-bot-table-quizojis', {
35-
tableName: 'jprof-by-bot-table-quizojis',
36-
partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },
37-
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
38-
});
12+
const votesTable = new dynamodb.Table(this, 'jprof-by-bot-table-votes', {
13+
tableName: 'jprof-by-bot-table-votes',
14+
partitionKey: {name: 'id', type: dynamodb.AttributeType.STRING},
15+
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
16+
removalPolicy: RemovalPolicy.DESTROY,
17+
});
18+
const youtubeChannelsWhitelistTable = new dynamodb.Table(this, 'jprof-by-bot-table-youtube-channels-whitelist', {
19+
tableName: 'jprof-by-bot-table-youtube-channels-whitelist',
20+
partitionKey: {name: 'id', type: dynamodb.AttributeType.STRING},
21+
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
22+
});
23+
const kotlinMentionsTable = new dynamodb.Table(this, 'jprof-by-bot-table-kotlin-mentions', {
24+
tableName: 'jprof-by-bot-table-kotlin-mentions',
25+
partitionKey: {name: 'chat', type: dynamodb.AttributeType.NUMBER},
26+
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
27+
});
28+
const dialogStatesTable = new dynamodb.Table(this, 'jprof-by-bot-table-dialog-states', {
29+
tableName: 'jprof-by-bot-table-dialog-states',
30+
partitionKey: {name: 'userId', type: dynamodb.AttributeType.NUMBER},
31+
sortKey: {name: 'chatId', type: dynamodb.AttributeType.NUMBER},
32+
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
33+
});
34+
const quizojisTable = new dynamodb.Table(this, 'jprof-by-bot-table-quizojis', {
35+
tableName: 'jprof-by-bot-table-quizojis',
36+
partitionKey: {name: 'id', type: dynamodb.AttributeType.STRING},
37+
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
38+
});
3939

40-
const layerLibGL = new lambda.LayerVersion(this, 'jprof-by-bot-lambda-layer-libGL', {
41-
code: lambda.Code.fromAsset('layers/libGL.zip'),
42-
compatibleRuntimes: [lambda.Runtime.JAVA_11],
43-
});
44-
const layerLibfontconfig = new lambda.LayerVersion(this, 'jprof-by-bot-lambda-layer-libfontconfig', {
45-
code: lambda.Code.fromAsset('layers/libfontconfig.zip'),
46-
compatibleRuntimes: [lambda.Runtime.JAVA_11],
47-
});
40+
const layerLibGL = new lambda.LayerVersion(this, 'jprof-by-bot-lambda-layer-libGL', {
41+
code: lambda.Code.fromAsset('layers/libGL.zip'),
42+
compatibleRuntimes: [lambda.Runtime.JAVA_11],
43+
});
44+
const layerLibfontconfig = new lambda.LayerVersion(this, 'jprof-by-bot-lambda-layer-libfontconfig', {
45+
code: lambda.Code.fromAsset('layers/libfontconfig.zip'),
46+
compatibleRuntimes: [lambda.Runtime.JAVA_11],
47+
});
4848

49-
const lambdaWebhook = new lambda.Function(this, 'jprof-by-bot-lambda-webhook', {
50-
functionName: 'jprof-by-bot-lambda-webhook',
51-
runtime: lambda.Runtime.JAVA_11,
52-
layers: [
53-
layerLibGL,
54-
layerLibfontconfig,
55-
],
56-
timeout: Duration.seconds(30),
57-
memorySize: 1024,
58-
code: lambda.Code.fromAsset('../../runners/lambda/build/libs/jprof_by_bot-runners-lambda-all.jar'),
59-
handler: 'by.jprof.telegram.bot.runners.lambda.JProf',
60-
environment: {
61-
'LOG_THRESHOLD': 'DEBUG',
62-
'TABLE_VOTES': votesTable.tableName,
63-
'TABLE_YOUTUBE_CHANNELS_WHITELIST': youtubeChannelsWhitelistTable.tableName,
64-
'TABLE_KOTLIN_MENTIONS': kotlinMentionsTable.tableName,
65-
'TABLE_DIALOG_STATES': dialogStatesTable.tableName,
66-
'TABLE_QUIZOJIS': quizojisTable.tableName,
67-
'TOKEN_TELEGRAM_BOT': props.telegramToken,
68-
'TOKEN_YOUTUBE_API': props.youtubeToken,
69-
},
70-
});
49+
const lambdaWebhook = new lambda.Function(this, 'jprof-by-bot-lambda-webhook', {
50+
functionName: 'jprof-by-bot-lambda-webhook',
51+
runtime: lambda.Runtime.JAVA_11,
52+
layers: [
53+
layerLibGL,
54+
layerLibfontconfig,
55+
],
56+
timeout: Duration.seconds(30),
57+
memorySize: 1024,
58+
code: lambda.Code.fromAsset('../../runners/lambda/build/libs/jprof_by_bot-runners-lambda-all.jar'),
59+
handler: 'by.jprof.telegram.bot.runners.lambda.JProf',
60+
environment: {
61+
'LOG_THRESHOLD': 'DEBUG',
62+
'TABLE_VOTES': votesTable.tableName,
63+
'TABLE_YOUTUBE_CHANNELS_WHITELIST': youtubeChannelsWhitelistTable.tableName,
64+
'TABLE_KOTLIN_MENTIONS': kotlinMentionsTable.tableName,
65+
'TABLE_DIALOG_STATES': dialogStatesTable.tableName,
66+
'TABLE_QUIZOJIS': quizojisTable.tableName,
67+
'TOKEN_TELEGRAM_BOT': props.telegramToken,
68+
'TOKEN_YOUTUBE_API': props.youtubeToken,
69+
},
70+
});
7171

72-
votesTable.grantReadWriteData(lambdaWebhook);
73-
youtubeChannelsWhitelistTable.grantReadData(lambdaWebhook);
74-
kotlinMentionsTable.grantReadWriteData(lambdaWebhook);
75-
dialogStatesTable.grantReadWriteData(lambdaWebhook);
76-
quizojisTable.grantReadWriteData(lambdaWebhook);
72+
votesTable.grantReadWriteData(lambdaWebhook);
73+
youtubeChannelsWhitelistTable.grantReadData(lambdaWebhook);
74+
kotlinMentionsTable.grantReadWriteData(lambdaWebhook);
75+
dialogStatesTable.grantReadWriteData(lambdaWebhook);
76+
quizojisTable.grantReadWriteData(lambdaWebhook);
7777

78-
const api = new apigateway.RestApi(this, 'jprof-by-bot-api', {
79-
restApiName: 'jprof-by-bot-api',
80-
cloudWatchRole: false,
81-
endpointTypes: [apigateway.EndpointType.REGIONAL],
82-
deployOptions: {
83-
loggingLevel: apigateway.MethodLoggingLevel.INFO,
84-
dataTraceEnabled: true,
85-
metricsEnabled: true,
86-
tracingEnabled: true,
87-
},
88-
});
78+
const api = new apigateway.RestApi(this, 'jprof-by-bot-api', {
79+
restApiName: 'jprof-by-bot-api',
80+
cloudWatchRole: false,
81+
endpointTypes: [apigateway.EndpointType.REGIONAL],
82+
deployOptions: {
83+
loggingLevel: apigateway.MethodLoggingLevel.INFO,
84+
dataTraceEnabled: true,
85+
metricsEnabled: true,
86+
tracingEnabled: true,
87+
},
88+
});
8989

90-
api.root
91-
.addResource(props.telegramToken.replace(':', '_'))
92-
.addMethod('POST', new apigateway.LambdaIntegration(lambdaWebhook));
90+
api.root
91+
.addResource(props.telegramToken.replace(':', '_'))
92+
.addMethod('POST', new apigateway.LambdaIntegration(lambdaWebhook));
9393

94-
new cdk.CfnOutput(this, 'URL', {
95-
value: api.deploymentStage.urlForPath()
96-
});
97-
}
94+
new cdk.CfnOutput(this, 'URL', {
95+
value: api.deploymentStage.urlForPath()
96+
});
97+
}
9898
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as cdk from '@aws-cdk/core';
22

33
export interface JProfByBotStackProps extends cdk.StackProps {
4-
readonly telegramToken: string;
5-
readonly youtubeToken: string;
4+
readonly telegramToken: string;
5+
readonly youtubeToken: string;
66
}

build.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ subprojects {
1515
}
1616

1717
tasks {
18+
withType<JavaCompile> {
19+
options.release.set(11)
20+
}
1821
withType<KotlinCompile> {
1922
kotlinOptions.jvmTarget = "11"
2023
}

core/src/main/kotlin/by/jprof/telegram/bot/core/UpdateProcessingPipeline.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package by.jprof.telegram.bot.core
22

33
import dev.inmo.tgbotapi.types.update.abstracts.Update
4-
import kotlinx.coroutines.*
4+
import kotlinx.coroutines.CoroutineExceptionHandler
5+
import kotlinx.coroutines.joinAll
6+
import kotlinx.coroutines.launch
7+
import kotlinx.coroutines.runBlocking
8+
import kotlinx.coroutines.supervisorScope
59
import org.apache.logging.log4j.LogManager
610

711
class UpdateProcessingPipeline(

dialogs/dynamodb/src/test/kotlin/by/jprof/telegram/bot/dialogs/dynamodb/dao/DialogStateDAOTest.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ import kotlinx.coroutines.runBlocking
77
import kotlinx.coroutines.withTimeout
88
import me.madhead.aws_junit5.common.AWSClient
99
import me.madhead.aws_junit5.dynamo.v2.DynamoDB
10-
import org.junit.jupiter.api.*
10+
import org.junit.jupiter.api.Assertions
11+
import org.junit.jupiter.api.BeforeAll
12+
import org.junit.jupiter.api.Tag
13+
import org.junit.jupiter.api.Test
14+
import org.junit.jupiter.api.TestInstance
1115
import org.junit.jupiter.api.extension.ExtendWith
1216
import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient
1317

eval/src/main/kotlin/by/jprof/telegram/bot/eval/EvalUpdateProcessor.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ import dev.inmo.tgbotapi.extensions.utils.asContentMessage
66
import dev.inmo.tgbotapi.extensions.utils.asPreTextSource
77
import dev.inmo.tgbotapi.extensions.utils.asTextContent
88
import dev.inmo.tgbotapi.types.update.abstracts.Update
9+
import dev.inmo.tgbotapi.utils.PreviewFeature
910
import org.apache.logging.log4j.LogManager
1011

12+
@PreviewFeature
1113
class EvalUpdateProcessor : UpdateProcessor {
1214
companion object {
1315
private val logger = LogManager.getLogger(EvalUpdateProcessor::class.java)!!

jep/src/main/kotlin/by/jprof/telegram/bot/jep/JsoupJEPSummary.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ class JsoupJEPSummary : JEPSummary {
1010
withContext(Dispatchers.IO) {
1111
Jsoup
1212
.connect("https://openjdk.java.net/jeps/${jep}")
13-
?.get()
14-
?.select("#Summary + p")
15-
?.first()
13+
.get()
14+
.select("#Summary + p")
15+
.first()
1616
?.text()
1717
}
1818
} catch (_: Exception) {

jep/src/test/kotlin/by/jprof/telegram/bot/jep/JEPUpdateProcessorTest.kt

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,18 @@ import dev.inmo.tgbotapi.types.message.content.media.PhotoContent
1717
import dev.inmo.tgbotapi.types.update.CallbackQueryUpdate
1818
import dev.inmo.tgbotapi.types.update.MessageUpdate
1919
import dev.inmo.tgbotapi.types.update.abstracts.UnknownUpdate
20-
import io.mockk.*
20+
import io.mockk.called
21+
import io.mockk.clearAllMocks
22+
import io.mockk.coEvery
23+
import io.mockk.coVerify
24+
import io.mockk.confirmVerified
25+
import io.mockk.every
2126
import io.mockk.impl.annotations.MockK
2227
import io.mockk.junit5.MockKExtension
28+
import io.mockk.just
29+
import io.mockk.mockk
30+
import io.mockk.runs
31+
import io.mockk.verify
2332
import kotlinx.coroutines.runBlocking
2433
import kotlinx.serialization.json.JsonNull
2534
import org.junit.jupiter.api.BeforeEach
@@ -204,12 +213,12 @@ internal class JEPUpdateProcessorTest {
204213
sut.process(
205214
CallbackQueryUpdate(
206215
1L, MessageDataCallbackQuery(
207-
id = "",
208-
user = mockk(),
209-
chatInstance = "",
210-
message = mockk(),
211-
data = "YOUTUBE-1:+",
212-
)
216+
id = "",
217+
user = mockk(),
218+
chatInstance = "",
219+
message = mockk(),
220+
data = "YOUTUBE-1:+",
221+
)
213222
)
214223
)
215224

@@ -221,12 +230,12 @@ internal class JEPUpdateProcessorTest {
221230
sut.process(
222231
CallbackQueryUpdate(
223232
1L, MessageDataCallbackQuery(
224-
id = "",
225-
user = mockk(),
226-
chatInstance = "",
227-
message = mockk(),
228-
data = "JEP-1+",
229-
)
233+
id = "",
234+
user = mockk(),
235+
chatInstance = "",
236+
message = mockk(),
237+
data = "JEP-1+",
238+
)
230239
)
231240
)
232241

kotlin/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ dependencies {
88
implementation(libs.log4j.api)
99
implementation(libs.tgbotapi.extensions.api)
1010
implementation(libs.tgbotapi.extensions.utils)
11-
// implementation(libs.skija.windows)
11+
// implementation(libs.skija.windows)
1212
implementation(libs.skija.linux)
1313

1414
testImplementation(libs.junit.jupiter.api)

0 commit comments

Comments
 (0)