Packages
mob_dev
0.6.21
0.6.23
0.6.22
0.6.21
0.6.20
0.6.19
0.6.18
0.6.17
0.6.16
0.6.15
0.6.14
0.6.13
0.6.12
0.6.11
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.17
0.5.16
0.5.15
0.5.14
0.5.13
0.5.12
0.5.11
0.5.10
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.0
0.3.37
0.3.35
0.3.34
0.3.33
0.3.28
0.3.26
0.3.23
0.3.21
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.18
0.2.17
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0
Development tooling for the Mob mobile framework
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/mob/adopt/native.ex
defmodule Mix.Tasks.Mob.Adopt.Native do
@shortdoc "Installs the native (Android + iOS) build trees"
@moduledoc """
Dispatcher — composes `mob.adopt.native.android` and
`mob.adopt.native.ios`.
## Options
- `--no-android` — skip the Android tree.
- `--no-ios` — skip the iOS tree.
- `--local` — forwarded to the platform sub-installers for path-dep
resolution.
- `--python` — iOS-only: pre-configure embedded CPython via Pythonx
(forwarded to `mob.adopt.native.ios`).
Other orchestrator flags accepted but inert.
Both platforms emit by default. Useful as a standalone task for
"refresh the native trees after a template fix" workflows.
"""
use Igniter.Mix.Task
alias Mix.Tasks.Mob.Adopt.Native.{Android, Ios}
@common_schema [
ios: :boolean,
android: :boolean,
local: :boolean,
python: :boolean,
host_url: :string,
live_view: :boolean
]
@common_defaults [ios: true, android: true, live_view: true]
@impl Igniter.Mix.Task
def info(_argv, _composing_task) do
%Igniter.Mix.Task.Info{
group: :mob,
example: "mix mob.adopt.native",
schema: @common_schema,
defaults: @common_defaults,
composes: ["mob.adopt.native.android", "mob.adopt.native.ios"]
}
end
@impl Igniter.Mix.Task
def igniter(igniter) do
opts = igniter.args.options
igniter
|> maybe_compose(Android, Keyword.get(opts, :android, true))
|> maybe_compose(Ios, Keyword.get(opts, :ios, true))
end
defp maybe_compose(igniter, _module, false), do: igniter
defp maybe_compose(igniter, module, true),
do: Igniter.compose_task(igniter, module, igniter.args.argv)
end