Skip to content

Commit 4567953

Browse files
authored
Merge pull request #7 from membraneframework/release/v0.6.1
Release v0.6.1
2 parents 659700b + 6c13c18 commit 4567953

File tree

6 files changed

+235
-27
lines changed

6 files changed

+235
-27
lines changed

.circleci/config.yml

+10-14
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
1-
version: 2.0
2-
jobs:
3-
build:
4-
docker:
5-
- image: membraneframeworklabs/docker_membrane:latest
6-
environment:
7-
MIX_ENV: test
8-
working_directory: '~/app'
9-
10-
steps:
11-
- checkout
12-
- run: mix deps.get
13-
- run: mix format --check-formatted
14-
- run: mix test
1+
version: 2.1
2+
orbs:
3+
elixir: membraneframework/elixir@1
154

5+
workflows:
6+
version: 2
7+
build:
8+
jobs:
9+
- elixir/build_test
10+
- elixir/test
11+
- elixir/lint

.credo.exs

+187
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
# This file contains the configuration for Credo and you are probably reading
2+
# this after creating it with `mix credo.gen.config`.
3+
#
4+
# If you find anything wrong or unclear in this file, please report an
5+
# issue on GitHub: https://github.com/rrrene/credo/issues
6+
#
7+
%{
8+
#
9+
# You can have as many configs as you like in the `configs:` field.
10+
configs: [
11+
%{
12+
#
13+
# Run any config using `mix credo -C <name>`. If no config name is given
14+
# "default" is used.
15+
#
16+
name: "default",
17+
#
18+
# These are the files included in the analysis:
19+
files: %{
20+
#
21+
# You can give explicit globs or simply directories.
22+
# In the latter case `**/*.{ex,exs}` will be used.
23+
#
24+
included: [
25+
"lib/",
26+
"src/",
27+
"test/",
28+
"web/",
29+
"apps/*/lib/",
30+
"apps/*/src/",
31+
"apps/*/test/",
32+
"apps/*/web/"
33+
],
34+
excluded: [~r"/_build/", ~r"/deps/", ~r"/node_modules/"]
35+
},
36+
#
37+
# Load and configure plugins here:
38+
#
39+
plugins: [],
40+
#
41+
# If you create your own checks, you must specify the source files for
42+
# them here, so they can be loaded by Credo before running the analysis.
43+
#
44+
requires: [],
45+
#
46+
# If you want to enforce a style guide and need a more traditional linting
47+
# experience, you can change `strict` to `true` below:
48+
#
49+
strict: false,
50+
#
51+
# To modify the timeout for parsing files, change this value:
52+
#
53+
parse_timeout: 5000,
54+
#
55+
# If you want to use uncolored output by default, you can change `color`
56+
# to `false` below:
57+
#
58+
color: true,
59+
#
60+
# You can customize the parameters of any check by adding a second element
61+
# to the tuple.
62+
#
63+
# To disable a check put `false` as second element:
64+
#
65+
# {Credo.Check.Design.DuplicatedCode, false}
66+
#
67+
checks: [
68+
#
69+
## Consistency Checks
70+
#
71+
{Credo.Check.Consistency.ExceptionNames, []},
72+
{Credo.Check.Consistency.LineEndings, []},
73+
{Credo.Check.Consistency.ParameterPatternMatching, []},
74+
{Credo.Check.Consistency.SpaceAroundOperators, []},
75+
{Credo.Check.Consistency.SpaceInParentheses, []},
76+
{Credo.Check.Consistency.TabsOrSpaces, []},
77+
78+
#
79+
## Design Checks
80+
#
81+
# You can customize the priority of any check
82+
# Priority values are: `low, normal, high, higher`
83+
#
84+
{Credo.Check.Design.AliasUsage,
85+
[priority: :low, if_nested_deeper_than: 2, if_called_more_often_than: 0]},
86+
# You can also customize the exit_status of each check.
87+
# If you don't want TODO comments to cause `mix credo` to fail, just
88+
# set this value to 0 (zero).
89+
#
90+
{Credo.Check.Design.TagTODO, [exit_status: 0]},
91+
{Credo.Check.Design.TagFIXME, []},
92+
93+
#
94+
## Readability Checks
95+
#
96+
{Credo.Check.Readability.AliasOrder, [priority: :normal]},
97+
{Credo.Check.Readability.FunctionNames, []},
98+
{Credo.Check.Readability.LargeNumbers, []},
99+
{Credo.Check.Readability.MaxLineLength, [priority: :low, max_length: 120]},
100+
{Credo.Check.Readability.ModuleAttributeNames, []},
101+
{Credo.Check.Readability.ModuleDoc, []},
102+
{Credo.Check.Readability.ModuleNames, []},
103+
{Credo.Check.Readability.ParenthesesInCondition, []},
104+
{Credo.Check.Readability.ParenthesesOnZeroArityDefs, parens: true},
105+
{Credo.Check.Readability.PredicateFunctionNames, []},
106+
{Credo.Check.Readability.PreferImplicitTry, []},
107+
{Credo.Check.Readability.RedundantBlankLines, []},
108+
{Credo.Check.Readability.Semicolons, []},
109+
{Credo.Check.Readability.SpaceAfterCommas, []},
110+
{Credo.Check.Readability.StringSigils, []},
111+
{Credo.Check.Readability.TrailingBlankLine, []},
112+
{Credo.Check.Readability.TrailingWhiteSpace, []},
113+
{Credo.Check.Readability.UnnecessaryAliasExpansion, []},
114+
{Credo.Check.Readability.VariableNames, []},
115+
{Credo.Check.Readability.WithSingleClause, false},
116+
117+
#
118+
## Refactoring Opportunities
119+
#
120+
{Credo.Check.Refactor.CondStatements, []},
121+
{Credo.Check.Refactor.CyclomaticComplexity, []},
122+
{Credo.Check.Refactor.FunctionArity, []},
123+
{Credo.Check.Refactor.LongQuoteBlocks, []},
124+
{Credo.Check.Refactor.MapInto, false},
125+
{Credo.Check.Refactor.MatchInCondition, []},
126+
{Credo.Check.Refactor.NegatedConditionsInUnless, []},
127+
{Credo.Check.Refactor.NegatedConditionsWithElse, []},
128+
{Credo.Check.Refactor.Nesting, []},
129+
{Credo.Check.Refactor.UnlessWithElse, []},
130+
{Credo.Check.Refactor.WithClauses, []},
131+
132+
#
133+
## Warnings
134+
#
135+
{Credo.Check.Warning.BoolOperationOnSameValues, []},
136+
{Credo.Check.Warning.ExpensiveEmptyEnumCheck, []},
137+
{Credo.Check.Warning.IExPry, []},
138+
{Credo.Check.Warning.IoInspect, []},
139+
{Credo.Check.Warning.LazyLogging, false},
140+
{Credo.Check.Warning.MixEnv, []},
141+
{Credo.Check.Warning.OperationOnSameValues, []},
142+
{Credo.Check.Warning.OperationWithConstantResult, []},
143+
{Credo.Check.Warning.RaiseInsideRescue, []},
144+
{Credo.Check.Warning.UnusedEnumOperation, []},
145+
{Credo.Check.Warning.UnusedFileOperation, []},
146+
{Credo.Check.Warning.UnusedKeywordOperation, []},
147+
{Credo.Check.Warning.UnusedListOperation, []},
148+
{Credo.Check.Warning.UnusedPathOperation, []},
149+
{Credo.Check.Warning.UnusedRegexOperation, []},
150+
{Credo.Check.Warning.UnusedStringOperation, []},
151+
{Credo.Check.Warning.UnusedTupleOperation, []},
152+
{Credo.Check.Warning.UnsafeExec, []},
153+
154+
#
155+
# Checks scheduled for next check update (opt-in for now, just replace `false` with `[]`)
156+
157+
#
158+
# Controversial and experimental checks (opt-in, just replace `false` with `[]`)
159+
#
160+
{Credo.Check.Readability.StrictModuleLayout,
161+
priority: :normal, order: ~w/shortdoc moduledoc behaviour use import require alias/a},
162+
{Credo.Check.Consistency.MultiAliasImportRequireUse, false},
163+
{Credo.Check.Consistency.UnusedVariableNames, force: :meaningful},
164+
{Credo.Check.Design.DuplicatedCode, false},
165+
{Credo.Check.Readability.AliasAs, false},
166+
{Credo.Check.Readability.MultiAlias, false},
167+
{Credo.Check.Readability.Specs, []},
168+
{Credo.Check.Readability.SinglePipe, false},
169+
{Credo.Check.Readability.WithCustomTaggedTuple, false},
170+
{Credo.Check.Refactor.ABCSize, false},
171+
{Credo.Check.Refactor.AppendSingleItem, false},
172+
{Credo.Check.Refactor.DoubleBooleanNegation, false},
173+
{Credo.Check.Refactor.ModuleDependencies, false},
174+
{Credo.Check.Refactor.NegatedIsNil, false},
175+
{Credo.Check.Refactor.PipeChainStart, false},
176+
{Credo.Check.Refactor.VariableRebinding, false},
177+
{Credo.Check.Warning.LeakyEnvironment, false},
178+
{Credo.Check.Warning.MapGetUnsafePass, false},
179+
{Credo.Check.Warning.UnsafeToAtom, false}
180+
181+
#
182+
# Custom checks can be created using `mix credo.gen.check`.
183+
#
184+
]
185+
}
186+
]
187+
}

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Membrane description for Common Media Application Format.
1111
Add the following line to your `deps` in `mix.exs`. Run `mix deps.get`.
1212

