From 37bcfa1f73fd3fd5ff4cf3f2a6cb9ab3dc6d5bb8 Mon Sep 17 00:00:00 2001 From: Antoine Beauchamp Date: Fri, 14 Aug 2026 19:51:48 -0400 Subject: [PATCH 01/11] Moved content of `src` directory to the project's root directory. --- {src/cmd => cmd}/bedrock_helper/main.go | 0 {src/cmd => cmd}/bedrock_helper/version.go | 0 src/go.mod => go.mod | 0 src/go.sum => go.sum | 0 .../cmd_findaddons.go | 0 .../cmd_findaddons_test.go | 0 .../cmd_install.go | 0 .../cmd_install_test.go | 0 .../cmd_listaddons.go | 0 .../cmd_listaddons_test.go | 0 .../cmd_resolve.go | 0 .../cmd_resolve_test.go | 0 .../cmd_uninstall.go | 0 .../cmd_uninstall_test.go | 0 .../errors.go | 0 .../extract.go | 0 .../extract_test.go | 0 .../fsutil.go | 0 .../fsutil_test.go | 0 .../helpers_test.go | 0 .../manifest.go | 0 .../manifest_test.go | 0 .../pack.go | 0 .../pack_test.go | 0 .../registry.go | 0 .../registry_test.go | 0 .../server.go | 0 .../server_test.go | 0 .../strutil.go | 0 .../strutil_test.go | 0 .../types.go | 0 .../types_test.go | 0 .../validate.go | 0 .../validate_test.go | 0 .../world.go | 0 .../world_test.go | 0 .../addons/behavior_only.mcpack | Bin {src/testdata => testdata}/addons/corrupted.mcaddon | 0 {src/testdata => testdata}/addons/foobar.mcaddon | Bin {src/testdata => testdata}/addons/solo.mcpack | Bin .../addons/zip_with_no_manifest.zip | Bin .../servers/not_a_server/readme.txt | 0 .../not_a_server_missing_exec/server.properties | 0 .../worlds/Bedrock level/.keep | 0 .../worlds/Bedrock level/.keep | 0 .../not_a_server_missing_worlds/server.properties | 0 .../servers/server_empty/bedrock_server | 0 .../servers/server_empty/bedrock_server.exe | 0 .../servers/server_empty/server.properties | 0 .../servers/server_empty/worlds/Bedrock level/.keep | 0 .../servers/server_no_level_name/bedrock_server | 0 .../servers/server_no_level_name/bedrock_server.exe | 0 .../servers/server_no_level_name/server.properties | 0 .../server_no_level_name/worlds/MyWorld/.keep | 0 .../server_with_installed_pack/bedrock_server | 0 .../server_with_installed_pack/bedrock_server.exe | 0 .../server_with_installed_pack/server.properties | 0 .../behavior_packs/Foobar BP/manifest.json | 0 .../worlds/Bedrock level/world_behavior_packs.json | 0 .../server_with_multiple_packs/bedrock_server | 0 .../server_with_multiple_packs/bedrock_server.exe | 0 .../server_with_multiple_packs/server.properties | 0 .../behavior_packs/Solo_BP/manifest.json | 0 .../behavior_packs/Solo_BP/scripts/main.js | 0 .../behavior_packs/foobar_BP/items/coin.json | 0 .../behavior_packs/foobar_BP/manifest.json | 0 .../resource_packs/Solo_RP/manifest.json | 0 .../resource_packs/Solo_RP/textures/solo.png | 0 .../resource_packs/foobar_RP/manifest.json | 0 .../foobar_RP/textures/items/coin.png | 0 .../worlds/Bedrock level/world_behavior_packs.json | 0 .../worlds/Bedrock level/world_resource_packs.json | 0 72 files changed, 0 insertions(+), 0 deletions(-) rename {src/cmd => cmd}/bedrock_helper/main.go (100%) rename {src/cmd => cmd}/bedrock_helper/version.go (100%) rename src/go.mod => go.mod (100%) rename src/go.sum => go.sum (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/cmd_findaddons.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/cmd_findaddons_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/cmd_install.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/cmd_install_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/cmd_listaddons.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/cmd_listaddons_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/cmd_resolve.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/cmd_resolve_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/cmd_uninstall.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/cmd_uninstall_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/errors.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/extract.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/extract_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/fsutil.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/fsutil_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/helpers_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/manifest.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/manifest_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/pack.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/pack_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/registry.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/registry_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/server.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/server_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/strutil.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/strutil_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/types.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/types_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/validate.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/validate_test.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/world.go (100%) rename {src/libminecraftbedrock => libminecraftbedrock}/world_test.go (100%) rename {src/testdata => testdata}/addons/behavior_only.mcpack (100%) rename {src/testdata => testdata}/addons/corrupted.mcaddon (100%) rename {src/testdata => testdata}/addons/foobar.mcaddon (100%) rename {src/testdata => testdata}/addons/solo.mcpack (100%) rename {src/testdata => testdata}/addons/zip_with_no_manifest.zip (100%) rename {src/testdata => testdata}/servers/not_a_server/readme.txt (100%) rename {src/testdata => testdata}/servers/not_a_server_missing_exec/server.properties (100%) rename {src/testdata => testdata}/servers/not_a_server_missing_exec/worlds/Bedrock level/.keep (100%) rename {src/testdata => testdata}/servers/not_a_server_missing_server.properties/worlds/Bedrock level/.keep (100%) rename {src/testdata => testdata}/servers/not_a_server_missing_worlds/server.properties (100%) rename {src/testdata => testdata}/servers/server_empty/bedrock_server (100%) rename {src/testdata => testdata}/servers/server_empty/bedrock_server.exe (100%) rename {src/testdata => testdata}/servers/server_empty/server.properties (100%) rename {src/testdata => testdata}/servers/server_empty/worlds/Bedrock level/.keep (100%) rename {src/testdata => testdata}/servers/server_no_level_name/bedrock_server (100%) rename {src/testdata => testdata}/servers/server_no_level_name/bedrock_server.exe (100%) rename {src/testdata => testdata}/servers/server_no_level_name/server.properties (100%) rename {src/testdata => testdata}/servers/server_no_level_name/worlds/MyWorld/.keep (100%) rename {src/testdata => testdata}/servers/server_with_installed_pack/bedrock_server (100%) rename {src/testdata => testdata}/servers/server_with_installed_pack/bedrock_server.exe (100%) rename {src/testdata => testdata}/servers/server_with_installed_pack/server.properties (100%) rename {src/testdata => testdata}/servers/server_with_installed_pack/worlds/Bedrock level/behavior_packs/Foobar BP/manifest.json (100%) rename {src/testdata => testdata}/servers/server_with_installed_pack/worlds/Bedrock level/world_behavior_packs.json (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/bedrock_server (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/bedrock_server.exe (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/server.properties (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/Solo_BP/manifest.json (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/Solo_BP/scripts/main.js (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/foobar_BP/items/coin.json (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/foobar_BP/manifest.json (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/Solo_RP/manifest.json (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/Solo_RP/textures/solo.png (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/foobar_RP/manifest.json (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/foobar_RP/textures/items/coin.png (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/worlds/Bedrock level/world_behavior_packs.json (100%) rename {src/testdata => testdata}/servers/server_with_multiple_packs/worlds/Bedrock level/world_resource_packs.json (100%) diff --git a/src/cmd/bedrock_helper/main.go b/cmd/bedrock_helper/main.go similarity index 100% rename from src/cmd/bedrock_helper/main.go rename to cmd/bedrock_helper/main.go diff --git a/src/cmd/bedrock_helper/version.go b/cmd/bedrock_helper/version.go similarity index 100% rename from src/cmd/bedrock_helper/version.go rename to cmd/bedrock_helper/version.go diff --git a/src/go.mod b/go.mod similarity index 100% rename from src/go.mod rename to go.mod diff --git a/src/go.sum b/go.sum similarity index 100% rename from src/go.sum rename to go.sum diff --git a/src/libminecraftbedrock/cmd_findaddons.go b/libminecraftbedrock/cmd_findaddons.go similarity index 100% rename from src/libminecraftbedrock/cmd_findaddons.go rename to libminecraftbedrock/cmd_findaddons.go diff --git a/src/libminecraftbedrock/cmd_findaddons_test.go b/libminecraftbedrock/cmd_findaddons_test.go similarity index 100% rename from src/libminecraftbedrock/cmd_findaddons_test.go rename to libminecraftbedrock/cmd_findaddons_test.go diff --git a/src/libminecraftbedrock/cmd_install.go b/libminecraftbedrock/cmd_install.go similarity index 100% rename from src/libminecraftbedrock/cmd_install.go rename to libminecraftbedrock/cmd_install.go diff --git a/src/libminecraftbedrock/cmd_install_test.go b/libminecraftbedrock/cmd_install_test.go similarity index 100% rename from src/libminecraftbedrock/cmd_install_test.go rename to libminecraftbedrock/cmd_install_test.go diff --git a/src/libminecraftbedrock/cmd_listaddons.go b/libminecraftbedrock/cmd_listaddons.go similarity index 100% rename from src/libminecraftbedrock/cmd_listaddons.go rename to libminecraftbedrock/cmd_listaddons.go diff --git a/src/libminecraftbedrock/cmd_listaddons_test.go b/libminecraftbedrock/cmd_listaddons_test.go similarity index 100% rename from src/libminecraftbedrock/cmd_listaddons_test.go rename to libminecraftbedrock/cmd_listaddons_test.go diff --git a/src/libminecraftbedrock/cmd_resolve.go b/libminecraftbedrock/cmd_resolve.go similarity index 100% rename from src/libminecraftbedrock/cmd_resolve.go rename to libminecraftbedrock/cmd_resolve.go diff --git a/src/libminecraftbedrock/cmd_resolve_test.go b/libminecraftbedrock/cmd_resolve_test.go similarity index 100% rename from src/libminecraftbedrock/cmd_resolve_test.go rename to libminecraftbedrock/cmd_resolve_test.go diff --git a/src/libminecraftbedrock/cmd_uninstall.go b/libminecraftbedrock/cmd_uninstall.go similarity index 100% rename from src/libminecraftbedrock/cmd_uninstall.go rename to libminecraftbedrock/cmd_uninstall.go diff --git a/src/libminecraftbedrock/cmd_uninstall_test.go b/libminecraftbedrock/cmd_uninstall_test.go similarity index 100% rename from src/libminecraftbedrock/cmd_uninstall_test.go rename to libminecraftbedrock/cmd_uninstall_test.go diff --git a/src/libminecraftbedrock/errors.go b/libminecraftbedrock/errors.go similarity index 100% rename from src/libminecraftbedrock/errors.go rename to libminecraftbedrock/errors.go diff --git a/src/libminecraftbedrock/extract.go b/libminecraftbedrock/extract.go similarity index 100% rename from src/libminecraftbedrock/extract.go rename to libminecraftbedrock/extract.go diff --git a/src/libminecraftbedrock/extract_test.go b/libminecraftbedrock/extract_test.go similarity index 100% rename from src/libminecraftbedrock/extract_test.go rename to libminecraftbedrock/extract_test.go diff --git a/src/libminecraftbedrock/fsutil.go b/libminecraftbedrock/fsutil.go similarity index 100% rename from src/libminecraftbedrock/fsutil.go rename to libminecraftbedrock/fsutil.go diff --git a/src/libminecraftbedrock/fsutil_test.go b/libminecraftbedrock/fsutil_test.go similarity index 100% rename from src/libminecraftbedrock/fsutil_test.go rename to libminecraftbedrock/fsutil_test.go diff --git a/src/libminecraftbedrock/helpers_test.go b/libminecraftbedrock/helpers_test.go similarity index 100% rename from src/libminecraftbedrock/helpers_test.go rename to libminecraftbedrock/helpers_test.go diff --git a/src/libminecraftbedrock/manifest.go b/libminecraftbedrock/manifest.go similarity index 100% rename from src/libminecraftbedrock/manifest.go rename to libminecraftbedrock/manifest.go diff --git a/src/libminecraftbedrock/manifest_test.go b/libminecraftbedrock/manifest_test.go similarity index 100% rename from src/libminecraftbedrock/manifest_test.go rename to libminecraftbedrock/manifest_test.go diff --git a/src/libminecraftbedrock/pack.go b/libminecraftbedrock/pack.go similarity index 100% rename from src/libminecraftbedrock/pack.go rename to libminecraftbedrock/pack.go diff --git a/src/libminecraftbedrock/pack_test.go b/libminecraftbedrock/pack_test.go similarity index 100% rename from src/libminecraftbedrock/pack_test.go rename to libminecraftbedrock/pack_test.go diff --git a/src/libminecraftbedrock/registry.go b/libminecraftbedrock/registry.go similarity index 100% rename from src/libminecraftbedrock/registry.go rename to libminecraftbedrock/registry.go diff --git a/src/libminecraftbedrock/registry_test.go b/libminecraftbedrock/registry_test.go similarity index 100% rename from src/libminecraftbedrock/registry_test.go rename to libminecraftbedrock/registry_test.go diff --git a/src/libminecraftbedrock/server.go b/libminecraftbedrock/server.go similarity index 100% rename from src/libminecraftbedrock/server.go rename to libminecraftbedrock/server.go diff --git a/src/libminecraftbedrock/server_test.go b/libminecraftbedrock/server_test.go similarity index 100% rename from src/libminecraftbedrock/server_test.go rename to libminecraftbedrock/server_test.go diff --git a/src/libminecraftbedrock/strutil.go b/libminecraftbedrock/strutil.go similarity index 100% rename from src/libminecraftbedrock/strutil.go rename to libminecraftbedrock/strutil.go diff --git a/src/libminecraftbedrock/strutil_test.go b/libminecraftbedrock/strutil_test.go similarity index 100% rename from src/libminecraftbedrock/strutil_test.go rename to libminecraftbedrock/strutil_test.go diff --git a/src/libminecraftbedrock/types.go b/libminecraftbedrock/types.go similarity index 100% rename from src/libminecraftbedrock/types.go rename to libminecraftbedrock/types.go diff --git a/src/libminecraftbedrock/types_test.go b/libminecraftbedrock/types_test.go similarity index 100% rename from src/libminecraftbedrock/types_test.go rename to libminecraftbedrock/types_test.go diff --git a/src/libminecraftbedrock/validate.go b/libminecraftbedrock/validate.go similarity index 100% rename from src/libminecraftbedrock/validate.go rename to libminecraftbedrock/validate.go diff --git a/src/libminecraftbedrock/validate_test.go b/libminecraftbedrock/validate_test.go similarity index 100% rename from src/libminecraftbedrock/validate_test.go rename to libminecraftbedrock/validate_test.go diff --git a/src/libminecraftbedrock/world.go b/libminecraftbedrock/world.go similarity index 100% rename from src/libminecraftbedrock/world.go rename to libminecraftbedrock/world.go diff --git a/src/libminecraftbedrock/world_test.go b/libminecraftbedrock/world_test.go similarity index 100% rename from src/libminecraftbedrock/world_test.go rename to libminecraftbedrock/world_test.go diff --git a/src/testdata/addons/behavior_only.mcpack b/testdata/addons/behavior_only.mcpack similarity index 100% rename from src/testdata/addons/behavior_only.mcpack rename to testdata/addons/behavior_only.mcpack diff --git a/src/testdata/addons/corrupted.mcaddon b/testdata/addons/corrupted.mcaddon similarity index 100% rename from src/testdata/addons/corrupted.mcaddon rename to testdata/addons/corrupted.mcaddon diff --git a/src/testdata/addons/foobar.mcaddon b/testdata/addons/foobar.mcaddon similarity index 100% rename from src/testdata/addons/foobar.mcaddon rename to testdata/addons/foobar.mcaddon diff --git a/src/testdata/addons/solo.mcpack b/testdata/addons/solo.mcpack similarity index 100% rename from src/testdata/addons/solo.mcpack rename to testdata/addons/solo.mcpack diff --git a/src/testdata/addons/zip_with_no_manifest.zip b/testdata/addons/zip_with_no_manifest.zip similarity index 100% rename from src/testdata/addons/zip_with_no_manifest.zip rename to testdata/addons/zip_with_no_manifest.zip diff --git a/src/testdata/servers/not_a_server/readme.txt b/testdata/servers/not_a_server/readme.txt similarity index 100% rename from src/testdata/servers/not_a_server/readme.txt rename to testdata/servers/not_a_server/readme.txt diff --git a/src/testdata/servers/not_a_server_missing_exec/server.properties b/testdata/servers/not_a_server_missing_exec/server.properties similarity index 100% rename from src/testdata/servers/not_a_server_missing_exec/server.properties rename to testdata/servers/not_a_server_missing_exec/server.properties diff --git a/src/testdata/servers/not_a_server_missing_exec/worlds/Bedrock level/.keep b/testdata/servers/not_a_server_missing_exec/worlds/Bedrock level/.keep similarity index 100% rename from src/testdata/servers/not_a_server_missing_exec/worlds/Bedrock level/.keep rename to testdata/servers/not_a_server_missing_exec/worlds/Bedrock level/.keep diff --git a/src/testdata/servers/not_a_server_missing_server.properties/worlds/Bedrock level/.keep b/testdata/servers/not_a_server_missing_server.properties/worlds/Bedrock level/.keep similarity index 100% rename from src/testdata/servers/not_a_server_missing_server.properties/worlds/Bedrock level/.keep rename to testdata/servers/not_a_server_missing_server.properties/worlds/Bedrock level/.keep diff --git a/src/testdata/servers/not_a_server_missing_worlds/server.properties b/testdata/servers/not_a_server_missing_worlds/server.properties similarity index 100% rename from src/testdata/servers/not_a_server_missing_worlds/server.properties rename to testdata/servers/not_a_server_missing_worlds/server.properties diff --git a/src/testdata/servers/server_empty/bedrock_server b/testdata/servers/server_empty/bedrock_server similarity index 100% rename from src/testdata/servers/server_empty/bedrock_server rename to testdata/servers/server_empty/bedrock_server diff --git a/src/testdata/servers/server_empty/bedrock_server.exe b/testdata/servers/server_empty/bedrock_server.exe similarity index 100% rename from src/testdata/servers/server_empty/bedrock_server.exe rename to testdata/servers/server_empty/bedrock_server.exe diff --git a/src/testdata/servers/server_empty/server.properties b/testdata/servers/server_empty/server.properties similarity index 100% rename from src/testdata/servers/server_empty/server.properties rename to testdata/servers/server_empty/server.properties diff --git a/src/testdata/servers/server_empty/worlds/Bedrock level/.keep b/testdata/servers/server_empty/worlds/Bedrock level/.keep similarity index 100% rename from src/testdata/servers/server_empty/worlds/Bedrock level/.keep rename to testdata/servers/server_empty/worlds/Bedrock level/.keep diff --git a/src/testdata/servers/server_no_level_name/bedrock_server b/testdata/servers/server_no_level_name/bedrock_server similarity index 100% rename from src/testdata/servers/server_no_level_name/bedrock_server rename to testdata/servers/server_no_level_name/bedrock_server diff --git a/src/testdata/servers/server_no_level_name/bedrock_server.exe b/testdata/servers/server_no_level_name/bedrock_server.exe similarity index 100% rename from src/testdata/servers/server_no_level_name/bedrock_server.exe rename to testdata/servers/server_no_level_name/bedrock_server.exe diff --git a/src/testdata/servers/server_no_level_name/server.properties b/testdata/servers/server_no_level_name/server.properties similarity index 100% rename from src/testdata/servers/server_no_level_name/server.properties rename to testdata/servers/server_no_level_name/server.properties diff --git a/src/testdata/servers/server_no_level_name/worlds/MyWorld/.keep b/testdata/servers/server_no_level_name/worlds/MyWorld/.keep similarity index 100% rename from src/testdata/servers/server_no_level_name/worlds/MyWorld/.keep rename to testdata/servers/server_no_level_name/worlds/MyWorld/.keep diff --git a/src/testdata/servers/server_with_installed_pack/bedrock_server b/testdata/servers/server_with_installed_pack/bedrock_server similarity index 100% rename from src/testdata/servers/server_with_installed_pack/bedrock_server rename to testdata/servers/server_with_installed_pack/bedrock_server diff --git a/src/testdata/servers/server_with_installed_pack/bedrock_server.exe b/testdata/servers/server_with_installed_pack/bedrock_server.exe similarity index 100% rename from src/testdata/servers/server_with_installed_pack/bedrock_server.exe rename to testdata/servers/server_with_installed_pack/bedrock_server.exe diff --git a/src/testdata/servers/server_with_installed_pack/server.properties b/testdata/servers/server_with_installed_pack/server.properties similarity index 100% rename from src/testdata/servers/server_with_installed_pack/server.properties rename to testdata/servers/server_with_installed_pack/server.properties diff --git a/src/testdata/servers/server_with_installed_pack/worlds/Bedrock level/behavior_packs/Foobar BP/manifest.json b/testdata/servers/server_with_installed_pack/worlds/Bedrock level/behavior_packs/Foobar BP/manifest.json similarity index 100% rename from src/testdata/servers/server_with_installed_pack/worlds/Bedrock level/behavior_packs/Foobar BP/manifest.json rename to testdata/servers/server_with_installed_pack/worlds/Bedrock level/behavior_packs/Foobar BP/manifest.json diff --git a/src/testdata/servers/server_with_installed_pack/worlds/Bedrock level/world_behavior_packs.json b/testdata/servers/server_with_installed_pack/worlds/Bedrock level/world_behavior_packs.json similarity index 100% rename from src/testdata/servers/server_with_installed_pack/worlds/Bedrock level/world_behavior_packs.json rename to testdata/servers/server_with_installed_pack/worlds/Bedrock level/world_behavior_packs.json diff --git a/src/testdata/servers/server_with_multiple_packs/bedrock_server b/testdata/servers/server_with_multiple_packs/bedrock_server similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/bedrock_server rename to testdata/servers/server_with_multiple_packs/bedrock_server diff --git a/src/testdata/servers/server_with_multiple_packs/bedrock_server.exe b/testdata/servers/server_with_multiple_packs/bedrock_server.exe similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/bedrock_server.exe rename to testdata/servers/server_with_multiple_packs/bedrock_server.exe diff --git a/src/testdata/servers/server_with_multiple_packs/server.properties b/testdata/servers/server_with_multiple_packs/server.properties similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/server.properties rename to testdata/servers/server_with_multiple_packs/server.properties diff --git a/src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/Solo_BP/manifest.json b/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/Solo_BP/manifest.json similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/Solo_BP/manifest.json rename to testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/Solo_BP/manifest.json diff --git a/src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/Solo_BP/scripts/main.js b/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/Solo_BP/scripts/main.js similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/Solo_BP/scripts/main.js rename to testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/Solo_BP/scripts/main.js diff --git a/src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/foobar_BP/items/coin.json b/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/foobar_BP/items/coin.json similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/foobar_BP/items/coin.json rename to testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/foobar_BP/items/coin.json diff --git a/src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/foobar_BP/manifest.json b/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/foobar_BP/manifest.json similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/foobar_BP/manifest.json rename to testdata/servers/server_with_multiple_packs/worlds/Bedrock level/behavior_packs/foobar_BP/manifest.json diff --git a/src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/Solo_RP/manifest.json b/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/Solo_RP/manifest.json similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/Solo_RP/manifest.json rename to testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/Solo_RP/manifest.json diff --git a/src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/Solo_RP/textures/solo.png b/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/Solo_RP/textures/solo.png similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/Solo_RP/textures/solo.png rename to testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/Solo_RP/textures/solo.png diff --git a/src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/foobar_RP/manifest.json b/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/foobar_RP/manifest.json similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/foobar_RP/manifest.json rename to testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/foobar_RP/manifest.json diff --git a/src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/foobar_RP/textures/items/coin.png b/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/foobar_RP/textures/items/coin.png similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/foobar_RP/textures/items/coin.png rename to testdata/servers/server_with_multiple_packs/worlds/Bedrock level/resource_packs/foobar_RP/textures/items/coin.png diff --git a/src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/world_behavior_packs.json b/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/world_behavior_packs.json similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/world_behavior_packs.json rename to testdata/servers/server_with_multiple_packs/worlds/Bedrock level/world_behavior_packs.json diff --git a/src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/world_resource_packs.json b/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/world_resource_packs.json similarity index 100% rename from src/testdata/servers/server_with_multiple_packs/worlds/Bedrock level/world_resource_packs.json rename to testdata/servers/server_with_multiple_packs/worlds/Bedrock level/world_resource_packs.json From 7994aaad348465e1d3ac721d99f7e2b88ae8f12c Mon Sep 17 00:00:00 2001 From: Antoine Beauchamp Date: Fri, 14 Aug 2026 19:58:25 -0400 Subject: [PATCH 02/11] Updated TODO.txt --- TODO.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/TODO.txt b/TODO.txt index e69de29..95d748e 100644 --- a/TODO.txt +++ b/TODO.txt @@ -0,0 +1,2 @@ +- Rename module from module bedrock_helper and instead it should match the repo's import path: `go mod init github.com/your-username/reponame`. +- Support command such as `go install github.com/your-username/my-repo/cmd/my-app@latest` From 91324ce084cb7c81e4b950e2b04c00dca1367be6 Mon Sep 17 00:00:00 2001 From: Antoine Beauchamp Date: Fri, 14 Aug 2026 19:59:28 -0400 Subject: [PATCH 03/11] Renamed `libminecraftbedrock` directory to `minecraftbedrock`. --- {libminecraftbedrock => minecraftbedrock}/cmd_findaddons.go | 0 {libminecraftbedrock => minecraftbedrock}/cmd_findaddons_test.go | 0 {libminecraftbedrock => minecraftbedrock}/cmd_install.go | 0 {libminecraftbedrock => minecraftbedrock}/cmd_install_test.go | 0 {libminecraftbedrock => minecraftbedrock}/cmd_listaddons.go | 0 {libminecraftbedrock => minecraftbedrock}/cmd_listaddons_test.go | 0 {libminecraftbedrock => minecraftbedrock}/cmd_resolve.go | 0 {libminecraftbedrock => minecraftbedrock}/cmd_resolve_test.go | 0 {libminecraftbedrock => minecraftbedrock}/cmd_uninstall.go | 0 {libminecraftbedrock => minecraftbedrock}/cmd_uninstall_test.go | 0 {libminecraftbedrock => minecraftbedrock}/errors.go | 0 {libminecraftbedrock => minecraftbedrock}/extract.go | 0 {libminecraftbedrock => minecraftbedrock}/extract_test.go | 0 {libminecraftbedrock => minecraftbedrock}/fsutil.go | 0 {libminecraftbedrock => minecraftbedrock}/fsutil_test.go | 0 {libminecraftbedrock => minecraftbedrock}/helpers_test.go | 0 {libminecraftbedrock => minecraftbedrock}/manifest.go | 0 {libminecraftbedrock => minecraftbedrock}/manifest_test.go | 0 {libminecraftbedrock => minecraftbedrock}/pack.go | 0 {libminecraftbedrock => minecraftbedrock}/pack_test.go | 0 {libminecraftbedrock => minecraftbedrock}/registry.go | 0 {libminecraftbedrock => minecraftbedrock}/registry_test.go | 0 {libminecraftbedrock => minecraftbedrock}/server.go | 0 {libminecraftbedrock => minecraftbedrock}/server_test.go | 0 {libminecraftbedrock => minecraftbedrock}/strutil.go | 0 {libminecraftbedrock => minecraftbedrock}/strutil_test.go | 0 {libminecraftbedrock => minecraftbedrock}/types.go | 0 {libminecraftbedrock => minecraftbedrock}/types_test.go | 0 {libminecraftbedrock => minecraftbedrock}/validate.go | 0 {libminecraftbedrock => minecraftbedrock}/validate_test.go | 0 {libminecraftbedrock => minecraftbedrock}/world.go | 0 {libminecraftbedrock => minecraftbedrock}/world_test.go | 0 32 files changed, 0 insertions(+), 0 deletions(-) rename {libminecraftbedrock => minecraftbedrock}/cmd_findaddons.go (100%) rename {libminecraftbedrock => minecraftbedrock}/cmd_findaddons_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/cmd_install.go (100%) rename {libminecraftbedrock => minecraftbedrock}/cmd_install_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/cmd_listaddons.go (100%) rename {libminecraftbedrock => minecraftbedrock}/cmd_listaddons_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/cmd_resolve.go (100%) rename {libminecraftbedrock => minecraftbedrock}/cmd_resolve_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/cmd_uninstall.go (100%) rename {libminecraftbedrock => minecraftbedrock}/cmd_uninstall_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/errors.go (100%) rename {libminecraftbedrock => minecraftbedrock}/extract.go (100%) rename {libminecraftbedrock => minecraftbedrock}/extract_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/fsutil.go (100%) rename {libminecraftbedrock => minecraftbedrock}/fsutil_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/helpers_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/manifest.go (100%) rename {libminecraftbedrock => minecraftbedrock}/manifest_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/pack.go (100%) rename {libminecraftbedrock => minecraftbedrock}/pack_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/registry.go (100%) rename {libminecraftbedrock => minecraftbedrock}/registry_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/server.go (100%) rename {libminecraftbedrock => minecraftbedrock}/server_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/strutil.go (100%) rename {libminecraftbedrock => minecraftbedrock}/strutil_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/types.go (100%) rename {libminecraftbedrock => minecraftbedrock}/types_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/validate.go (100%) rename {libminecraftbedrock => minecraftbedrock}/validate_test.go (100%) rename {libminecraftbedrock => minecraftbedrock}/world.go (100%) rename {libminecraftbedrock => minecraftbedrock}/world_test.go (100%) diff --git a/libminecraftbedrock/cmd_findaddons.go b/minecraftbedrock/cmd_findaddons.go similarity index 100% rename from libminecraftbedrock/cmd_findaddons.go rename to minecraftbedrock/cmd_findaddons.go diff --git a/libminecraftbedrock/cmd_findaddons_test.go b/minecraftbedrock/cmd_findaddons_test.go similarity index 100% rename from libminecraftbedrock/cmd_findaddons_test.go rename to minecraftbedrock/cmd_findaddons_test.go diff --git a/libminecraftbedrock/cmd_install.go b/minecraftbedrock/cmd_install.go similarity index 100% rename from libminecraftbedrock/cmd_install.go rename to minecraftbedrock/cmd_install.go diff --git a/libminecraftbedrock/cmd_install_test.go b/minecraftbedrock/cmd_install_test.go similarity index 100% rename from libminecraftbedrock/cmd_install_test.go rename to minecraftbedrock/cmd_install_test.go diff --git a/libminecraftbedrock/cmd_listaddons.go b/minecraftbedrock/cmd_listaddons.go similarity index 100% rename from libminecraftbedrock/cmd_listaddons.go rename to minecraftbedrock/cmd_listaddons.go diff --git a/libminecraftbedrock/cmd_listaddons_test.go b/minecraftbedrock/cmd_listaddons_test.go similarity index 100% rename from libminecraftbedrock/cmd_listaddons_test.go rename to minecraftbedrock/cmd_listaddons_test.go diff --git a/libminecraftbedrock/cmd_resolve.go b/minecraftbedrock/cmd_resolve.go similarity index 100% rename from libminecraftbedrock/cmd_resolve.go rename to minecraftbedrock/cmd_resolve.go diff --git a/libminecraftbedrock/cmd_resolve_test.go b/minecraftbedrock/cmd_resolve_test.go similarity index 100% rename from libminecraftbedrock/cmd_resolve_test.go rename to minecraftbedrock/cmd_resolve_test.go diff --git a/libminecraftbedrock/cmd_uninstall.go b/minecraftbedrock/cmd_uninstall.go similarity index 100% rename from libminecraftbedrock/cmd_uninstall.go rename to minecraftbedrock/cmd_uninstall.go diff --git a/libminecraftbedrock/cmd_uninstall_test.go b/minecraftbedrock/cmd_uninstall_test.go similarity index 100% rename from libminecraftbedrock/cmd_uninstall_test.go rename to minecraftbedrock/cmd_uninstall_test.go diff --git a/libminecraftbedrock/errors.go b/minecraftbedrock/errors.go similarity index 100% rename from libminecraftbedrock/errors.go rename to minecraftbedrock/errors.go diff --git a/libminecraftbedrock/extract.go b/minecraftbedrock/extract.go similarity index 100% rename from libminecraftbedrock/extract.go rename to minecraftbedrock/extract.go diff --git a/libminecraftbedrock/extract_test.go b/minecraftbedrock/extract_test.go similarity index 100% rename from libminecraftbedrock/extract_test.go rename to minecraftbedrock/extract_test.go diff --git a/libminecraftbedrock/fsutil.go b/minecraftbedrock/fsutil.go similarity index 100% rename from libminecraftbedrock/fsutil.go rename to minecraftbedrock/fsutil.go diff --git a/libminecraftbedrock/fsutil_test.go b/minecraftbedrock/fsutil_test.go similarity index 100% rename from libminecraftbedrock/fsutil_test.go rename to minecraftbedrock/fsutil_test.go diff --git a/libminecraftbedrock/helpers_test.go b/minecraftbedrock/helpers_test.go similarity index 100% rename from libminecraftbedrock/helpers_test.go rename to minecraftbedrock/helpers_test.go diff --git a/libminecraftbedrock/manifest.go b/minecraftbedrock/manifest.go similarity index 100% rename from libminecraftbedrock/manifest.go rename to minecraftbedrock/manifest.go diff --git a/libminecraftbedrock/manifest_test.go b/minecraftbedrock/manifest_test.go similarity index 100% rename from libminecraftbedrock/manifest_test.go rename to minecraftbedrock/manifest_test.go diff --git a/libminecraftbedrock/pack.go b/minecraftbedrock/pack.go similarity index 100% rename from libminecraftbedrock/pack.go rename to minecraftbedrock/pack.go diff --git a/libminecraftbedrock/pack_test.go b/minecraftbedrock/pack_test.go similarity index 100% rename from libminecraftbedrock/pack_test.go rename to minecraftbedrock/pack_test.go diff --git a/libminecraftbedrock/registry.go b/minecraftbedrock/registry.go similarity index 100% rename from libminecraftbedrock/registry.go rename to minecraftbedrock/registry.go diff --git a/libminecraftbedrock/registry_test.go b/minecraftbedrock/registry_test.go similarity index 100% rename from libminecraftbedrock/registry_test.go rename to minecraftbedrock/registry_test.go diff --git a/libminecraftbedrock/server.go b/minecraftbedrock/server.go similarity index 100% rename from libminecraftbedrock/server.go rename to minecraftbedrock/server.go diff --git a/libminecraftbedrock/server_test.go b/minecraftbedrock/server_test.go similarity index 100% rename from libminecraftbedrock/server_test.go rename to minecraftbedrock/server_test.go diff --git a/libminecraftbedrock/strutil.go b/minecraftbedrock/strutil.go similarity index 100% rename from libminecraftbedrock/strutil.go rename to minecraftbedrock/strutil.go diff --git a/libminecraftbedrock/strutil_test.go b/minecraftbedrock/strutil_test.go similarity index 100% rename from libminecraftbedrock/strutil_test.go rename to minecraftbedrock/strutil_test.go diff --git a/libminecraftbedrock/types.go b/minecraftbedrock/types.go similarity index 100% rename from libminecraftbedrock/types.go rename to minecraftbedrock/types.go diff --git a/libminecraftbedrock/types_test.go b/minecraftbedrock/types_test.go similarity index 100% rename from libminecraftbedrock/types_test.go rename to minecraftbedrock/types_test.go diff --git a/libminecraftbedrock/validate.go b/minecraftbedrock/validate.go similarity index 100% rename from libminecraftbedrock/validate.go rename to minecraftbedrock/validate.go diff --git a/libminecraftbedrock/validate_test.go b/minecraftbedrock/validate_test.go similarity index 100% rename from libminecraftbedrock/validate_test.go rename to minecraftbedrock/validate_test.go diff --git a/libminecraftbedrock/world.go b/minecraftbedrock/world.go similarity index 100% rename from libminecraftbedrock/world.go rename to minecraftbedrock/world.go diff --git a/libminecraftbedrock/world_test.go b/minecraftbedrock/world_test.go similarity index 100% rename from libminecraftbedrock/world_test.go rename to minecraftbedrock/world_test.go From 0be79eeab8187891df92e8b2155bc6fba6c6707d Mon Sep 17 00:00:00 2001 From: Antoine Beauchamp Date: Fri, 14 Aug 2026 20:00:56 -0400 Subject: [PATCH 04/11] Renamed `libminecraftbedrock` package to `minecraftbedrock`. --- cmd/bedrock_helper/main.go | 2 +- minecraftbedrock/cmd_findaddons.go | 2 +- minecraftbedrock/cmd_findaddons_test.go | 2 +- minecraftbedrock/cmd_install.go | 2 +- minecraftbedrock/cmd_install_test.go | 2 +- minecraftbedrock/cmd_listaddons.go | 2 +- minecraftbedrock/cmd_listaddons_test.go | 2 +- minecraftbedrock/cmd_resolve.go | 2 +- minecraftbedrock/cmd_resolve_test.go | 2 +- minecraftbedrock/cmd_uninstall.go | 2 +- minecraftbedrock/cmd_uninstall_test.go | 2 +- minecraftbedrock/errors.go | 2 +- minecraftbedrock/extract.go | 2 +- minecraftbedrock/extract_test.go | 2 +- minecraftbedrock/fsutil.go | 2 +- minecraftbedrock/fsutil_test.go | 2 +- minecraftbedrock/helpers_test.go | 4 ++-- minecraftbedrock/manifest.go | 2 +- minecraftbedrock/manifest_test.go | 2 +- minecraftbedrock/pack.go | 2 +- minecraftbedrock/pack_test.go | 2 +- minecraftbedrock/registry.go | 2 +- minecraftbedrock/registry_test.go | 2 +- minecraftbedrock/server.go | 2 +- minecraftbedrock/server_test.go | 2 +- minecraftbedrock/strutil.go | 2 +- minecraftbedrock/strutil_test.go | 2 +- minecraftbedrock/types.go | 2 +- minecraftbedrock/types_test.go | 2 +- minecraftbedrock/validate.go | 2 +- minecraftbedrock/validate_test.go | 2 +- minecraftbedrock/world.go | 2 +- minecraftbedrock/world_test.go | 2 +- 33 files changed, 34 insertions(+), 34 deletions(-) diff --git a/cmd/bedrock_helper/main.go b/cmd/bedrock_helper/main.go index dab60d1..9b2bbaf 100644 --- a/cmd/bedrock_helper/main.go +++ b/cmd/bedrock_helper/main.go @@ -8,7 +8,7 @@ import ( "strings" "text/tabwriter" - lib "bedrock_helper/libminecraftbedrock" + lib "bedrock_helper/minecraftbedrock" ) // Config holds all the command-line argument values diff --git a/minecraftbedrock/cmd_findaddons.go b/minecraftbedrock/cmd_findaddons.go index 08600dd..05523b6 100644 --- a/minecraftbedrock/cmd_findaddons.go +++ b/minecraftbedrock/cmd_findaddons.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "os" diff --git a/minecraftbedrock/cmd_findaddons_test.go b/minecraftbedrock/cmd_findaddons_test.go index 9fada4b..6b2e8cb 100644 --- a/minecraftbedrock/cmd_findaddons_test.go +++ b/minecraftbedrock/cmd_findaddons_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "path/filepath" diff --git a/minecraftbedrock/cmd_install.go b/minecraftbedrock/cmd_install.go index 66efc0f..758dbdc 100644 --- a/minecraftbedrock/cmd_install.go +++ b/minecraftbedrock/cmd_install.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock // InstallAddonInServer installs every pack contained in the given add-on file (addonPath) // into the given Minecraft Bedrock server located at serverDir. diff --git a/minecraftbedrock/cmd_install_test.go b/minecraftbedrock/cmd_install_test.go index 042cc9a..39575b7 100644 --- a/minecraftbedrock/cmd_install_test.go +++ b/minecraftbedrock/cmd_install_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "os" diff --git a/minecraftbedrock/cmd_listaddons.go b/minecraftbedrock/cmd_listaddons.go index f2f96ac..87d9940 100644 --- a/minecraftbedrock/cmd_listaddons.go +++ b/minecraftbedrock/cmd_listaddons.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock // ListInstalledPacks lists the packs currently registered for a given Minecraft Bedrock server located at serverDir. // For each registered UUID, it attempts to resolve the name of the pack by scanning the corresponding behavior_packs/ or diff --git a/minecraftbedrock/cmd_listaddons_test.go b/minecraftbedrock/cmd_listaddons_test.go index 3ce58f9..dfb17ff 100644 --- a/minecraftbedrock/cmd_listaddons_test.go +++ b/minecraftbedrock/cmd_listaddons_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "os" diff --git a/minecraftbedrock/cmd_resolve.go b/minecraftbedrock/cmd_resolve.go index 9052d1f..e9d9439 100644 --- a/minecraftbedrock/cmd_resolve.go +++ b/minecraftbedrock/cmd_resolve.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "fmt" diff --git a/minecraftbedrock/cmd_resolve_test.go b/minecraftbedrock/cmd_resolve_test.go index 389f33f..153f3cd 100644 --- a/minecraftbedrock/cmd_resolve_test.go +++ b/minecraftbedrock/cmd_resolve_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "os" diff --git a/minecraftbedrock/cmd_uninstall.go b/minecraftbedrock/cmd_uninstall.go index 565f50c..937bcb0 100644 --- a/minecraftbedrock/cmd_uninstall.go +++ b/minecraftbedrock/cmd_uninstall.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import "fmt" diff --git a/minecraftbedrock/cmd_uninstall_test.go b/minecraftbedrock/cmd_uninstall_test.go index 122edb7..bf7d07d 100644 --- a/minecraftbedrock/cmd_uninstall_test.go +++ b/minecraftbedrock/cmd_uninstall_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "testing" diff --git a/minecraftbedrock/errors.go b/minecraftbedrock/errors.go index 5fe5842..c160090 100644 --- a/minecraftbedrock/errors.go +++ b/minecraftbedrock/errors.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "errors" diff --git a/minecraftbedrock/extract.go b/minecraftbedrock/extract.go index 061e2ff..d7a86a6 100644 --- a/minecraftbedrock/extract.go +++ b/minecraftbedrock/extract.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "archive/zip" diff --git a/minecraftbedrock/extract_test.go b/minecraftbedrock/extract_test.go index 364ed77..9f2f4ef 100644 --- a/minecraftbedrock/extract_test.go +++ b/minecraftbedrock/extract_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "path/filepath" diff --git a/minecraftbedrock/fsutil.go b/minecraftbedrock/fsutil.go index 5bb1cc4..fa7f08b 100644 --- a/minecraftbedrock/fsutil.go +++ b/minecraftbedrock/fsutil.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "fmt" diff --git a/minecraftbedrock/fsutil_test.go b/minecraftbedrock/fsutil_test.go index 05fed79..543e129 100644 --- a/minecraftbedrock/fsutil_test.go +++ b/minecraftbedrock/fsutil_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "bytes" diff --git a/minecraftbedrock/helpers_test.go b/minecraftbedrock/helpers_test.go index 0b96427..256f096 100644 --- a/minecraftbedrock/helpers_test.go +++ b/minecraftbedrock/helpers_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "os" @@ -15,7 +15,7 @@ func testdataDir(t *testing.T) string { wd, err := os.Getwd() require.NoError(t, err, "failed to get working directory") - // This file lives in /libminecraftbedrock, so testdata is a sibling of that directory. + // This file lives in /minecraftbedrock, so testdata is a sibling of that directory. return filepath.Join(wd, "..", "testdata") } diff --git a/minecraftbedrock/manifest.go b/minecraftbedrock/manifest.go index 89ff6e5..d131086 100644 --- a/minecraftbedrock/manifest.go +++ b/minecraftbedrock/manifest.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "encoding/json" diff --git a/minecraftbedrock/manifest_test.go b/minecraftbedrock/manifest_test.go index f1ddce5..d69594d 100644 --- a/minecraftbedrock/manifest_test.go +++ b/minecraftbedrock/manifest_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "testing" diff --git a/minecraftbedrock/pack.go b/minecraftbedrock/pack.go index 96fd7bb..d4c3ca6 100644 --- a/minecraftbedrock/pack.go +++ b/minecraftbedrock/pack.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "fmt" diff --git a/minecraftbedrock/pack_test.go b/minecraftbedrock/pack_test.go index fe4ff10..e1e52d6 100644 --- a/minecraftbedrock/pack_test.go +++ b/minecraftbedrock/pack_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "testing" diff --git a/minecraftbedrock/registry.go b/minecraftbedrock/registry.go index 3b22610..1862e0b 100644 --- a/minecraftbedrock/registry.go +++ b/minecraftbedrock/registry.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "encoding/json" diff --git a/minecraftbedrock/registry_test.go b/minecraftbedrock/registry_test.go index 1908d91..db20693 100644 --- a/minecraftbedrock/registry_test.go +++ b/minecraftbedrock/registry_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "testing" diff --git a/minecraftbedrock/server.go b/minecraftbedrock/server.go index 675e385..c6d4f1c 100644 --- a/minecraftbedrock/server.go +++ b/minecraftbedrock/server.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock type Server struct { Path string diff --git a/minecraftbedrock/server_test.go b/minecraftbedrock/server_test.go index 5e61cc3..927c378 100644 --- a/minecraftbedrock/server_test.go +++ b/minecraftbedrock/server_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "testing" diff --git a/minecraftbedrock/strutil.go b/minecraftbedrock/strutil.go index 28e5815..e44226d 100644 --- a/minecraftbedrock/strutil.go +++ b/minecraftbedrock/strutil.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "strings" diff --git a/minecraftbedrock/strutil_test.go b/minecraftbedrock/strutil_test.go index 3ab471e..d3d8dc2 100644 --- a/minecraftbedrock/strutil_test.go +++ b/minecraftbedrock/strutil_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "testing" diff --git a/minecraftbedrock/types.go b/minecraftbedrock/types.go index dcd01e8..1e084d2 100644 --- a/minecraftbedrock/types.go +++ b/minecraftbedrock/types.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "encoding/json" diff --git a/minecraftbedrock/types_test.go b/minecraftbedrock/types_test.go index cd944d7..c03c235 100644 --- a/minecraftbedrock/types_test.go +++ b/minecraftbedrock/types_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "testing" diff --git a/minecraftbedrock/validate.go b/minecraftbedrock/validate.go index 9a94c2c..bac91a5 100644 --- a/minecraftbedrock/validate.go +++ b/minecraftbedrock/validate.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "archive/zip" diff --git a/minecraftbedrock/validate_test.go b/minecraftbedrock/validate_test.go index ad6d041..8716664 100644 --- a/minecraftbedrock/validate_test.go +++ b/minecraftbedrock/validate_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "testing" diff --git a/minecraftbedrock/world.go b/minecraftbedrock/world.go index 3f8c8da..c06b766 100644 --- a/minecraftbedrock/world.go +++ b/minecraftbedrock/world.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "bufio" diff --git a/minecraftbedrock/world_test.go b/minecraftbedrock/world_test.go index 7218356..41eead2 100644 --- a/minecraftbedrock/world_test.go +++ b/minecraftbedrock/world_test.go @@ -1,4 +1,4 @@ -package libminecraftbedrock +package minecraftbedrock import ( "os" From fb5e31d5752059c90bec216727655f1e2e8ad4aa Mon Sep 17 00:00:00 2001 From: Antoine Beauchamp Date: Sat, 15 Aug 2026 07:59:58 -0400 Subject: [PATCH 05/11] Removed `src` directory references from the code and documents. --- .github/workflows/build_linux.yml | 2 +- .github/workflows/build_macos.yml | 2 +- .github/workflows/build_windows.yml | 2 +- .gitignore | 2 +- .vscode/launch.json | 32 ++++++++++++++--------------- .vscode/tasks.json | 2 +- Makefile | 4 ++-- README.md | 12 +++++------ ci/linux/build-debug-sandbox.sh | 8 ++++---- ci/linux/build.sh | 2 +- ci/linux/test.sh | 2 +- ci/windows/build-debug-sandbox.ps1 | 8 ++++---- ci/windows/build.ps1 | 2 +- ci/windows/test.ps1 | 2 +- 14 files changed, 41 insertions(+), 41 deletions(-) diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index 16c0dbe..206967f 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -38,7 +38,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v7 with: - go-version-file: src/go.mod + go-version-file: go.mod - name: Create new environment variables working-directory: ${{env.GITHUB_WORKSPACE}} diff --git a/.github/workflows/build_macos.yml b/.github/workflows/build_macos.yml index d81dc7f..8221719 100644 --- a/.github/workflows/build_macos.yml +++ b/.github/workflows/build_macos.yml @@ -38,7 +38,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v7 with: - go-version-file: src/go.mod + go-version-file: go.mod - name: Create new environment variables working-directory: ${{env.GITHUB_WORKSPACE}} diff --git a/.github/workflows/build_windows.yml b/.github/workflows/build_windows.yml index 9d0d96e..1aac968 100644 --- a/.github/workflows/build_windows.yml +++ b/.github/workflows/build_windows.yml @@ -36,7 +36,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v7 with: - go-version-file: src/go.mod + go-version-file: go.mod - name: Create new environment variables working-directory: ${{env.GITHUB_WORKSPACE}} diff --git a/.gitignore b/.gitignore index f350525..8d3c508 100644 --- a/.gitignore +++ b/.gitignore @@ -24,7 +24,7 @@ go.work.sum # .idea/ # .vscode/ -# Disposable copy of src/testdata used by the .vscode/launch.json debug configurations. +# Disposable copy of testdata used by the .vscode/launch.json debug configurations. .debug-sandbox/ # Test report & badge files diff --git a/.vscode/launch.json b/.vscode/launch.json index cd29c34..4230d26 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -16,7 +16,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "args": [ ] @@ -26,7 +26,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "args": [ "--version" @@ -37,7 +37,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "args": [ "--help" @@ -48,7 +48,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "args": [ "-help" @@ -59,7 +59,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "args": [ "help" @@ -70,7 +70,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "args": [ "-h" @@ -81,7 +81,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "preLaunchTask": "debug: reset sandbox", "args": [ @@ -93,7 +93,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "preLaunchTask": "debug: reset sandbox", "args": [ @@ -105,7 +105,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "preLaunchTask": "debug: reset sandbox", "args": [ @@ -120,7 +120,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "preLaunchTask": "debug: reset sandbox", "args": [ @@ -135,7 +135,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "preLaunchTask": "debug: reset sandbox", "args": [ @@ -150,7 +150,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "preLaunchTask": "debug: reset sandbox", "args": [ @@ -163,7 +163,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "preLaunchTask": "debug: reset sandbox", "args": [ @@ -177,7 +177,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "preLaunchTask": "debug: reset sandbox", "args": [ @@ -192,7 +192,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "preLaunchTask": "debug: reset sandbox", "args": [ @@ -206,7 +206,7 @@ "type": "go", "request": "launch", "mode": "auto", - "program": "${workspaceFolder}/src/cmd/bedrock_helper", + "program": "${workspaceFolder}/cmd/bedrock_helper", "cwd": "${workspaceFolder}", "preLaunchTask": "debug: reset sandbox", "args": [ diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 8d50006..55cf984 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -97,7 +97,7 @@ }, { "label": "debug: reset sandbox", - "detail": "Refreshes .debug-sandbox/ from src/testdata/ so the launch.json debug configurations always start from a clean, known state.", + "detail": "Refreshes .debug-sandbox/ from testdata/ so the launch.json debug configurations always start from a clean, known state.", "type": "shell", "options": { "cwd": "${workspaceFolder}" diff --git a/Makefile b/Makefile index fc5f1a2..380fe9d 100644 --- a/Makefile +++ b/Makefile @@ -33,8 +33,8 @@ clean: # tidy: Format code and clean up dependencies tidy: - cd src && go fmt ./... - cd src && go mod tidy + go fmt ./... + go mod tidy # install: Install the binary to the user's bin directory install: build diff --git a/README.md b/README.md index 087f6a8..56ebe6e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # BedrockHelper [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) -[![Go version](https://img.shields.io/github/go-mod/go-version/end2endzone/BedrockHelper?filename=src%2Fgo.mod)](src/go.mod) +[![Go version](https://img.shields.io/github/go-mod/go-version/end2endzone/BedrockHelper?filename=go.mod)](go.mod) [![Github Releases](https://img.shields.io/github/release/end2endzone/BedrockHelper.svg)](https://github.com/end2endzone/BedrockHelper/releases) `bedrock_helper` is a command line tool for installing, uninstalling and inspecting Minecraft Bedrock Edition add-on packs (`.mcaddon` / `.mcpack`) on a Minecraft Bedrock Dedicated Server (BDS). @@ -100,7 +100,7 @@ Invoke-WebRequest -Uri $url -OutFile "bedrock_helper.exe" Prerequisites: -- [Go](https://go.dev/dl/). Minimum version required is [![Go version](https://img.shields.io/github/go-mod/go-version/end2endzone/BedrockHelper?filename=src%2Fgo.mod)](src/go.mod). +- [Go](https://go.dev/dl/). Minimum version required is [![Go version](https://img.shields.io/github/go-mod/go-version/end2endzone/BedrockHelper?filename=go.mod)](go.mod). - *Git* @@ -108,8 +108,8 @@ Commands: ```console git clone https://github.com/end2endzone/BedrockHelper.git -cd BedrockHelper/src -go build -o bedrock_helper ./cmd/bedrock_helper +cd BedrockHelper +go build -o bin/bedrock_helper ./cmd/bedrock_helper ``` This produces a single `bedrock_helper` (or `bedrock_helper.exe` on Windows) executable with no runtime dependencies. Copy it anywhere on your `PATH`. @@ -274,7 +274,7 @@ Windows (PowerShell or Command Prompt): .\ci\windows\test.bat ``` -The tests use [testify](https://github.com/stretchr/testify)'s `assert`/`require` packages and a set of fixture add-ons and fake server directories under `src/testdata/`, so they don't touch a real Minecraft installation. +The tests use [testify](https://github.com/stretchr/testify)'s `assert`/`require` packages and a set of fixture add-ons and fake server directories under `testdata/`, so they don't touch a real Minecraft installation. ### Debugging in VS Code @@ -289,7 +289,7 @@ The tests use [testify](https://github.com/stretchr/testify)'s `assert`/`require * `--install-all` * `--uninstall-all` -Configurations that install or uninstall packs run against a disposable copy of `src/testdata` under `.debug-sandbox/` (refreshed automatically before every run by the `debug: reset sandbox` task), so debugging never modifies the checked-in test fixtures. +Configurations that install or uninstall packs run against a disposable copy of `testdata` under `.debug-sandbox/` (refreshed automatically before every run by the `debug: reset sandbox` task), so debugging never modifies the checked-in test fixtures. ## Platform support diff --git a/ci/linux/build-debug-sandbox.sh b/ci/linux/build-debug-sandbox.sh index 5d1c748..174adc7 100755 --- a/ci/linux/build-debug-sandbox.sh +++ b/ci/linux/build-debug-sandbox.sh @@ -8,11 +8,11 @@ cd $PROJECTROOT rm -rf .debug-sandbox mkdir -p .debug-sandbox -cp -r src/testdata .debug-sandbox -cp src/testdata/addons/foobar.mcaddon .debug-sandbox/testdata/servers/server_with_multiple_packs/foobar.mcaddon +cp -r testdata .debug-sandbox +cp testdata/addons/foobar.mcaddon .debug-sandbox/testdata/servers/server_with_multiple_packs/foobar.mcaddon # Testing installing multiple addon at once -cp -r src/testdata/servers/server_empty .debug-sandbox/testdata/servers/server_with_uninstalled_addons -cp -r src/testdata/addons .debug-sandbox/testdata/servers/server_with_uninstalled_addons/my-addons-collection +cp -r testdata/servers/server_empty .debug-sandbox/testdata/servers/server_with_uninstalled_addons +cp -r testdata/addons .debug-sandbox/testdata/servers/server_with_uninstalled_addons/my-addons-collection echo "Sandbox ready!" diff --git a/ci/linux/build.sh b/ci/linux/build.sh index c4b9bef..ea2b8ef 100755 --- a/ci/linux/build.sh +++ b/ci/linux/build.sh @@ -4,7 +4,7 @@ set -e # Get the projet's root directory PROJECTROOT=$(cd "$(dirname "$0")/../.." && pwd) -cd $PROJECTROOT/src +cd $PROJECTROOT VERSION=$(cat $PROJECTROOT/VERSION) COMMIT=$(git rev-parse --short HEAD) diff --git a/ci/linux/test.sh b/ci/linux/test.sh index c4dbad7..d7b951f 100755 --- a/ci/linux/test.sh +++ b/ci/linux/test.sh @@ -4,7 +4,7 @@ set -e # Get the projet's root directory PROJECTROOT=$(cd "$(dirname "$0")/../.." && pwd) -cd $PROJECTROOT/src +cd $PROJECTROOT # go test -v ./... gotestsum --format github-actions --junitfile ../test-report.xml diff --git a/ci/windows/build-debug-sandbox.ps1 b/ci/windows/build-debug-sandbox.ps1 index 9127bc8..625c2d3 100644 --- a/ci/windows/build-debug-sandbox.ps1 +++ b/ci/windows/build-debug-sandbox.ps1 @@ -7,11 +7,11 @@ Set-Location $ProjectRoot if (Test-Path .debug-sandbox) { Remove-Item -Recurse -Force .debug-sandbox } New-Item -ItemType Directory -Path .debug-sandbox | Out-Null -Copy-Item -Recurse src/testdata .debug-sandbox/testdata -Copy-Item src/testdata/addons/foobar.mcaddon ".debug-sandbox/testdata/servers/server_with_multiple_packs/foobar.mcaddon" +Copy-Item -Recurse testdata .debug-sandbox/testdata +Copy-Item testdata/addons/foobar.mcaddon ".debug-sandbox/testdata/servers/server_with_multiple_packs/foobar.mcaddon" # Testing installing multiple addon at once -Copy-Item -Recurse src/testdata/servers/server_empty .debug-sandbox/testdata/servers/server_with_uninstalled_addons -Copy-Item -Recurse src/testdata/addons .debug-sandbox/testdata/servers/server_with_uninstalled_addons/my-addons-collection +Copy-Item -Recurse testdata/servers/server_empty .debug-sandbox/testdata/servers/server_with_uninstalled_addons +Copy-Item -Recurse testdata/addons .debug-sandbox/testdata/servers/server_with_uninstalled_addons/my-addons-collection Write-Host "Sandbox ready!" diff --git a/ci/windows/build.ps1 b/ci/windows/build.ps1 index 0d7cd74..fdb1d58 100644 --- a/ci/windows/build.ps1 +++ b/ci/windows/build.ps1 @@ -4,7 +4,7 @@ $ErrorActionPreference = "Stop" $ProjectRoot = "$PSScriptRoot/../.." Push-Location -Set-Location $ProjectRoot/src +Set-Location $ProjectRoot $Version = (Get-Content $ProjectRoot\VERSION).Trim() $Commit = (git rev-parse --short HEAD).Trim() diff --git a/ci/windows/test.ps1 b/ci/windows/test.ps1 index 53bc9da..d14453c 100644 --- a/ci/windows/test.ps1 +++ b/ci/windows/test.ps1 @@ -3,7 +3,7 @@ $ErrorActionPreference = "Stop" # Get the projet's root directory $ProjectRoot = "$PSScriptRoot/../.." -Set-Location $ProjectRoot/src +Set-Location $ProjectRoot # go test -v ./... gotestsum --format github-actions --junitfile ..\test-report.xml From 78d3cf8464f2b90d90c8796fe1c3613d2d299d7b Mon Sep 17 00:00:00 2001 From: Antoine Beauchamp Date: Sat, 15 Aug 2026 08:14:25 -0400 Subject: [PATCH 06/11] Changed module from `bedrock_helper` to `github.com/end2endzone/BedrockHelper` to match the repository url. --- TODO.txt | 1 - cmd/bedrock_helper/main.go | 2 +- go.mod | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/TODO.txt b/TODO.txt index 95d748e..14f90e5 100644 --- a/TODO.txt +++ b/TODO.txt @@ -1,2 +1 @@ -- Rename module from module bedrock_helper and instead it should match the repo's import path: `go mod init github.com/your-username/reponame`. - Support command such as `go install github.com/your-username/my-repo/cmd/my-app@latest` diff --git a/cmd/bedrock_helper/main.go b/cmd/bedrock_helper/main.go index 9b2bbaf..388b113 100644 --- a/cmd/bedrock_helper/main.go +++ b/cmd/bedrock_helper/main.go @@ -8,7 +8,7 @@ import ( "strings" "text/tabwriter" - lib "bedrock_helper/minecraftbedrock" + lib "github.com/end2endzone/BedrockHelper/minecraftbedrock" ) // Config holds all the command-line argument values diff --git a/go.mod b/go.mod index fb5da53..7a95d0d 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module bedrock_helper +module github.com/end2endzone/BedrockHelper go 1.26 From de3798c09c084dc740ee1b7df13596e60a84d5c3 Mon Sep 17 00:00:00 2001 From: Antoine Beauchamp Date: Sat, 15 Aug 2026 09:14:15 -0400 Subject: [PATCH 07/11] Updated README with go install command. --- README.md | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++--- TODO.txt | 1 - 2 files changed, 50 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 56ebe6e..cd754fb 100644 --- a/README.md +++ b/README.md @@ -63,11 +63,14 @@ This is tedious, error-prone, and hard to automate. `bedrock_helper` does all of ## Installation +### Download pre-build binaries from github.com + You can install *BedrockHelper* by downloading the right binary from its [latest release page](https://github.com/end2endzone/BedrockHelper/releases/latest/). There are binaries for *Linux*, *macOS* and *Windows*. Binaries for all major operating systems are also available for ***AMD64*** and ***ARM64*** cpu architectures. You can also install with a command such as the following: + #### Linux / macOS: ```bash @@ -96,15 +99,56 @@ Invoke-WebRequest -Uri $url -OutFile "bedrock_helper.exe" ``` -### Build from source +### Build via *go install* command + +BedrockHelper can be installed cia `go install` command: + +``` +go install github.com/end2endzone/BedrockHelper/cmd/bedrock_helper@latest +``` + +This will install bedrock_helper executable the bin directory of your GOPATH directory. The get the path of your Go bin directory, you can run `go env GOPATH`. The `bin` directory will be located under the given directory. + +For example: +* `$HOME/go/bin/bedrock_helper` (linux) +* `%USERPROFILE%\go\bin\bedrock_helper.exe` (Windows) + +If `GOBIN` environment variable is set: the binary goes into `$GOBIN` (or `$env:GOBIN`, `%GOBIN%`). + + +#### Update your *PATH* + +After installation, if typing `bedrock_helper` (or `bedrock_helper.exe`) returns `command not found`, your system's `PATH` environment variable does not include the Go binary directory yet. + +On Linux / macOS: + +Add `$(go env GOPATH)/bin` to your `~/.bashrc`, `~/.zshrc`, or `~/.bash_profile`: + +```bash +export PATH=$PATH:$(go env GOPATH)/bin +``` + +Then reload your shell: `source ~/.bashrc` (or open a new terminal window). + +On Windows (PowerShell): + +Run this command to temporarily add Go binary directory to your current session: + +```powershell +$env:Path += ";$env:USERPROFILE\go\bin" +``` + +or add `%USERPROFILE%\go\bin` to your `Path` environment variable. + + +### Build manually from source Prerequisites: - [Go](https://go.dev/dl/). Minimum version required is [![Go version](https://img.shields.io/github/go-mod/go-version/end2endzone/BedrockHelper?filename=go.mod)](go.mod). - *Git* - -Commands: +You can also manually clone the repo and build the application: ```console git clone https://github.com/end2endzone/BedrockHelper.git @@ -143,6 +187,8 @@ Windows (PowerShell or Command Prompt): When building on a CI/CD server, the output file name is changed to `bedrock_helper-{os}-{cpuarch}`. For example `bedrock_helper-darwin-amd64` or `bedrock_helper-windows-amd64.exe`, etc. `CI=true` can be set beforehand to simulate building on a CI/CD server. + + ## Usage ``` @@ -173,6 +219,7 @@ Only one command may be specified per invocation. | `--version` | Show the product version. | | `--help` | Show the usage message. | + ### Example - installing an add-on ```console diff --git a/TODO.txt b/TODO.txt index 14f90e5..e69de29 100644 --- a/TODO.txt +++ b/TODO.txt @@ -1 +0,0 @@ -- Support command such as `go install github.com/your-username/my-repo/cmd/my-app@latest` From 12c35f312a289770bea68a8b4ea493e94323d170 Mon Sep 17 00:00:00 2001 From: Antoine Beauchamp Date: Sat, 15 Aug 2026 11:26:34 -0400 Subject: [PATCH 08/11] Now extracting product version from `debug.ReadBuildInfo()` which is filled by Go toolchain and `go install` command. --- cmd/bedrock_helper/main.go | 2 +- cmd/bedrock_helper/version.go | 185 +++++++++++++++++++++++++++++++++- go.mod | 1 + go.sum | 2 + 4 files changed, 186 insertions(+), 4 deletions(-) diff --git a/cmd/bedrock_helper/main.go b/cmd/bedrock_helper/main.go index 388b113..6457363 100644 --- a/cmd/bedrock_helper/main.go +++ b/cmd/bedrock_helper/main.go @@ -35,7 +35,7 @@ func printHeader() { } func printVersion() { - fmt.Fprintf(os.Stdout, "Version %s.\n", GetProductVersion()) + fmt.Fprintf(os.Stdout, "Version %s.\n", GetProductVersionString()) } func reportArgumentParsingError(format string, args ...any) { diff --git a/cmd/bedrock_helper/version.go b/cmd/bedrock_helper/version.go index f6c9125..f31120e 100644 --- a/cmd/bedrock_helper/version.go +++ b/cmd/bedrock_helper/version.go @@ -1,6 +1,14 @@ package main -import "fmt" +import ( + "fmt" + "runtime/debug" + "strconv" + "strings" + "time" + + "golang.org/x/mod/semver" +) // These variables are populated at build time using -ldflags var ( @@ -15,7 +23,178 @@ type ProductVersion struct { BuildDate string } -func GetProductVersion() string { - msg := fmt.Sprintf("%s (%s) compiled on %s", Version, CommitHash, BuildDate) +// isNumberInRange validate that the given input str is a number in the range [min;max] +// Returns true when the input is in range. Returns false otherwise. +func isNumberInRange(str string, min int, max int) bool { + num, err := strconv.Atoi(str) + if err != nil { + // Parsing error + return false + } + + if num < min || num > max { + return false + } + return true +} + +// isTimeStamp detect if the given string is a timestamp. A timestamp is a string in format `YYYYMMDDhhmmss`. +// Returns true if the given input is a timestamp. Returns false otherwise. +func isTimeStamp(input string) bool { + if len(input) != 14 { + return false + } + + if input[0:2] != "20" { + // Not from 2000 era. + return false + } + + year := input[0:4] + month := input[4:6] + day := input[6:8] + hours := input[8:10] + minutes := input[10:12] + seconds := input[12:14] + + if !isNumberInRange(year, 2000, 2100) || + !isNumberInRange(month, 1, 12) || + !isNumberInRange(day, 1, 31) || + !isNumberInRange(hours, 1, 24) || + !isNumberInRange(minutes, 1, 59) || + !isNumberInRange(seconds, 1, 59) { + return false + } + return true +} + +// isGitHash detect if the given string is a git hash. +// Returns true if the given input is a git hash. Returns false otherwise. +func isGitHash(input string) bool { + for _, c := range input { + valid := (c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') + if !valid { + return false + } + } + return true +} + +// parseDateTimeAndGitHash parse a datetime and a git hash from the input string. +// Returns ok when the input string is a semantic prerelease string containing a datetime and a git hash. +// Returns !ok otherwise +func parseDateTimeAndGitHash(input string) (datetime string, gitcommit string, ok bool) { + // example: -20260815131415-de3798c09c08 + + // Remove leading `-` character + input = strings.TrimPrefix(input, "-") + + fields := strings.Split(input, "-") + if len(fields) != 2 { + return "", "", false + } + + // Check first field + if !isTimeStamp(fields[0]) { + return "", "", false + } + + // Check second field + if !isGitHash(fields[1]) { + return "", "", false + } + + return fields[0], fields[1], true +} + +// GetSemanticVersionFromDebugBuildInfo parses a go pseudo-version into a ProductVersion. +// A pseudo-version is a string in format "v1.2.3-20260815131415-de3798c09c08+dirty". +func parsePseudoVersion(input string) ProductVersion { + p := ProductVersion{} + + // semver.Canonical removes the "+dirty" and standardizes it + canonical := semver.Canonical(input) + + // Strip the leading "v" if you strictly want the digits and pre-release labels + canonical = strings.TrimPrefix(canonical, "v") + + p.Version = canonical + + // Can we extract datetime and githash from pre-release labels ? + prerelease := semver.Prerelease(input) + datetime, githash, ok := parseDateTimeAndGitHash(prerelease) + if ok { + p.Version = strings.ReplaceAll(canonical, prerelease, "") // remove pre-release string from canonical version + p.BuildDate = datetime[0:4] + "-" + datetime[4:6] + "-" + datetime[6:8] + p.CommitHash = githash + } + + return p +} + +func GetProductVersion() ProductVersion { + // Create a product version from local variables. + p := ProductVersion{ + Version: Version, + CommitHash: CommitHash, + BuildDate: BuildDate, + } + + // If the product version was set with the legacy `-ldflags` command line at build time + if p.Version != "0.0.0" { + return p + } + + // Try to parse values which are automatically embedded by Go toolchain + info, ok := debug.ReadBuildInfo() + if !ok { + // Can't do better + return p + } + + // Git Hash and Commit Date: Automatically embedded by Go toolchain + for _, setting := range info.Settings { + switch setting.Key { + case "vcs.revision": + p.CommitHash = setting.Value[0:11] + case "vcs.time": + p.BuildDate = setting.Value + + // Example value: `2026-08-15T13:14:15Z`. Try to truncate for keeping only the date + + // Parse the string directly into a time.Time object + buildTime, err := time.Parse(time.RFC3339, setting.Value) + if err != nil { + continue // keep p.BuildDate as is + } + + year, month, day := buildTime.Date() + p.BuildDate = fmt.Sprintf("%d-%02d-%02d", year, month, day) + } + } + + // Version: if installed via `go install` tagged release (for example `@v1.2.3`) + // Warning: version can default to `(devel)` if run locally or built without version flags. + // For example, if you run your app using `go run` . or compile it locally without tags, Go sets info.Main.Version to the string "(devel)". + if info.Main.Version != "" { + p.Version = info.Main.Version + } + + if p.Version == "(devel)" { + // Can't do better + return p + } + + // Assume info.Main.Version is in format `v1.2.3-20260815131415-de3798c09c08+dirty`. + pseudo := parsePseudoVersion(info.Main.Version) + p.Version = pseudo.Version + + return p +} + +func GetProductVersionString() string { + p := GetProductVersion() + + msg := fmt.Sprintf("%s (%s) compiled on %s", p.Version, p.CommitHash, p.BuildDate) return msg } diff --git a/go.mod b/go.mod index 7a95d0d..265256b 100644 --- a/go.mod +++ b/go.mod @@ -10,5 +10,6 @@ require github.com/tailscale/hujson v0.0.0-20260727124030-b80ff77dac4f require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect + golang.org/x/mod v0.40.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 4711527..9a72e9c 100644 --- a/go.sum +++ b/go.sum @@ -8,6 +8,8 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/tailscale/hujson v0.0.0-20260727124030-b80ff77dac4f h1:9hiVElpCmKzsBKQHkBqZ8LGzt82iLfM8egxr4sew+Ys= github.com/tailscale/hujson v0.0.0-20260727124030-b80ff77dac4f/go.mod h1:8/zr1Tv0+cKpVtGCEB/7YfRXr2TszsMxMXLaT8YuBgU= +golang.org/x/mod v0.40.0 h1:hUv+3cXcdRHz08UmSiOob7sadHig73uo5bkXxQ/tvUs= +golang.org/x/mod v0.40.0/go.mod h1:0/weTWkPWGBikyTWAX3dkjVztMmBA5hM0DH6BElSupE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= From a5338d167a656c52cb03b99c136425389a9c0670 Mon Sep 17 00:00:00 2001 From: Antoine Beauchamp Date: Sat, 15 Aug 2026 11:31:16 -0400 Subject: [PATCH 09/11] Fixed test-report.xml location. --- ci/linux/test.sh | 2 +- ci/windows/test.ps1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/linux/test.sh b/ci/linux/test.sh index d7b951f..5cdbe81 100755 --- a/ci/linux/test.sh +++ b/ci/linux/test.sh @@ -7,4 +7,4 @@ PROJECTROOT=$(cd "$(dirname "$0")/../.." && pwd) cd $PROJECTROOT # go test -v ./... -gotestsum --format github-actions --junitfile ../test-report.xml +gotestsum --format github-actions --junitfile test-report.xml diff --git a/ci/windows/test.ps1 b/ci/windows/test.ps1 index d14453c..f826ed8 100644 --- a/ci/windows/test.ps1 +++ b/ci/windows/test.ps1 @@ -6,4 +6,4 @@ $ProjectRoot = "$PSScriptRoot/../.." Set-Location $ProjectRoot # go test -v ./... -gotestsum --format github-actions --junitfile ..\test-report.xml +gotestsum --format github-actions --junitfile test-report.xml From dd24032faa468b0cc46a1370a7da0979078b3676 Mon Sep 17 00:00:00 2001 From: Antoine Beauchamp Date: Sat, 15 Aug 2026 11:36:31 -0400 Subject: [PATCH 10/11] Modified actions workflows to build on tag creation. --- .github/workflows/build_linux.yml | 3 +++ .github/workflows/build_macos.yml | 3 +++ .github/workflows/build_windows.yml | 3 +++ 3 files changed, 9 insertions(+) diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index 206967f..c269c5a 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -3,6 +3,9 @@ name: Linux on: push: branches: [ main ] + tags: + - 'v*' # Triggers on any tag starting with 'v' (e.g., v1.0.0) + - '*' # Triggers on any tag name pull_request: branches: [ main ] workflow_dispatch: diff --git a/.github/workflows/build_macos.yml b/.github/workflows/build_macos.yml index 8221719..f9756c2 100644 --- a/.github/workflows/build_macos.yml +++ b/.github/workflows/build_macos.yml @@ -3,6 +3,9 @@ name: macOS on: push: branches: [ main ] + tags: + - 'v*' # Triggers on any tag starting with 'v' (e.g., v1.0.0) + - '*' # Triggers on any tag name pull_request: branches: [ main ] workflow_dispatch: diff --git a/.github/workflows/build_windows.yml b/.github/workflows/build_windows.yml index 1aac968..35c322b 100644 --- a/.github/workflows/build_windows.yml +++ b/.github/workflows/build_windows.yml @@ -3,6 +3,9 @@ name: Windows on: push: branches: [ main ] + tags: + - 'v*' # Triggers on any tag starting with 'v' (e.g., v1.0.0) + - '*' # Triggers on any tag name pull_request: branches: [ main ] workflow_dispatch: From 59d17df96e17d653995c941c031bb9a1644b82fa Mon Sep 17 00:00:00 2001 From: Antoine Beauchamp Date: Sat, 15 Aug 2026 11:37:57 -0400 Subject: [PATCH 11/11] Removed code that was injecting version, githash and build date into product version using `-ldflags`. Not required anymore now that `debug.ReadBuildInfo()` is available. --- ci/linux/build.sh | 6 +----- ci/windows/build.ps1 | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/ci/linux/build.sh b/ci/linux/build.sh index ea2b8ef..8098bec 100755 --- a/ci/linux/build.sh +++ b/ci/linux/build.sh @@ -6,10 +6,6 @@ PROJECTROOT=$(cd "$(dirname "$0")/../.." && pwd) cd $PROJECTROOT -VERSION=$(cat $PROJECTROOT/VERSION) -COMMIT=$(git rev-parse --short HEAD) -DATE=$(date +%F) - # GOOS if [[ -n "${GOOS}" ]]; then echo "GOOS is set to: $GOOS" @@ -42,6 +38,6 @@ PKG="main" echo "Building $(basename "$TARGET") version $VERSION..." # Run build from the root, pointing to the main package directory -go build -ldflags "-X '${PKG}.Version=${VERSION}' -X '${PKG}.CommitHash=${COMMIT}' -X '${PKG}.BuildDate=${DATE}'" -o $TARGET ./cmd/bedrock_helper +go build -o $TARGET ./cmd/bedrock_helper echo "Build complete!" diff --git a/ci/windows/build.ps1 b/ci/windows/build.ps1 index fdb1d58..6c7d355 100644 --- a/ci/windows/build.ps1 +++ b/ci/windows/build.ps1 @@ -6,10 +6,6 @@ $ProjectRoot = "$PSScriptRoot/../.." Push-Location Set-Location $ProjectRoot -$Version = (Get-Content $ProjectRoot\VERSION).Trim() -$Commit = (git rev-parse --short HEAD).Trim() -$Date = (Get-Date).ToString("yyyy-MM-dd") - # GOOS if (-not [string]::IsNullOrEmpty($env:GOOS)) { Write-Output "GOOS is set to: $env:GOOS" @@ -42,7 +38,7 @@ $Pkg = "main" Write-Host "Building $(Split-Path -Leaf $Target) version $Version..." # Run build from the root, pointing to the main package directory -go build -ldflags "-X '$Pkg.Version=$Version' -X '$Pkg.CommitHash=$Commit' -X '$Pkg.BuildDate=$Date'" -o $Target ./cmd/bedrock_helper +go build -o $Target ./cmd/bedrock_helper Write-Host "Build complete!"