elektrine/apps/elektrine_web/mix.exs

151 lines
4.8 KiB
Elixir

defmodule ElektrineWeb.MixProject do
use Mix.Project
def project do
[
app: :elektrine_web,
version: "0.1.0",
build_path: "../../_build",
config_path: "../../config/config.exs",
deps_path: "../../deps",
lockfile: "../../mix.lock",
elixir: "~> 1.19",
elixirc_paths: elixirc_paths(Mix.env()),
elixirc_options: elixirc_options(),
start_permanent: Mix.env() == :prod,
deps: deps()
]
end
def application do
[
extra_applications: [:logger]
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp elixirc_options do
opts = [no_warn_undefined: no_warn_undefined()]
if Mix.env() == :test do
Keyword.put(opts, :ignore_module_conflict, true)
else
opts
end
end
defp no_warn_undefined do
[
ElektrineNerveWeb.API.NerveController,
ElektrineNerveWeb.NerveLive,
Phoenix.LiveReloader,
Phoenix.LiveReloader.Socket,
ElektrineSocialWeb.ActivityPubController,
ElektrineEmailWeb.Admin.AliasesController,
ArblargWeb.Admin.ChatMessagesController,
ElektrineEmailWeb.Admin.CustomDomainsController,
ElektrineEmailWeb.Admin.MailboxesController,
ElektrineEmailWeb.Admin.MessagesController,
ElektrineEmailWeb.Admin.SystemEmailsController,
ElektrineVPNWeb.Admin.VPNController,
ElektrineEmailWeb.API.AliasController,
ArblargWeb.API.ConversationController,
ElektrineEmailWeb.API.EmailController,
ArblargWeb.API.ExtChatController,
ElektrineEmailWeb.API.ExtContactsController,
ElektrineEmailWeb.API.ExtEmailController,
ElektrineSocialWeb.API.ExtSocialController,
ElektrineEmailWeb.API.MailboxController,
ArblargWeb.API.MessageController,
ArblargWeb.API.ServerController,
ElektrineSocialWeb.API.SocialController,
ElektrineVPNWeb.API.VPNController,
ArblargWeb.API.WebhookController,
ElektrineEmailWeb.AttachmentController,
ArblargWeb.ChatLive.Index,
ElektrineEmailWeb.ContactsLive.Index,
ElektrineEmailWeb.DAV.AddressBookController,
ElektrineDNSWeb.API.DNSController,
ElektrineDNSWeb.DNSLive.Index,
Elektrine.DNS.Tunnels,
Elektrine.DNS.Tunnel,
Elektrine.DNS.EdgeSites,
Elektrine.DNS.EdgeSite,
Elektrine.DNS.ConfigBundle,
ElektrineSocialWeb.DiscussionsLive.Community,
ElektrineSocialWeb.DiscussionsLive.Index,
ElektrineSocialWeb.DiscussionsLive.Post,
ElektrineSocialWeb.DiscussionsLive.Settings,
ElektrineEmailWeb.EmailController,
ElektrineEmailWeb.EmailLive.Compose,
ElektrineEmailWeb.EmailLive.Index,
ElektrineEmailWeb.EmailLive.Raw,
ElektrineEmailWeb.EmailLive.Search,
ElektrineEmailWeb.EmailLive.Settings,
ElektrineEmailWeb.EmailLive.Show,
ElektrineSocialWeb.ExternalInteractionController,
ElektrineSocialWeb.FiltersLive.Index,
ElektrineSocialWeb.GalleryLive.Index,
ElektrineEmailWeb.HarakaWebhookController,
ElektrineSocialWeb.HashtagLive.Show,
ElektrineEmailWeb.JMAP.APIController,
ElektrineEmailWeb.JMAP.BlobController,
ElektrineEmailWeb.JMAP.EventSourceController,
ElektrineEmailWeb.JMAP.SessionController,
ElektrineSocialWeb.ListLive.Index,
ElektrineSocialWeb.ListLive.Show,
ElektrineSocialWeb.MediaProxyController,
ElektrineSocialWeb.NodeinfoController,
ElektrineVPNWeb.PageLive.VPNPolicy,
ElektrineSocialWeb.RemotePostLive.Show,
ElektrineSocialWeb.RemoteUserLive.Show,
ElektrineSocialWeb.TimelineLive.Index,
ElektrineSocialWeb.TimelineLive.Post,
ElektrineSocialWeb.VideosLive.Index,
ElektrineEmailWeb.UnsubscribeController,
ElektrineEmailWeb.UnsubscribeLive.Show,
ElektrineVPNWeb.VPNAPIController,
ElektrineVPNWeb.VPNLive.Index,
ElektrineUptimeWeb.UptimeLive.Index,
ElektrineSocialWeb.WebFingerController,
ElektrineEmailWeb.WKDController,
Elektrine.Email,
Elektrine.Email.Folders,
Elektrine.Email.Mailbox,
Elektrine.Email.Message,
Elektrine.Email.Search,
Elektrine.Email.Sender,
Elektrine.DNS,
Elektrine.DNS.EdgeAccess,
Elektrine.DNS.EdgeRules,
Elektrine.DNS.EdgeSites,
Elektrine.DNS.EdgeSite,
Elektrine.DNS.MailSecurity
]
end
defp deps do
[
internal_dep(:elektrine),
internal_dep(:atomine, runtime: false),
internal_dep(:paige),
internal_dep(:kairo),
internal_dep(:elektrine_nerve),
# IANA timezone database for LocalTime shift_zone/3 (no HTTP; replaces tzdata)
{:tz, "== 0.28.2"}
]
end
defp internal_dep(app, opts \\ []) do
dep_opts =
if Mix.Project.umbrella?() do
[in_umbrella: true]
else
[path: "../#{app}"]
end
{app, Keyword.merge(dep_opts, opts)}
end
end