Skip to content

fix(v3/examples): rename build/build/ → build/assets/ to fix go build . collision - #5401

Merged
leaanthony merged 2 commits into
wailsapp:masterfrom
taliesin-ai:agent/engineer-mac/fe133566
May 11, 2026
Merged

leaanthony merged 2 commits into
wailsapp:masterfrom
taliesin-ai:agent/engineer-mac/fe133566

Conversation

@taliesin-ai

@taliesin-ai taliesin-ai commented May 11, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Running go build . inside v3/examples/build/ fails with:

go: build output "build" already exists and is a directory

The example directory is named build, so Go's default binary output is also named build — blocked by the existing build/ subdirectory containing icons, plist files, etc.

Fix

Rename v3/examples/build/build/ → v3/examples/build/assets/ to match the convention used by 22 other v3 examples (binding, events, window, dialogs, etc.). Update all references in Taskfile.yml and add a README note directing developers to use wails3 task build or go build -o bin/buildtest ..

Changes

  • v3/examples/build/build/ → v3/examples/build/assets/ (7 files renamed)
  • Taskfile.yml: all dir: build and build/bin/ references updated to assets
  • README.md: added note about the bare go build . limitation

Closes #5391

Summary by CodeRabbit

  • Documentation

    • Updated build instructions to clarify binary naming conventions and recommend proper build commands with configurable output paths.
  • Chores

    • Reorganized build system to consolidate production build outputs into a centralized directory structure.

Review Change Stack

…sion

The example lives in v3/examples/build/, so `go build .` tried to create
a binary named `build` — blocked by the existing build/ subdirectory.
Rename the subdirectory to assets/ (matching 22 other v3 examples) to
eliminate the collision and add a README note guiding users to the
Taskfile or an explicit -o flag.
@coderabbitai

coderabbitai Bot commented May 11, 2026 •

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a50f61af-832f-446d-a4ad-97b5deca8b4f

📥 Commits

Reviewing files that changed from the base of the PR and between a3d392e and 394fe88.

⛔ Files ignored due to path filters (2)
  • v3/examples/build/assets/appicon.png is excluded by !**/*.png
  • v3/examples/build/assets/icon.ico is excluded by !**/*.ico
📒 Files selected for processing (7)
  • v3/examples/build/README.md
  • v3/examples/build/Taskfile.yml
  • v3/examples/build/assets/Info.dev.plist
  • v3/examples/build/assets/Info.plist
  • v3/examples/build/assets/icons.icns
  • v3/examples/build/assets/info.json
  • v3/examples/build/assets/wails.exe.manifest

Walkthrough

The example project's build system is reorganized to consolidate artifacts into an assets/ directory. The README explains the default binary naming behavior, while Taskfile tasks are updated to output binaries to assets/bin/, run asset generation commands from the assets/ directory, and consume reorganized resources during bundle assembly.

Changes

Build Output Directory Consolidation

Layer / File(s) Summary
Documentation Update
v3/examples/build/README.md
README adds clarification that go build . outputs a binary named build by default and directs users to use wails3 task build or explicit output paths instead.
Build Task Output Paths
v3/examples/build/Taskfile.yml
macOS and Linux production build tasks output compiled binaries to assets/bin/ instead of build/bin/, with the Linux task adding explicit GOARCH environment configuration.
Asset Generation Tasks
v3/examples/build/Taskfile.yml
Icon and syso generation tasks now execute with dir: assets to ensure they run within the assets directory context.
macOS Bundle Assembly
v3/examples/build/Taskfile.yml
App bundle generation task is updated to copy .icns, binary, and Info.plist resources from assets/* instead of build/*.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • wailsapp/wails#3924: Both PRs modify Taskfile build tasks around .syso handling and artifact directory structure reorganization.
  • wailsapp/wails#4125: Both PRs adjust the generate:icons task working directory and icon generation configuration.
  • wailsapp/wails#4171: Both PRs modify Taskfile build/packaging tasks and how bundles consume reorganized artifact paths.

Suggested labels

documentation, examples

Suggested reviewers

  • leaanthony

Poem

🐰 The assets hop into place, so neat and so tidy,
From scattered build dirs to one home on Friday,
Icons and binaries march in a line,
Bundle assembly works perfectly fine! ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description lacks required template sections: type of change checkbox not selected, testing section empty, and test configuration missing. Complete the template by selecting the type of change (Bug fix), describing how the fix was tested on each platform, and including wails doctor output or environment details.
Linked Issues check ⚠️ Warning The PR is linked to issue #5391 which concerns Japanese language translations, but the PR changes only involve renaming a directory in the examples folder—unrelated objectives. Verify the correct issue number. The PR should likely reference issue #5391 mentioned in the PR description as the source of the problem being fixed, not a translation issue.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: renaming the build directory to assets to fix the go build collision.
Out of Scope Changes check ✅ Passed All changes are directly related to fixing the go build collision by renaming the build/ directory to assets/ and updating references in Taskfile.yml and README.md.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@leaanthony
leaanthony enabled auto-merge (squash) May 11, 2026 11:04
@leaanthony
leaanthony disabled auto-merge May 11, 2026 11:28
@leaanthony
leaanthony merged commit bd2fe20 into wailsapp:master May 11, 2026
53 checks passed
leaanthony pushed a commit to taliesin-ai/wails that referenced this pull request May 11, 2026
…es): rename build/build/ → build/assets/ to fix `go build .` collision
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants