Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git
plugins {
  id 'application'
  id 'org.openjfx.javafxplugin' version '0.0.8'
}

repositories {
  mavenCentral()
  jcenter()

  maven {
    url 'https://oss.sonatype.org/content/repositories/snapshots/'
  }

  maven {
    url "https://nexus.bedatadriven.com/content/groups/public"
  }
}

dependencies {
  implementation 'org.controlsfx:controlsfx:11.0.0'
  implementation 'org.fxmisc.richtext:richtextfx:0.10.5'
  implementation 'org.fxmisc.wellbehaved:wellbehavedfx:0.3.3'
  implementation 'com.miglayout:miglayout-javafx:5.2'
  implementation 'com.vladsch.flexmark:flexmark:0.61.28'
  implementation 'com.vladsch.flexmark:flexmark-ext-tables:0.61.28'
  implementation 'com.vladsch.flexmark:flexmark-ext-superscript:0.61.28'
  implementation 'com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:0.61.28'
  implementation 'com.fasterxml.jackson.core:jackson-core:2.11.0'
  implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.0'
  implementation 'com.fasterxml.jackson.core:jackson-annotations:2.11.0'
  implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.11.0'
  implementation 'org.ahocorasick:ahocorasick:0.4.0'
  implementation 'org.yaml:snakeyaml:1.26'
  implementation 'com.ximpleware:vtd-xml:2.13.4'
  implementation 'net.sf.saxon:Saxon-HE:10.1'
  implementation 'org.apache.commons:commons-configuration2:2.7'
  implementation 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'
  implementation 'de.jensd:fontawesomefx-commons:11.0'
  implementation 'de.jensd:fontawesomefx-fontawesome:4.7.0-11'
  implementation "org.renjin:renjin-script-engine:0.9.2726"

  def os = ['win', 'linux', 'mac']
  def fx = ['controls', 'graphics', 'web', 'fxml']

  fx.each { fxitem ->
    os.each { ositem ->
      runtimeOnly "org.openjfx:javafx-${fxitem}:${javafx.version}:${ositem}"
    }
  }
}

javafx {
  version = "14"
  modules = ['javafx.controls', 'javafx.graphics', 'javafx.web']
}

compileJava {
  options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}

sourceCompatibility = JavaVersion.VERSION_11
version = '1.4.0'
applicationName = 'scrivenvar'
mainClassName = 'com.scrivenvar.Main'
def launcherClassName = 'com.scrivenvar.Launcher'

jar {
  duplicatesStrategy = DuplicatesStrategy.EXCLUDE

  manifest {
    attributes 'Main-Class': launcherClassName
  }

  from {
    (configurations.runtimeClasspath.findAll { !it.path.endsWith(".pom") }).collect {
      it.isDirectory() ? it : zipTree(it)
    }
  }

  archiveFileName = 'scrivenvar.jar'

  exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA'
}

distributions {
  main {
    distributionBaseName = applicationName
    contents {
      from { ['LICENSE.md', 'README.md'] }
      into('images') {
        from { 'images' }
      }
    }
  }
}