import com.strumenta.antlrkotlin.gradle.AntlrKotlinTask /* * Ani * Copyright (C) 2022-2024 Him188 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ plugins { kotlin("multiplatform") `ani-mpp-lib-targets` id("com.strumenta.antlr-kotlin") idea } val generatedRoot = layout.buildDirectory.dir("gen").get().asFile kotlin { sourceSets.commonMain { dependencies { // antlr kotlin implementation(libs.antlr.kotlin.runtime) } kotlin.srcDirs(generatedRoot) } } idea { module { generatedSourceDirs.add(generatedRoot) } } val generateBBCodeGrammarSource = tasks.register("generateBBCodeGrammarSource") { source = fileTree(layout.projectDirectory) { include("BBCode.g4") } packageName = "me.him188.ani.utils.bbcode" arguments = listOf("-visitor") outputDirectory = generatedRoot } tasks.withType { dependsOn(generateBBCodeGrammarSource) }