Gradle создать пустую папку `build / kotlin / session`, почему? Когда я удаляю это возвращается, как это исправить? - PullRequest
0 голосов
/ 16 января 2020

У меня есть многомодульный проект в Kotlin / Springboot со сборкой Gradle. У меня есть папка build/kotlin/sessions, которая всегда появляется, даже если я ее удаляю.

Что такое папка и почему она там? Могу ли я удалить его полностью, чтобы он не вернулся?

enter image description here

Мой root settings.gradle.kts:

pluginManagement {
    repositories {
        maven(url = "https://repo.spring.io/snapshot")

        maven(url = "https://repo.spring.io/milestone")

        gradlePluginPortal()
    }
    resolutionStrategy {
        eachPlugin {
            if (requested.id.id == "org.springframework.boot") {
                useModule("org.springframework.boot:spring-boot-gradle-plugin:${requested.version}")
            }
        }
    }
}

rootProject.name = "ris_2.0_backend"
include("workflow")
include("messaging")
include("project")
include("restapi")

Мой root build.gradle.kts:

plugins {
    id("io.spring.dependency-management") version "1.0.8.RELEASE"
    kotlin("jvm") version "1.3.61" apply false
    kotlin("plugin.spring") version "1.3.61"
    kotlin("plugin.jpa") version "1.3.61"
}

subprojects {

    apply(plugin = "io.spring.dependency-management")

    repositories {
        jcenter()
    }

    dependencyManagement {
        imports {
            mavenBom("org.springframework.boot:spring-boot-dependencies:2.1.8.RELEASE") {
                bomProperty("kotlin.version", "1.3.61")
            }
        }
    }



}

И все build.gradle.kts в каждом модуле:

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    id("com.adarshr.test-logger").version("1.7.0") // pretty log printing
    kotlin("jvm")
    kotlin("plugin.spring")
    jacoco
}

group = "no.inmeta.ris.workflow"
version = "0.0.1-SNAPSHOT"
val junit5Version = "5.5.1"

val developmentOnly = configurations.create("developmentOnly")

configurations.runtimeClasspath.get().extendsFrom(developmentOnly)

configurations {
    developmentOnly
    testCompile {
        exclude(group = "junit", module = "junit") // force junit5
        exclude(group = "mocito-core", module = "mockito-core")
    }
}

repositories {
    mavenCentral()
}

dependencies {

    // Spring
    implementation("org.springframework.boot:spring-boot-starter")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("org.springframework.boot:spring-boot-starter-data-jpa")


    // Swagger
    implementation("io.springfox:springfox-swagger2:2.9.2")

    // Testing
    implementation(enforcedPlatform("org.junit:junit-bom:$junit5Version"))
    testImplementation("org.springframework.boot:spring-boot-starter-test:2.1.9.RELEASE")
    testImplementation("org.junit.jupiter:junit-jupiter")
    testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
    testImplementation("org.assertj:assertj-core:3.11.1")

    // Kotlin testing library
    testImplementation("com.ninja-squad:springmockk:1.1.3")
    testImplementation("io.mockk:mockk:1.9.3")

    // Kotlin
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.10.0")
}

configure<JacocoPluginExtension> {
    toolVersion = "0.8.4"
}

tasks.withType<JacocoReport> {
    reports {
        xml.isEnabled = true
        csv.isEnabled = false
        xml.destination = file("${buildDir}/jacoco/reports/test.xml")
        html.destination = file("${buildDir}/jacoco/reports/test.html")
    }
}

tasks.withType<Test> {
    useJUnitPlatform()
    testLogging {
        events("passed", "skipped", "failed")
    }
    finalizedBy("jacocoTestReport")
}

val compileKotlin: KotlinCompile by tasks
compileKotlin.kotlinOptions {
    jvmTarget = "1.8"
}
val compileTestKotlin: KotlinCompile by tasks
compileTestKotlin.kotlinOptions {
    jvmTarget = "1.8"
}

Что-нибудь в моей конфигурации вызывает появление этой пустой папки сборки?

Спасибо за помощь!

1 Ответ

2 голосов
/ 16 января 2020

Gradle автоматически добавляет каталог сборки в каждый проект (это нормально, каждый проект Gradle имеет такие каталоги).

Если вы посмотрите в папки ваших подпроектов (Messaging, Restapi и т. Д. c), вы Вероятно, вы увидите там подобную папку для сборки. Позже вы можете добавить дополнительные подключаемые модули, которые будут хранить свои данные в этих каталогах.

IntelliJ IDEA автоматически подписывает эти каталоги как исключенные, поэтому IDE не обрабатывает в них никаких файлов. Если вы используете Git, добавьте эти каталоги в свой файл .gitignore (просто добавьте в него строку «build», она удалит все папки сборки для всех подпроектов из VCS). И если вы ОЧЕНЬ раздражаетесь, увидев эти папки, вы можете скрыть исключенные папки в IDEA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...