Current section

Files

Jump to
Raw

mix.exs

# Copyright (C) 2020 by the Georgia Tech Research Institute (GTRI)
# This software may be modified and distributed under the terms of
# the BSD 3-Clause license. See the LICENSE file for details.

defmodule GithubModule.MixProject do
  use Mix.Project

  def project do
    [
      app: :lowendinsight,
      description: description(),
      version: "0.10.0",
      elixir: "~> 1.17",
      start_permanent: Mix.env() == :prod,
      build_path: "../../_build",
      config_path: "../../config/config.exs",
      deps_path: "../../deps",
      lockfile: "../../mix.lock",
      deps: deps(),
      package: package(),
      name: "LowEndInsight",
      source_url: "https://github.com/kitplummer/lowendinsight",
      docs: [
        extras: ["../../README.md", "CHANGELOG.md"]
      ],
      test_coverage: [tool: ExCoveralls],
      releases: [
        demo: [
          include_executables_for: [:unix],
          applications: [runtime_tools: :permanent]
        ]
      ]
    ]
  end

  # Run "mix help compile.app" to learn about applications.
  def application do
    [
      extra_applications: [:logger, :crypto],
      mod: {Lei.Application, []}
    ]
  end

  # Run "mix help deps" to learn about dependencies.
  defp deps do
    [
      {:httpoison, "~> 3.0"},
      {:git_cli, "~> 0.3"},
      {:poison, "~> 6.0"},
      {:elixir_uuid, "~> 1.2"},
      {:ex_doc, "~> 0.34", only: :dev, runtime: false},
      {:jason, "~> 1.4"},
      {:credo, "~> 1.7", only: [:dev, :test], runtime: false},
      {:mix_audit, "~> 2.1", only: [:dev, :test], runtime: false},
      {:json_xema, "~> 0.6"},
      {:temp, "~> 0.4"},
      {:excoveralls, "~> 0.18", only: :test},
      {:mox, "~> 1.1", only: :test},
      {:yarn_parser, "~> 0.4"},
      {:sweet_xml, "~> 0.7.1"},
      # No database, web server or JWT here: those belong to the hosted
      # service, which depends on this library (ADR-003).
      {:sbom, "~> 0.6", only: :dev, runtime: false}
    ]
  end

  defp links() do
    %{"GitHub" => "https://github.com/kitplummer/lowendinsight"}
  end

  defp description() do
    "LowEndInsight is a simple 'bus-factor' risk analysis library for Open Source Software which is managed within a Git repository. Provide the git URL and the library will respond with a basic Elixir Map structure report."
  end

  defp package() do
    [
      licenses: ["BSD-3-Clause"],
      links: links()
    ]
  end
end