Packages

Pure Elixir ephemeris computation: time scales, JPL kernel evaluation, earth orientation, and sky snapshots from an observer location.

Current section

Files

Jump to
eph_core mix.exs
Raw

mix.exs

defmodule EphCore.MixProject do
use Mix.Project
@version "0.1.0"
@source_url "https://github.com/jakedjohnson/eph_core"
def project do
[
app: :eph_core,
version: @version,
elixir: "~> 1.17",
description: description(),
start_permanent: Mix.env() == :prod,
elixirc_paths: elixirc_paths(Mix.env()),
deps: deps(),
aliases: aliases(),
package: package(),
source_url: @source_url,
docs: docs()
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
mod: {EphCore.Application, []},
extra_applications: [:logger]
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:astro_utils, "~> 0.1.0"},
{:ecto, "~> 3.12"},
{:req, "~> 0.5"},
{:telemetry, "~> 1.0"},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:ex_doc, "~> 0.34", only: :dev, runtime: false}
]
end
defp elixirc_paths(:test), do: ["lib", "dev", "test/support"]
defp elixirc_paths(:dev), do: ["lib", "dev"]
defp elixirc_paths(_), do: ["lib"]
defp aliases do
[]
end
defp description do
"Pure Elixir ephemeris computation: time scales, JPL kernel evaluation, earth orientation, and sky snapshots from an observer location."
end
defp package do
[
files: ["lib", "mix.exs", "README.md", "LICENSE", "CHANGELOG.md", "CONTRIBUTING.md"],
licenses: ["MIT"],
links: %{"GitHub" => @source_url}
]
end
# `dev/` is compiled in :dev, where docs are built, but is not shipped in the
# Hex package, so sanity-check tasks stay out of the published docs.
def documented_module?(module, _metadata) do
not String.ends_with?(inspect(module), "SanityCheck")
end
defp docs do
[
main: "readme",
extras: ["README.md", "CHANGELOG.md", "CONTRIBUTING.md", "LICENSE"],
groups_for_modules: [
Core: [
EphCore,
EphCore.SnapshotPipeline,
EphCore.SnapshotPipeline.Intent,
EphCore.SnapshotPipeline.Observation
],
"Pipeline stages": [
EphCore.SnapshotPipeline.AstronomicalTime,
EphCore.SnapshotPipeline.EarthOrientation,
EphCore.SnapshotPipeline.Motion,
EphCore.SnapshotPipeline.ObserverLineOfSight,
EphCore.SnapshotPipeline.ObserverPosition,
EphCore.SnapshotPipeline.SkyPosition,
EphCore.SnapshotPipeline.SolarSystemPosition
],
"Events and time series": [
EphCore.Events.Almanac,
EphCore.TimeSeries,
EphCore.TopocentricMotion
],
Corrections: [EphCore.Corrections.ApparentPlace],
Stars: [EphCore.Stars.Catalog, EphCore.Stars.Position],
"Time scales": ~r/^EphCore\.AstronomicalTime\./,
"Earth orientation": ~r/^EphCore\.EarthOrientation\./,
"Ephemeris and kernels": [EphCore.Ephemeris, ~r/^EphCore\.Ephemeris\./],
Geometry: ~r/^EphCore\.Geometry\./
],
filter_modules: &__MODULE__.documented_module?/2,
source_ref: "v#{@version}",
source_url: @source_url
]
end
end