Current section
Files
Jump to
Current section
Files
mix.exs
defmodule SmeeView.MixProject do
use Mix.Project
def project do
[
app: :smee_view,
version: "0.2.2",
elixir: "~> 1.14",
description: "SAML metadata parsing extension for Smee",
package: package(),
name: "SmeeView",
source_url: "https://github.com/Digital-Identity-Labs/smee_view",
build_embedded: Mix.env() == :prod,
start_permanent: Mix.env() == :prod,
test_coverage: [
tool: ExCoveralls
],
cli: cli(),
docs: [
main: "readme",
# logo: "path/to/logo.png",
extras: ["README.md", "LICENSE"],
groups_for_modules: [
"Views / Collections": view_modules(),
"Aspects / Items": aspect_modules(),
"Protocols & Behaviours": protocol_modules()
]
],
deps: deps(),
compilers: Mix.compilers() ++ [:rambo], # Needed until issue fixed in Rambo
elixirc_paths: elixirc_paths(Mix.env)
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger]
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:smee, "~> 0.6"},
{:sweet_xml, "~> 0.7"},
{:iteraptor, "~> 1.15"},
{:jason, "~> 1.4"},
{:rambo, "~> 0.3.4"}, # temporary fix
{:apex, "~> 1.2", only: [:dev, :test], runtime: false},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:excoveralls, "~> 0.14 and >= 0.14.4", only: [:dev, :test]},
{:benchee, "~> 1.3", only: [:dev, :test]},
{:ex_doc, "~> 0.40.0"},
{:earmark, "~> 1.4", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.4", only: [:dev], runtime: false},
{:doctor, "~> 0.21", only: :dev, runtime: false},
{:ex_json_schema, "~> 0.10.2", only: :test, runtime: false},
{:json_comparator, "~> 1.0", only: :test, runtime: false}
]
end
defp package() do
[
licenses: ["Apache-2.0"],
links: %{
"GitHub" => "https://github.com/Digital-Identity-Labs/smee_view"
}
]
end
def cli do
[preferred_envs: [coveralls: :test, "coveralls.detail": :test, "coveralls.post": :test, "coveralls.html": :test]]
end
# Specifies which paths to compile per environment.
defp elixirc_paths(:test), do: ["lib", "test/support", "priv"]
defp elixirc_paths(_), do: ["lib", "priv"]
defp protocol_modules do
[SmeeView.Protocols.Aspect, SmeeView.Behaviours.Aspect, SmeeView.Behaviours.View]
end
defp view_modules do
[
SmeeView.ArtifactResolutionServices,
SmeeView.AspectFilter,
SmeeView.AssertionConsumerServices,
SmeeView.AssertionIDRequestServices,
SmeeView.AttributeConsumingServices,
SmeeView.AttributeServices,
SmeeView.Attributes,
SmeeView.Contacts,
SmeeView.Descriptions,
SmeeView.DigestMethods,
SmeeView.DiscoHints,
SmeeView.DiscoUIs,
SmeeView.DiscoveryResponses,
SmeeView.Displaynames,
SmeeView.Domains,
SmeeView.EncryptionMethods,
SmeeView.Entities,
SmeeView.EntityAttributes,
SmeeView.EntityFilter,
SmeeView.Geolocations,
SmeeView.IdPs,
SmeeView.InformationURLs,
SmeeView.Keys,
SmeeView.Keywords,
SmeeView.Logos,
SmeeView.ManageNameidServices,
SmeeView.NameIDFormats,
SmeeView.NameidMappingServices,
SmeeView.Networks,
SmeeView.Organizations,
SmeeView.OrganizationDisplaynames,
SmeeView.OrganizationNames,
SmeeView.OrganizationURLs,
SmeeView.PrivacyURLs,
SmeeView.Protocols,
SmeeView.PublicationPath,
SmeeView.Registration,
SmeeView.RegistrationPolicies,
SmeeView.RequestInitiators,
SmeeView.RequestedAttributes,
SmeeView.Roles,
SmeeView.SPs,
SmeeView.Scopes,
SmeeView.ServiceDescriptions,
SmeeView.ServiceNames,
SmeeView.Services,
SmeeView.SigningMethods,
SmeeView.SingleLogoutServices,
SmeeView.SingleSignonServices
]
end
defp aspect_modules do
[
SmeeView.Aspects.ArtifactResolutionService,
SmeeView.Aspects.AspectCommon,
SmeeView.Aspects.AspectTools.Text,
SmeeView.Aspects.AssertionConsumerService,
SmeeView.Aspects.AssertionIDRequestService,
SmeeView.Aspects.Attribute,
SmeeView.Aspects.AttributeConsumingService,
SmeeView.Aspects.AttributeService,
SmeeView.Aspects.Contact,
SmeeView.Aspects.Description,
SmeeView.Aspects.DigestMethod,
SmeeView.Aspects.DiscoHints,
SmeeView.Aspects.DiscoUI,
SmeeView.Aspects.DiscoveryResponse,
SmeeView.Aspects.Displayname,
SmeeView.Aspects.Domain,
SmeeView.Aspects.EncryptionMethod,
SmeeView.Aspects.Entity,
SmeeView.Aspects.EntityAttribute,
SmeeView.Aspects.Geolocation,
SmeeView.Aspects.IdP,
SmeeView.Aspects.InformationURL,
SmeeView.Aspects.Key,
SmeeView.Aspects.Keywords,
SmeeView.Aspects.Logo,
SmeeView.Aspects.ManageNameidService,
SmeeView.Aspects.NameIDFormat,
SmeeView.Aspects.NameidMappingService,
SmeeView.Aspects.Network,
SmeeView.Aspects.Organization,
SmeeView.Aspects.OrganizationDisplayname,
SmeeView.Aspects.OrganizationName,
SmeeView.Aspects.OrganizationURL,
SmeeView.Aspects.PrivacyURL,
SmeeView.Aspects.Protocol,
SmeeView.Aspects.Publication,
SmeeView.Aspects.Registration,
SmeeView.Aspects.RegistrationPolicy,
SmeeView.Aspects.RequestInitiator,
SmeeView.Aspects.RequestedAttribute,
SmeeView.Aspects.SP,
SmeeView.Aspects.Scope,
SmeeView.Aspects.ServiceDescription,
SmeeView.Aspects.ServiceName,
SmeeView.Aspects.SigningMethod,
SmeeView.Aspects.SingleLogoutService,
SmeeView.Aspects.SingleSignonService,
]
end
end