Skip to content

Commit 8617ab5

Browse files
committed
fix: move template scaffolding after state transition in init
Template installer creates dist/ directories with .gitkeep files, which has_build_artifacts detects as Built state. Moving install_all after execute_transition(Initialize) prevents discover_state from seeing dist/server/ and rejecting the Built -> Configured transition.
1 parent 910a161 commit 8617ab5

1 file changed

Lines changed: 14 additions & 13 deletions

File tree

crates/empack-lib/src/application/commands.rs

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,20 @@ async fn execute_init_phase(
778778
.filesystem()
779779
.write_file(&target_dir.join("empack.yml"), &empack_yml_content)?;
780780

781-
// Scaffold project structure and templates (non-fatal: warn on failure)
781+
let transition_result = manager
782+
.execute_transition(
783+
session.process(),
784+
&*session.packwiz(),
785+
StateTransition::Initialize(*config),
786+
)
787+
.await
788+
.context("Failed to initialize modpack project")?;
789+
for w in &transition_result.warnings {
790+
session.display().status().warning(w);
791+
}
792+
793+
// Scaffold project structure and templates after state transition succeeds.
794+
// Must run AFTER transition to avoid discover_state seeing dist/ as Built.
782795
let mut installer = crate::empack::templates::TemplateInstaller::new(session.filesystem());
783796
installer.configure(
784797
config.name,
@@ -798,18 +811,6 @@ async fn execute_init_phase(
798811
.warning(&format!("Template scaffolding incomplete: {}", e));
799812
}
800813

801-
let transition_result = manager
802-
.execute_transition(
803-
session.process(),
804-
&*session.packwiz(),
805-
StateTransition::Initialize(*config),
806-
)
807-
.await
808-
.context("Failed to initialize modpack project")?;
809-
for w in &transition_result.warnings {
810-
session.display().status().warning(w);
811-
}
812-
813814
match transition_result.state {
814815
PackState::Configured => {
815816
session

0 commit comments

Comments
 (0)