defmodule OnelastleafPluginSDK.MixProject do use Mix.Project @version "0.1.0" def project do [ app: :onelastleaf_plugin_sdk, version: @version, elixir: "~> 1.16", elixirc_paths: elixirc_paths(Mix.env()), test_ignore_filters: [&String.starts_with?(&1, "test/fixtures/")], start_permanent: Mix.env() == :prod, deps: deps(), description: "Official onelastleaf process-plugin SDK for Elixir.", name: "onelastleaf_plugin_sdk", package: package(), source_url: "https://github.com/onelastleaf/elixir-plugin-sdk", docs: docs() ] end def application do [extra_applications: [:crypto, :logger]] end defp deps do [ {:grpc, "~> 1.0.4"}, {:mint, "~> 1.9"}, {:protobuf, "~> 0.15"}, {:ex_doc, "~> 0.40.3", only: :dev, runtime: false} ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_environment), do: ["lib"] defp package do [ name: "onelastleaf_plugin_sdk", licenses: ["GPL-3.0-or-later"], links: %{"GitHub" => "https://github.com/onelastleaf/elixir-plugin-sdk"}, files: ~w(lib proto mix.exs README.md CHANGELOG.md LICENSE .formatter.exs) ] end defp docs do [ main: "readme", extras: ["README.md", "CHANGELOG.md", "LICENSE"], source_ref: "v#{@version}", skip_undefined_reference_warnings_on: [ "Onelastleaf.PluginSDK.ActionResult.with_artifacts/2", "Onelastleaf.PluginSDK.ActionContext.get_config/2", "Onelastleaf.PluginSDK.ActionContext.host_call/2", "Onelastleaf.PluginSDK.ActionContext.invoke_config_function/3", "Onelastleaf.PluginSDK.ActionContext.log/5", "Onelastleaf.PluginSDK.ActionContext.store_artifact/3" ] ] end end