1313
```elixir
14-
{:membrane_cmaf_format, "~> 0.6.0"}
14+
{:membrane_cmaf_format, "~> 0.6.1"}
1515
```
1616

1717
## Copyright and License

mix.exs

+32-11
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,28 @@
11
defmodule Membrane.CMAF.MixProject do
22
use Mix.Project
33

4-
@version "0.6.0"
4+
@version "0.6.1"
55
@github_url "https://github.com/membraneframework/membrane_cmaf_format"
66

77
def project do
88
[
99
app: :membrane_cmaf_format,
1010
version: @version,
11-
elixir: "~> 1.7",
11+
elixir: "~> 1.12",
1212
elixirc_paths: elixirc_paths(Mix.env()),
13+
start_permanent: Mix.env() == :prod,
14+
deps: deps(),
15+
dialyzer: dialyzer(),
16+
17+
# hex
1318
description: "Membrane CMAF format",
1419
package: package(),
20+
21+
# docs
1522
name: "Membrane CMAF format",
1623
source_url: @github_url,
17-
docs: docs(),
18-
deps: deps()
24+
homepage_url: "https://membraneframework.org",
25+
docs: docs()
1926
]
2027
end
2128

@@ -28,12 +35,25 @@ defmodule Membrane.CMAF.MixProject do
2835
defp elixirc_paths(:test), do: ["lib", "test/support"]
2936
defp elixirc_paths(_), do: ["lib"]
3037

