/*
 * Copyright Thoughtworks, Inc.
 *
 * 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
 *
 * 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.
 */

description = 'GoCD Agent used for development'

configurations {
  copyOnly {
    transitive = false
  }
}

dependencies {
  implementation project(':agent')
  implementation project(':base')
  copyOnly project(':plugin-infra:go-plugin-activator')
}

def generatedResourcesOutput = file("resources-generated")

sourceSets {
  main {
    resources {
      output.dir generatedResourcesOutput, builtBy: 'generateResources'
      srcDirs += generatedResourcesOutput
    }
  }
}

clean {
  delete generatedResourcesOutput
  delete 'config'
  delete 'felix-cache'
  delete 'pipelines'
  delete 'plugins'
  delete 'plugins_work'
}

tasks.register('generateResources', Copy) {
  dependsOn configurations.copyOnly
  outputs.dir(generatedResourcesOutput)

  into generatedResourcesOutput
  from({ configurations.copyOnly }) {
    rename "(.*)-${project.version}.(jar|zip)", '$1.$2'
  }
}

licenseMain.dependsOn generateResources
processResources.dependsOn generateResources

tasks.register('prepare') {
  dependsOn generateResources
}
