plugins {
    id 'com.gradle.plugin-publish' version '1.3.1' apply false
    id 'java-gradle-plugin'

    // The CodeNarc plugin performs quality checks on your project’s
    // Groovy source files using CodeNarc and generates reports from these checks.
    // id 'codenarc'
}

def profile = project.hasProperty('profile') ? project.property('profile') : 'no-gpp'

afterEvaluate {
    if (profile == 'gpp') {
        apply plugin: 'com.gradle.plugin-publish'

        generateMetadataFileForPluginMavenPublication {
            dependsOn(groovydocJar)
        }
    }
}

gradlePlugin {
    website = rootProject.ext.urls['website']
    vcsUrl = rootProject.ext.urls['scm']
    plugins {
        htmlSanityCheck {
            id = 'org.aim42.htmlSanityCheck'
            implementationClass = 'org.aim42.htmlsanitycheck.gradle.HtmlSanityCheckPlugin'
            displayName = 'Gradle HtmlSanityCheck Plugin'
            description = project.description
            tags = ["checks", "quality", "documentation", "html", "asciidoctor", "test"]
        }
    }
}

groovydoc {
    source = sourceSets.main.groovy.srcDirs
    classpath = configurations.compileClasspath
}

task groovydocJar(type: Jar, dependsOn: groovydoc) {
    archiveClassifier = 'javadoc'
    from groovydoc.destinationDir
}

artifacts {
    archives groovydocJar
}

publishing {
    publications {
        pluginMaven(MavenPublication) {
            artifact groovydocJar
        }
    }
}

dependencies {
    implementation gradleApi()
    implementation project(":htmlSanityCheck-core")

    testImplementation(
            libs.jsoup,
            gradleTestKit()
    )
}

/*
 * Copyright Gernot Starke and aim42 contributors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 */
