defmodule ContenttrueSDK.MixProject do use Mix.Project @version "0.1.0" @source_url_placeholder nil def project do [ app: :contenttrue_sdk, version: @version, elixir: "~> 1.16", start_permanent: Mix.env() == :prod, description: description(), package: package(), deps: deps(), docs: docs() ] end def application do [ extra_applications: [:logger] ] end def cli do [ preferred_envs: [ docs: :dev, "hex.publish": :dev ] ] end defp deps do [ {:jason, "~> 1.4"}, {:req, "~> 0.5"}, {:ex_doc, "~> 0.38", only: :dev, runtime: false} ] end defp description do "Official Elixir SDK for the ContentTrue AIGC detection API." end defp package do [ name: "contenttrue_sdk", licenses: ["MIT"], files: ~w(.formatter.exs CHANGELOG.md LICENSE README.md mix.exs lib test), links: package_links(), maintainers: ["ContentTrue"] ] end defp package_links do %{ "Homepage" => "https://contenttrue.org/en", "Documentation" => "https://contenttrue.org/en", "Support" => "https://contenttrue.org/en" } |> maybe_put_source() end defp maybe_put_source(links) do case @source_url_placeholder do nil -> links url -> Map.put(links, "Source", url) end end defp docs do base_docs = [ main: "readme", extras: ["README.md", "CHANGELOG.md", "LICENSE"], source_ref: "v#{@version}", homepage_url: "https://contenttrue.org/en" ] case @source_url_placeholder do nil -> base_docs url -> Keyword.put(base_docs, :source_url, url) end end end