// Copyright 2020 The Nomulus Authors. All Rights Reserved.
//
// 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.

dependencies {
  def deps = rootProject.dependencyMap

  compile deps['com.beust:jcommander']
  compile deps['com.google.code.findbugs:jsr305']
  compile deps['com.google.flogger:flogger']
  compile deps['com.google.guava:guava']
  compile deps['com.google.re2j:re2j']
  compile project(':core')
  compile project(':util')

  testCompile deps['com.google.truth:truth']
  testCompile deps['com.thoughtworks.qdox:qdox']
  testCompile deps['org.junit.jupiter:junit-jupiter-api']
  testCompile deps['org.junit.jupiter:junit-jupiter-engine']
}

sourceCompatibility = '11'
targetCompatibility = '11'

task flowDocsTool(type: JavaExec) {
  systemProperty 'test.projectRoot', rootProject.projectRootDir
  jvmArgs = ['--add-exports', 'jdk.javadoc/jdk.javadoc.internal.tool=ALL-UNNAMED']
  classpath = sourceSets.main.runtimeClasspath
  main = 'google.registry.documentation.FlowDocumentationTool'

  def arguments = []
  if (rootProject.flowDocsFile) {
    arguments << "--output_file=${rootProject.flowDocsFile}"
  } else {
    arguments << "--output_file=${rootProject.projectRootDir}/docs/flows.md"
  }
  args arguments
}

tasks.compileJava {
  options.compilerArgs = ["--add-exports",
                          "jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
                          "--add-exports",
                          "jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",
                          "--add-exports",
                          "jdk.javadoc/jdk.javadoc.internal.tool=ALL-UNNAMED"]

}

tasks.test {
  jvmArgs = ['--add-exports',
             'jdk.javadoc/jdk.javadoc.internal.tool=ALL-UNNAMED']
}