31-
defp docs do
38+
defp deps do
3239
[
33-
main: "readme",
34-
extras: ["README.md", "LICENSE"],
35-
source_ref: "v#{@version}"
40+
{:ex_doc, "~> 0.24.0", only: [:dev, :test], runtime: false},
41+
{:dialyxir, "~> 1.1.0", only: [:dev, :test], runtime: false},
42+
{:credo, ">= 0.0.0", only: :dev, runtime: false}
43+
]
44+
end
45+
46+
defp dialyzer() do
47+
opts = [
48+
flags: [:error_handling]
3649
]
50+
51+
if System.get_env("CI") == "true" do
52+
# Store PLTs in cacheable directory for CI
53+
[plt_local_path: "priv/plts", plt_core_path: "priv/plts"] ++ opts
54+
else
55+
opts
56+
end
3757
end
3858

3959
defp package do
@@ -47,10 +67,11 @@ defmodule Membrane.CMAF.MixProject do
4767
]
4868
end
4969

50-
defp deps do
70+
defp docs do
5171
[
52-
{:ex_doc, "~> 0.24.0", only: [:dev, :test], runtime: false},
53-
{:dialyxir, "~> 1.1.0", only: [:dev, :test], runtime: false}
72+
main: "readme",
73+
extras: ["README.md", "LICENSE"],
74+
source_ref: "v#{@version}"
5475
]
5576
end
5677
end

mix.lock

+4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
%{
2+
"bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"},
3+
"credo": {:hex, :credo, "1.6.4", "ddd474afb6e8c240313f3a7b0d025cc3213f0d171879429bf8535d7021d9ad78", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "c28f910b61e1ff829bffa056ef7293a8db50e87f2c57a9b5c3f57eee124536b7"},
24
"dialyxir": {:hex, :dialyxir, "1.1.0", "c5aab0d6e71e5522e77beff7ba9e08f8e02bad90dfbeffae60eaf0cb47e29488", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "07ea8e49c45f15264ebe6d5b93799d4dd56a44036cf42d0ad9c960bc266c0b9a"},
35
"earmark_parser": {:hex, :earmark_parser, "1.4.17", "6f3c7e94170377ba45241d394389e800fb15adc5de51d0a3cd52ae766aafd63f", [:mix], [], "hexpm", "f93ac89c9feca61c165b264b5837bf82344d13bebc634cd575cb711e2e342023"},
46
"erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"},
57
"ex_doc": {:hex, :ex_doc, "0.24.2", "e4c26603830c1a2286dae45f4412a4d1980e1e89dc779fcd0181ed1d5a05c8d9", [:mix], [{:earmark_parser, "~> 1.4.0", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "e134e1d9e821b8d9e4244687fb2ace58d479b67b282de5158333b0d57c6fb7da"},
8+
"file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
9+
"jason": {:hex, :jason, "1.3.0", "fa6b82a934feb176263ad2df0dbd91bf633d4a46ebfdffea0c8ae82953714946", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "53fc1f51255390e0ec7e50f9cb41e751c260d065dcba2bf0d08dc51a4002c2ac"},
610
"makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"},
711
"makeup_elixir": {:hex, :makeup_elixir, "0.15.2", "dc72dfe17eb240552857465cc00cce390960d9a0c055c4ccd38b70629227e97c", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "fd23ae48d09b32eff49d4ced2b43c9f086d402ee4fd4fcb2d7fad97fa8823e75"},
812
"makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"},

test/test_helper.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ExUnit.start()
1+
ExUnit.start(capture_log: true)

0 commit comments

Comments
 (0)