Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/cli/assets/android/gen/app/build.gradle.kts.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,5 @@ dependencies {
implementation("androidx.webkit:webkit:1.6.1")
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.8.0")
implementation("androidx.games:games-activity:2.0.2")
}
19 changes: 7 additions & 12 deletions packages/cli/src/build/request.rs
Original file line number Diff line number Diff line change
Expand Up @@ -605,7 +605,7 @@ impl BuildRequest {
Fullstack usage is inferred from the presence of the fullstack feature or --fullstack.
*/
let mut features = args.features.clone();
let mut no_default_features = args.no_default_features;
let no_default_features = args.no_default_features;
let all_features = args.all_features;
let mut triple = args.target.clone();
let mut renderer = args.renderer;
Expand Down Expand Up @@ -706,7 +706,6 @@ impl BuildRequest {
renderer = renderer.or(Some(Renderer::Web));
bundle_format = bundle_format.or(Some(BundleFormat::Web));
triple = triple.or(Some("wasm32-unknown-unknown".parse()?));
no_default_features = true;
}
Platform::MacOS => {
if main_package.features.contains_key("desktop") && renderer.is_none() {
Expand All @@ -715,7 +714,6 @@ impl BuildRequest {
renderer = renderer.or(Some(Renderer::Webview));
bundle_format = bundle_format.or(Some(BundleFormat::MacOS));
triple = triple.or(Some(Triple::host()));
no_default_features = true;
}
Platform::Windows => {
if main_package.features.contains_key("desktop") && renderer.is_none() {
Expand All @@ -724,7 +722,6 @@ impl BuildRequest {
renderer = renderer.or(Some(Renderer::Webview));
bundle_format = bundle_format.or(Some(BundleFormat::Windows));
triple = triple.or(Some(Triple::host()));
no_default_features = true;
}
Platform::Linux => {
if main_package.features.contains_key("desktop") && renderer.is_none() {
Expand All @@ -733,15 +730,13 @@ impl BuildRequest {
renderer = renderer.or(Some(Renderer::Webview));
bundle_format = bundle_format.or(Some(BundleFormat::Linux));
triple = triple.or(Some(Triple::host()));
no_default_features = true;
}
Platform::Ios => {
if main_package.features.contains_key("mobile") && renderer.is_none() {
features.push("mobile".into());
}
renderer = renderer.or(Some(Renderer::Webview));
bundle_format = bundle_format.or(Some(BundleFormat::Ios));
no_default_features = true;
match device.is_some() {
// If targeting device, we want to build for the device which is always aarch64
true => triple = triple.or(Some("aarch64-apple-ios".parse()?)),
Expand All @@ -762,7 +757,6 @@ impl BuildRequest {

renderer = renderer.or(Some(Renderer::Webview));
bundle_format = bundle_format.or(Some(BundleFormat::Android));
no_default_features = true;

// maybe probe adb?
if let Some(_device_name) = device.as_ref() {
Expand Down Expand Up @@ -792,7 +786,6 @@ impl BuildRequest {
renderer = renderer.or(Some(Renderer::Server));
bundle_format = bundle_format.or(Some(BundleFormat::Server));
triple = triple.or(Some(Triple::host()));
no_default_features = true;
}
Platform::Liveview => {
if main_package.features.contains_key("liveview") && renderer.is_none() {
Expand All @@ -801,12 +794,12 @@ impl BuildRequest {
renderer = renderer.or(Some(Renderer::Liveview));
bundle_format = bundle_format.or(Some(BundleFormat::Server));
triple = triple.or(Some(Triple::host()));
no_default_features = true;
}
}

// If no default features are enabled, we need to add the rendererless features
if no_default_features {
// If default features are enabled, we need to add the default features
// which don't enable a renderer
if !no_default_features {
features.extend(Self::rendererless_features(main_package));
features.dedup();
features.sort();
Expand Down Expand Up @@ -987,7 +980,9 @@ impl BuildRequest {
Ok(Self {
features,
bundle,
no_default_features,
// We hardcode passing `--no-default-features` to Cargo because dx manually enables
// the default features we want.
no_default_features: true,
all_features,
crate_package,
crate_target,
Expand Down