Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Scenic.Mixfile do
use Mix.Project
@app_name :scenic
@version "0.11.2"
@elixir_version "~> 1.11"
@github "https://github.com/ScenicFramework/scenic"
def project do
[
app: @app_name,
version: @version,
elixir: @elixir_version,
deps: deps(),
build_embedded: true,
start_permanent: Mix.env() == :prod,
compilers: [:elixir_make | Mix.compilers()],
make_targets: ["all"],
make_clean: ["clean"],
name: "Scenic",
description: description(),
docs: docs(),
package: package(),
dialyzer: [plt_add_deps: :transitive, plt_add_apps: [:mix, :iex]],
test_coverage: [tool: ExCoveralls],
preferred_cli_env: cli_env(),
elixirc_paths: elixirc_paths(Mix.env())
]
end
# Specifies which paths to compile per environment.
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp description do
"""
Scenic -- a client application library written directly on the Elixir/Erlang/OTP stack
"""
end
def application do
[extra_applications: [:logger, :crypto, :iex]]
end
defp deps do
[
{:font_metrics, "~> 0.5.0"},
{:nimble_options, "~> 0.3.4 or ~> 0.4.0 or ~> 0.5.0 or ~> 1.0"},
{:ex_image_info, "~> 0.2.4"},
{:truetype_metrics, "~> 0.6"},
# Tools
{:elixir_make, "~> 0.7.7", runtime: false},
{:ex_doc, ">= 0.0.0", only: :dev, runtime: false},
{:credo, ">= 0.0.0", only: [:dev, :test], runtime: false},
{:excoveralls, ">= 0.0.0", only: :test, runtime: false},
{:inch_ex, "~> 2.0", only: [:dev, :docs], runtime: false},
{:dialyxir, "~> 1.1", only: :dev, runtime: false}
]
end
defp cli_env do
[
coveralls: :test,
"coveralls.html": :test,
"coveralls.json": :test
]
end
defp package do
[
name: @app_name,
contributors: ["Boyd Multerer"],
maintainers: ["Boyd Multerer"],
licenses: ["Apache-2.0"],
links: %{Github: @github},
files: [
"Makefile",
"Makefile.win",
# only include *.c and *.h files
"c_src/*.[ch]",
# only include *.ex files
"lib/**/*.ex",
"mix.exs",
"guides/**/*.md",
# don't include the bird for now
# "guides/**/*.png",
"README.md",
"LICENSE",
"CHANGELOG.md",
# default fonts
"assets/fonts/*.ttf",
"assets/fonts/LICENSE.txt"
]
]
end
defp docs do
[
extras: doc_guides(),
main: "welcome",
groups_for_modules: groups_for_modules(),
source_ref: "v#{@version}",
source_url: "https://github.com/boydm/scenic"
# homepage_url: "http://kry10.com",
]
end
defp doc_guides do
[
"guides/upgrading_to_v0.11.md",
"guides/welcome.md",
"guides/install_dependencies.md",
"guides/overview_general.md",
"guides/getting_started.md",
"guides/getting_started_nerves.md",
"guides/overview_scene.md",
"guides/scene_lifecycle.md",
"guides/overview_graph.md",
"guides/overview_viewport.md",
"guides/overview_driver.md",
"guides/overview_styles.md",
"guides/overview_transforms.md",
"guides/overview_primitives.md",
"guides/overview_assets.md",
".github/CODE_OF_CONDUCT.md",
".github/CONTRIBUTING.md"
]
end
defp groups_for_modules do
[
Assets: [
Scenic.Assets,
Scenic.Assets.Static,
Scenic.Assets.Stream,
Scenic.Assets.Stream.Bitmap,
Scenic.Assets.Stream.Image
],
Components: [
Scenic.Component,
Scenic.Component.Button,
Scenic.Component.Input.Checkbox,
Scenic.Component.Input.Dropdown,
Scenic.Component.Input.RadioButton,
Scenic.Component.Input.RadioGroup,
Scenic.Component.Input.Slider,
Scenic.Component.Input.TextField,
Scenic.Component.Input.Caret,
Scenic.Component.Input.Toggle
],
Primitives: [
Scenic.Primitive,
Scenic.Primitive.Arc,
Scenic.Primitive.Circle,
Scenic.Primitive.Component,
Scenic.Primitive.Ellipse,
Scenic.Primitive.Group,
Scenic.Primitive.Line,
Scenic.Primitive.Path,
Scenic.Primitive.Quad,
Scenic.Primitive.Rectangle,
Scenic.Primitive.RoundedRectangle,
Scenic.Primitive.Script,
Scenic.Primitive.Sector,
Scenic.Primitive.Sprites,
Scenic.Primitive.Text,
Scenic.Primitive.Triangle
],
Styles: [
Scenic.Primitive.Style,
Scenic.Primitive.Style.Cap,
Scenic.Primitive.Style.Fill,
Scenic.Primitive.Style.Font,
Scenic.Primitive.Style.FontSize,
Scenic.Primitive.Style.Hidden,
Scenic.Primitive.Style.Input,
Scenic.Primitive.Style.Join,
Scenic.Primitive.Style.LineHeight,
Scenic.Primitive.Style.MiterLimit,
Scenic.Primitive.Style.Scissor,
Scenic.Primitive.Style.Stroke,
Scenic.Primitive.Style.TextAlign,
Scenic.Primitive.Style.TextBase,
Scenic.Primitive.Style.Theme
],
"Style.Paint": [
Scenic.Primitive.Style.Paint,
Scenic.Primitive.Style.Paint.Color,
Scenic.Primitive.Style.Paint.Image,
Scenic.Primitive.Style.Paint.LinearGradient,
Scenic.Primitive.Style.Paint.RadialGradient,
Scenic.Primitive.Style.Paint.Stream
],
Transforms: [
Scenic.Primitive.Transform,
Scenic.Primitive.Transform.Matrix,
Scenic.Primitive.Transform.Pin,
Scenic.Primitive.Transform.Rotate,
Scenic.Primitive.Transform.Scale,
Scenic.Primitive.Transform.Translate
],
Math: [
Scenic.Math,
Scenic.Math.Line,
Scenic.Math.Matrix,
Scenic.Math.Matrix.Utils,
Scenic.Math.Quad,
Scenic.Math.Vector2
],
Utilities: [
Scenic.Utilities.Map,
Scenic.Utilities.Validators
]
]
end
end