Current section
Files
Jump to
Current section
Files
genai_core
mix.exs
mix.exs
defmodule GenAICore.MixProject do
use Mix.Project
def project do
[
app: :genai_core,
name: "GenAI Core",
description: description(),
package: package(),
version: "0.2.0",
elixir: "~> 1.16",
start_permanent: Mix.env() == :prod,
deps: deps(),
elixirc_paths: elixirc_paths(Mix.env()),
docs: [
main: "GenAI Core",
extras: [
"README.md",
"CHANGELOG.md",
"TODO.md",
"CONTRIBUTING.md",
"LICENSE"
]
],
dialyzer: [
plt_file: {:no_warn, "priv/plts/project.plt"}
],
test_coverage: [
summary: [
threshold: 40
],
ignore_modules: []
]
]
end
defp description() do
"Generative AI Wrapper: Core Protocols and Logic"
end
defp package() do
[
licenses: ["MIT"],
links: %{
project: "https://github.com/noizu-labs-ml/genai_core",
noizu_labs: "https://github.com/noizu-labs",
noizu_labs_machine_learning: "https://github.com/noizu-labs-ml",
developer_github: "https://github.com/noizu"
},
files: [
"lib",
"BOOK.md",
"CONTRIBUTING.md",
"LICENSE",
"mix.exs",
"README.md",
"TODO.md"
]
]
end
# Run "mix help compile.app" to learn about applications.
def application do
dev_apps =
if Mix.env() in [:dev] do
[:ex_doc]
else
[]
end
test_apps =
if Mix.env() in [:test] do
[:junit_formatter]
else
[]
end
[
extra_applications: [:logger, :jason] ++ dev_apps ++ test_apps
]
end
# Specifies which paths to compile per environment.
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
# Run "mix help deps" to learn about dependencies.
defp deps do
test_deps = [
{:junit_formatter, "~> 3.3", only: [:test]},
{:mimic, "~> 1.0.0", only: :test, optional: true}
]
hex_repo_deps = [
# Documentation Provider
{:ex_doc, "~> 0.28.3", only: [:dev, :test], optional: true, runtime: false},
# Static Analysis: Type Checking
{:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false, optional: true}
# {:credo, "~> 1.0", runtime: false},
]
common = [
# html parser and api client
{:floki, ">= 0.30.0", optional: true},
{:finch, "~> 0.15", optional: true},
# UUID Library
{:elixir_uuid, "~> 1.2", optional: true},
{:shortuuid, "~> 3.0", optional: true},
# Core Libraries
{:noizu_labs_core, "~> 0.1"},
# JSON/YAML
{:jason, "~> 1.2", optional: true},
{:ymlr, "~> 4.0", optional: true},
{:yaml_elixir, "~> 2.9.0", optional: true},
{:sweet_xml, "~> 0.7", optional: true}
]
common ++ hex_repo_deps ++ test_deps
end
end