mirror of
https://github.com/plausible/analytics.git
synced 2024-12-27 03:21:37 +03:00
d94a8dbc7e
* Get stats from clickhosue * Pull stats from clickhouse * Use correct Query namespace * Use Clickhouse in unit tests * Use Clickhouse in stats controller tests * Use fixtures for unit tests * Add Clickhouse to travis * Use Clickhouse session store for sessions * Add garbage collection to session store * Reload session state from Clickhouse on server restart * Query from sessions table * Trap exits in event write buffer * Run hydration without starting the whole app * Make session length 30 minutes * Revert changes to fingerprint schema * Remove clickhouse from fingerprint sessions * Flush buffers before shutdown * Use old stats when merging * Remove old session schema * Fix tests with CH sessions * Add has_pageviews? to Stats * Use CH in staging * Update schema * Fix test setup
85 lines
2.5 KiB
Elixir
85 lines
2.5 KiB
Elixir
defmodule Plausible.MixProject do
|
||
use Mix.Project
|
||
|
||
def project do
|
||
[
|
||
app: :plausible,
|
||
version: "0.1.0",
|
||
elixir: "~> 1.5",
|
||
elixirc_paths: elixirc_paths(Mix.env()), compilers: [:phoenix, :gettext] ++ Mix.compilers(),
|
||
start_permanent: Mix.env() == :prod,
|
||
aliases: aliases(),
|
||
deps: deps(),
|
||
test_coverage: [tool: ExCoveralls]
|
||
]
|
||
end
|
||
|
||
# Configuration for the OTP application.
|
||
#
|
||
# Type `mix help compile.app` for more information.
|
||
def application do
|
||
[
|
||
mod: {Plausible.Application, []},
|
||
extra_applications: [:logger, :sentry, :runtime_tools, :timex, :ua_inspector, :ref_inspector, :bamboo]
|
||
]
|
||
end
|
||
|
||
# Specifies which paths to compile per environment.
|
||
defp elixirc_paths(:test), do: ["lib", "test/support"]
|
||
defp elixirc_paths(_), do: ["lib"]
|
||
|
||
# Specifies your project dependencies.
|
||
#
|
||
# Type `mix help deps` for examples and options.
|
||
defp deps do
|
||
[
|
||
{:browser, "~> 0.4.3"}, # remove
|
||
{:bcrypt_elixir, "~> 2.0"},
|
||
{:cors_plug, "~> 1.5"},
|
||
{:ecto_sql, "~> 3.0"},
|
||
{:elixir_uuid, "~> 1.2"},
|
||
{:gettext, "~> 0.11"},
|
||
{:jason, "~> 1.0"},
|
||
{:phoenix, "~> 1.4.0"},
|
||
{:phoenix_ecto, "~> 4.0"},
|
||
{:phoenix_html, "~> 2.11"},
|
||
{:phoenix_live_reload, "~> 1.2", only: :dev},
|
||
{:phoenix_pubsub, "~> 1.1"},
|
||
{:plug_cowboy, "~> 2.0"},
|
||
{:postgrex, ">= 0.0.0"},
|
||
{:poison, "~> 3.1"}, # Used in paddle_api, can remove
|
||
{:ref_inspector, "~> 1.3"},
|
||
{:timex, "~> 3.6"},
|
||
{:ua_inspector, "~> 0.18"},
|
||
{:bamboo, "~> 1.3"},
|
||
{:bamboo_postmark, "~> 0.5"},
|
||
{:sentry, "~> 7.0"},
|
||
{:httpoison, "~> 1.4"},
|
||
{:ex_machina, "~> 2.3", only: :test},
|
||
{:excoveralls, "~> 0.10", only: :test},
|
||
{:double, "~> 0.7.0", only: :test},
|
||
{:joken, "~> 2.0"},
|
||
{:php_serializer, "~> 0.9.0"},
|
||
{:csv, "~> 2.3"},
|
||
{:oauther, "~> 1.1"},
|
||
{:nanoid, "~> 2.0.2"},
|
||
{:siphash, "~> 3.2"},
|
||
{:clickhousex, [git: "https://github.com/atlas-forks/clickhousex.git"]}
|
||
]
|
||
end
|
||
|
||
# Aliases are shortcuts or tasks specific to the current project.
|
||
# For example, to create, migrate and run the seeds file at once:
|
||
#
|
||
# $ mix ecto.setup
|
||
#
|
||
# See the documentation for `Mix` for more info on aliases.
|
||
defp aliases do
|
||
[
|
||
"ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
|
||
"ecto.reset": ["ecto.drop", "ecto.setup"],
|
||
test: ["ecto.create --quiet", "ecto.migrate", "test"]
|
||
]
|
||
end
|
||
end
|