Use Bakeware to create standalone binary
This commit is contained in:
22
README.md
22
README.md
@@ -1,21 +1,13 @@
|
|||||||
# FindOldMp3s
|
# FindOldMp3s
|
||||||
|
|
||||||
**TODO: Add description**
|
This project creates a CLI tool which will find MP3 files with bad bitrate. Bakeware will produce a standalone binary
|
||||||
|
file - this is NO escript release!
|
||||||
|
|
||||||
## Installation
|
## Setup
|
||||||
|
|
||||||
If [available in Hex](https://hex.pm/docs/publish), the package can be installed
|
```shell
|
||||||
by adding `find_old_mp3s` to your list of dependencies in `mix.exs`:
|
mix deps.get
|
||||||
|
MIX_ENV=prod mix release
|
||||||
```elixir
|
|
||||||
def deps do
|
|
||||||
[
|
|
||||||
{:find_old_mp3s, "~> 0.1.0"}
|
|
||||||
]
|
|
||||||
end
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
|
The built binary will be in `_build/prod/rel/bakeware/find_old_mp3s`
|
||||||
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
|
|
||||||
be found at <https://hexdocs.pm/find_old_mp3s>.
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,9 @@
|
|||||||
defmodule FindOldMp3s do
|
defmodule FindOldMp3s.Main do
|
||||||
@moduledoc """
|
use Bakeware.Script
|
||||||
Documentation for `FindOldMp3s`.
|
|
||||||
"""
|
|
||||||
|
|
||||||
@doc """
|
@impl Bakeware.Script
|
||||||
Hello world.
|
def main(_args) do
|
||||||
|
IO.puts "Hello, World!"
|
||||||
## Examples
|
0
|
||||||
|
|
||||||
iex> FindOldMp3s.hello()
|
|
||||||
:world
|
|
||||||
|
|
||||||
"""
|
|
||||||
def hello do
|
|
||||||
:world
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
23
mix.exs
23
mix.exs
@@ -1,28 +1,41 @@
|
|||||||
defmodule FindOldMp3s.MixProject do
|
defmodule FindOldMp3s.MixProject do
|
||||||
use Mix.Project
|
use Mix.Project
|
||||||
|
|
||||||
|
@app :find_old_mp3s
|
||||||
|
|
||||||
def project do
|
def project do
|
||||||
[
|
[
|
||||||
app: :find_old_mp3s,
|
app: @app,
|
||||||
version: "0.1.0",
|
version: "0.1.0",
|
||||||
elixir: "~> 1.15",
|
elixir: "~> 1.15",
|
||||||
start_permanent: Mix.env() == :prod,
|
start_permanent: Mix.env() == :prod,
|
||||||
deps: deps()
|
deps: deps(),
|
||||||
|
releases: [{@app, release()}],
|
||||||
|
preferred_cli_env: [release: :prod]
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
# Run "mix help compile.app" to learn about applications.
|
# Run "mix help compile.app" to learn about applications.
|
||||||
def application do
|
def application do
|
||||||
[
|
[
|
||||||
extra_applications: [:logger]
|
extra_applications: [:logger],
|
||||||
|
mod: {FindOldMp3s.Main, []}
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
# Run "mix help deps" to learn about dependencies.
|
# Run "mix help deps" to learn about dependencies.
|
||||||
defp deps do
|
defp deps do
|
||||||
[
|
[
|
||||||
# {:dep_from_hexpm, "~> 0.3.0"},
|
{:bakeware, "~> 0.2.4"}
|
||||||
# {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
defp release do
|
||||||
|
[
|
||||||
|
overwrite: true,
|
||||||
|
quiet: true,
|
||||||
|
steps: [:assemble, &Bakeware.assemble/1],
|
||||||
|
strip_beams: Mix.env() == :prod
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
4
mix.lock
Normal file
4
mix.lock
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
%{
|
||||||
|
"bakeware": {:hex, :bakeware, "0.2.4", "0aaf49b34f4bab2aa433f9ff1485d9401e421603160abd6d269c469fc7b65212", [:make, :mix], [{:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "7b97bcf6fbeee53bb32441d6c495bf478d26f9575633cfef6831e421e86ada6d"},
|
||||||
|
"elixir_make": {:hex, :elixir_make, "0.8.3", "d38d7ee1578d722d89b4d452a3e36bcfdc644c618f0d063b874661876e708683", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:certifi, "~> 2.0", [hex: :certifi, repo: "hexpm", optional: true]}], "hexpm", "5c99a18571a756d4af7a4d89ca75c28ac899e6103af6f223982f09ce44942cc9"},
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user