| /* |
| * 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 |
| * |
| * 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. |
| */ |
| |
| val nlpcraftVer = "1.0.0" |
| |
| // Common libraries. |
| val scalaMajVer = "3" |
| val scalaMinVer = "1.3" |
| val log4jVer = "2.17.2" |
| val scalaLoggingVer = "3.9.4" |
| val scalatestVer = "3.2.11" |
| val scalaParColections = "1.0.4" |
| val orgAntlr4Ver = "4.10.1" |
| val jlineVer = "3.21.0" |
| val commonsIoVer = "2.11.0" |
| val commonsLang3Ver = "3.12.0" |
| val commonsCodecVer = "1.15" |
| val commonsCollectionsVer = "4.4" |
| val scala3RefVer = "1.1.4" |
| val gsonVer = "2.9.0" |
| val jacksonVer = "2.13.2" |
| val jacksonYamlVer = "2.13.2" |
| val apacheOpennlpVer = "1.9.4" |
| |
| // Test libraries. |
| val junitVer = "5.8.2" |
| |
| val jmhVer = "1.35" |
| |
| // Stanford project libraries. |
| val stanfordCorenlpVer = "4.4.0" |
| |
| // Examples libraries. |
| val languagetoolVer = "5.6" |
| val luceneAnalyzersCommonVer = "8.11.1" |
| |
| ThisBuild / scalaVersion := s"$scalaMajVer.$scalaMinVer" |
| ThisBuild / version := nlpcraftVer |
| ThisBuild / organization := "org.apache" |
| ThisBuild / organizationName := "NlpCraft" |
| ThisBuild / description := "An open source API to convert natural language into actions." |
| ThisBuild / licenses := List("Apache-2.0" -> url("https://github.com/sbt/sbt/blob/develop/LICENSE")) |
| ThisBuild / homepage := Some(url("https://nlpcraft.apache.org/")) |
| ThisBuild / scmInfo := Some(ScmInfo(url("https://github.com/apache/incubator-nlpcraft"), "scm:git@github.com/apache/incubator-nlpcraft.git")) |
| |
| ThisBuild / developers ++= List( |
| "aradzinski" -> "Aaron Radzinski ", |
| "skhdl" -> "Sergey Kamov" |
| ).map { |
| case (username, fullName) => Developer(username, fullName, s"@$username", url(s"https://github.com/$username")) |
| } |
| |
| lazy val libs = Seq( |
| "com.typesafe.scala-logging" % s"scala-logging_$scalaMajVer" % scalaLoggingVer, |
| "com.google.code.gson" % "gson" % gsonVer, |
| "commons-io" % "commons-io" % commonsIoVer, |
| "commons-codec" % "commons-codec" % commonsCodecVer, |
| "org.apache.commons" % "commons-collections4" % commonsCollectionsVer, |
| "com.fasterxml.jackson.dataformat" % "jackson-dataformat-yaml" % jacksonVer, |
| "com.fasterxml.jackson.core" % "jackson-databind" % jacksonVer, |
| "com.fasterxml.jackson.module" % "jackson-module-scala_3" % jacksonVer, |
| "org.antlr" % "antlr4-runtime" % orgAntlr4Ver, |
| "org.apache.opennlp" % "opennlp-tools" % apacheOpennlpVer, |
| "org.apache.logging.log4j" % "log4j-slf4j-impl" % log4jVer, |
| "org.apache.logging.log4j" % "log4j-api" % log4jVer, |
| "org.jline" % "jline-terminal" % jlineVer, |
| "org.junit.jupiter" % "junit-jupiter-engine" % junitVer % Test |
| ) |
| |
| val commonScalaDoc = Seq( |
| "-project-footer", "Apache, Nlpcraft", |
| "-project-version", nlpcraftVer, |
| "-siteroot", ".", |
| "-doc-root-content", "scaladoc/docroot.md", |
| "-source-links:github://apache/incubator-nlpcraft/master", |
| "-social-links:github::https://github.com/apache/incubator-nlpcraft" |
| ) |
| |
| lazy val nlpcraft = (project in file("nlpcraft")) |
| .settings( |
| name := "NlpCraft", |
| version := nlpcraftVer, |
| |
| // Scaladoc config. |
| Compile / doc / scalacOptions ++= commonScalaDoc, |
| |
| // Dependencies. |
| libraryDependencies ++= libs, |
| libraryDependencies += "org.apache.commons" % "commons-lang3" % commonsLang3Ver, |
| libraryDependencies += "org.openjdk.jmh" % "jmh-core" % jmhVer % Test |
| ) |
| |
| lazy val nlpcraftStanford = (project in file("nlpcraft-stanford")) |
| .dependsOn(nlpcraft) |
| .settings( |
| name := "NlpCraft Stanford", |
| version := nlpcraftVer, |
| |
| // Scaladoc config. |
| Compile / doc / scalacOptions ++= commonScalaDoc, |
| |
| // Dependencies. |
| libraryDependencies ++= libs, |
| libraryDependencies += "edu.stanford.nlp" % "stanford-corenlp" % stanfordCorenlpVer, |
| libraryDependencies += "edu.stanford.nlp" % "stanford-corenlp" % stanfordCorenlpVer classifier "models" |
| ) |
| |
| lazy val timeExample = (project in file("nlpcraft-examples/time")) |
| .dependsOn(nlpcraft) |
| .settings( |
| name := "NlpCraft Time Example", |
| version := nlpcraftVer, |
| |
| // Scaladoc config. |
| Compile / doc / scalacOptions ++= commonScalaDoc, |
| |
| // Dependencies. |
| libraryDependencies ++= libs |
| ) |
| |
| lazy val lightSwitchExample = (project in file("nlpcraft-examples/lightswitch")) |
| .dependsOn(nlpcraft) |
| .settings( |
| name := "NlpCraft LightSwitch Example", |
| version := nlpcraftVer, |
| |
| // Scaladoc config. |
| Compile / doc / scalacOptions ++= commonScalaDoc, |
| |
| // Dependencies. |
| libraryDependencies ++= libs |
| ) |
| |
| lazy val lightSwitchRuExample = (project in file("nlpcraft-examples/lightswitch-ru")) |
| .dependsOn(nlpcraft) |
| .settings( |
| name := "NlpCraft LightSwitch RU Example", |
| version := nlpcraftVer, |
| |
| // Scaladoc config. |
| Compile / doc / scalacOptions ++= commonScalaDoc, |
| |
| // Dependencies. |
| libraryDependencies ++= libs, |
| libraryDependencies += "org.apache.lucene" % "lucene-analyzers-common" % luceneAnalyzersCommonVer, |
| libraryDependencies += "org.languagetool" % "languagetool-core" % languagetoolVer, |
| libraryDependencies += "org.languagetool" % "language-ru" % languagetoolVer |
| ) |
| |
| lazy val lightSwitchFrExample = (project in file("nlpcraft-examples/lightswitch-fr")) |
| .dependsOn(nlpcraft) |
| .settings( |
| name := "NlpCraft LightSwitch FR Example", |
| version := nlpcraftVer, |
| |
| // Scaladoc config. |
| Compile / doc / scalacOptions ++= commonScalaDoc, |
| |
| // Dependencies. |
| libraryDependencies ++= libs, |
| libraryDependencies += "org.apache.lucene" % "lucene-analyzers-common" % luceneAnalyzersCommonVer, |
| libraryDependencies += "org.languagetool" % "languagetool-core" % languagetoolVer, |
| libraryDependencies += "org.languagetool" % "language-fr" % languagetoolVer |
| ) |