/*
 * Copyright (C) 2018 Google LLC.
 *
 * 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.
 */

// This is a workaround for not having a LICENSE file in the local directory.
// https://github.com/hierynomus/license-gradle-plugin/issues/76
gradle.startParameter.excludedTaskNames += "licenseMain"
gradle.startParameter.excludedTaskNames += "licenseTest"

// Helper function to download license texts and store them in Docker image.
ext.downloadLicensesText = { buildDir ->
  def jsonFile = file(buildDir.toString() +
                      '/reports/license/dependency-license.json')
  def parsedJson = new groovy.json.JsonSlurper().parseText(jsonFile.text)
  new File(buildDir.toString() + '/docker/license').mkdirs()
  for (dep in parsedJson.dependencies) {
    def licenseFile = new File(buildDir.toString() + '/docker/license/' + dep.name)
    try {
      licenseFile << new URL(dep.licenses[0].url).text
    } catch (IOException e) {
      logger.debug("can't download license file:" + dep.licenses[0].url)
    }
  }
}

// These libraries have their license in a non-standard location, so we need
// to special case them.
ext.specialCaseLicenses = [
  'com.github.DanielN:multipart-handler:1.0-beta1':
    [
      licenseName: 'Custom License',
      licenseTextUrl: 'https://raw.githubusercontent.com/DanielN/multipart-handler/master/README.txt'
    ],
  'aopalliance:aopalliance:1.0' :
    [
      licenseName: 'Public Domain License',
      licenseTextUrl: 'http://aopalliance.sourceforge.net'
    ],
  'org.apache.httpcomponents:httpclient:4.0.1':
    [
      licenseName: 'Apache 2 License',
      licenseTextUrl: 'http://www.apache.org/licenses/LICENSE-2.0.txt'
    ],
  'commons-codec:commons-codec:1.3':
    [
      licenseName: 'Apache 2 License',
      licenseTextUrl: 'http://www.apache.org/licenses/LICENSE-2.0.txt'
    ]
]
