/*
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You 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
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
plugins {
    id 'org.apache.grails.gradle.grails-profile'
    id 'org.apache.grails.buildsrc.publish'
    id 'org.apache.grails.buildsrc.sbom'
}

group = 'org.apache.grails.profiles'
version = projectVersion

ext {
    pomArtifactId = 'base'
    pomTitle = 'Grails Profile - Base'
    pomDescription = 'A profile for other profiles to extend from'
    developers = [graemerocher: 'Graeme Rocher']
}

dependencies {
    implementation platform(project(':grails-bom'))
    api project(':grails-shell-cli')
    api 'org.apache.groovy:groovy-jmx' // stop script uses GroovyMBean
}

TaskProvider<Copy> copyWrapper = tasks.register('copyGrailsWrapperScripts', Copy)
copyWrapper.configure { Copy copy ->
    Project wrapperProject = rootProject.project(':grails-wrapper')
    copy.dependsOn(wrapperProject.tasks.named('installDist'))
    copy.from(wrapperProject.layout.buildDirectory.dir('install/apache-grails-wrapper-bin')) {
        include '**/grails-wrapper.jar'
        include '**/grailsw.bat'
        include '**/grailsw'
    }
    copy.into(project.layout.projectDirectory.dir('skeleton'))
}

tasks.named('sourcesJar').configure {
    it.dependsOn(copyWrapper)
}

tasks.named('processProfileResources').configure {
    it.dependsOn(copyWrapper)
}

tasks.named('compileProfile').configure {
    it.dependsOn(copyWrapper)
}
