-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added possibility to specify platform for dev command #3245
Conversation
This update fixes a previously broken loop which causes build to not build properly
Here we update parseTargets func to grab the parsed platform and arch and parse them back up instead of validating supported platforms here as that is already done elsewhere.
Warning Rate Limit Exceeded@PylotLight has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 28 minutes and 15 seconds before requesting another review. How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. WalkthroughThe recent update introduces a Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
I already have this changelog item, so not sure if we just update that or not add a changelog for this bug fix of that PR.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 2
Configuration used: CodeRabbit UI
Files selected for processing (2)
- v2/cmd/wails/build.go (1 hunks)
- v2/cmd/wails/flags/common.go (1 hunks)
Additional comments: 1
v2/cmd/wails/build.go (1)
- 236-245: The logic for generating an NSIS installer when the
NSIS
flag is set appears correct. Ensure that the prerequisites for NSIS installer generation, such as the presence of NSIS software and correct configuration, are documented or checked within the code to avoid runtime errors.
v2/cmd/wails/flags/common.go
Outdated
func parseTargets(platforms string) TargetsCollection { | ||
platformList := strings.Split(platforms, ",") | ||
|
||
var targets []Target | ||
|
||
for _, platform := range platformList { | ||
parts := strings.Split(platform, "/") | ||
if len(parts) == 1 { | ||
architecture := defaultTarget().Arch | ||
targets = append(targets, Target{Platform: parts[0], Arch: architecture}) | ||
} else if len(parts) == 2 { | ||
targets = append(targets, Target{Platform: parts[0], Arch: parts[1]}) | ||
} | ||
} | ||
|
||
result = append(result, target) | ||
}) | ||
|
||
return result | ||
return targets |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The refactoring of parseTargets
improves readability and maintainability. However, consider handling unexpected formats more robustly, such as entries with more than one '/' character, which could lead to incorrect parsing without any error or warning.
v2/cmd/wails/build.go
Outdated
if !f.DryRun { | ||
// Start Time | ||
start := time.Now() | ||
|
||
compiledBinary, err := build.Build(buildOptions) | ||
if err != nil { | ||
pterm.Error.Println(err.Error()) | ||
return err | ||
} | ||
|
||
buildOptions.IgnoreFrontend = true | ||
buildOptions.CleanBinDirectory = false | ||
|
||
// Output stats | ||
buildOptions.Logger.Println(fmt.Sprintf("Built '%s' in %s.\n", compiledBinary, time.Since(start).Round(time.Millisecond).String())) | ||
|
||
outputBinaries[buildOptions.Platform+"/"+buildOptions.Arch] = compiledBinary | ||
} else { | ||
pterm.Info.Println("Dry run: skipped build.") | ||
} | ||
|
||
buildOptions.IgnoreFrontend = true | ||
buildOptions.CleanBinDirectory = false | ||
|
||
// Output stats | ||
buildOptions.Logger.Println(fmt.Sprintf("Built '%s' in %s.\n", compiledBinary, time.Since(start).Round(time.Millisecond).String())) | ||
|
||
outputBinaries[buildOptions.Platform+"/"+buildOptions.Arch] = compiledBinary | ||
} else { | ||
pterm.Info.Println("Dry run: skipped build.") | ||
} | ||
|
||
if f.DryRun { | ||
return nil | ||
} | ||
|
||
if f.NSIS { | ||
amd64Binary := outputBinaries["windows/amd64"] | ||
arm64Binary := outputBinaries["windows/arm64"] | ||
if amd64Binary == "" && arm64Binary == "" { | ||
return fmt.Errorf("cannot build nsis installer - no windows targets") | ||
|
||
if f.DryRun { | ||
return nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The implementation of the DryRun
flag correctly skips the build process when set. However, consider moving the check for DryRun
to an earlier stage in the function to avoid unnecessary processing before deciding not to perform the build.
Merge master updates
Revert "Merge master updates"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files selected for processing (2)
- v2/cmd/wails/build.go (1 hunks)
- v2/cmd/wails/flags/common.go (1 hunks)
Files skipped from review as they are similar to previous changes (2)
- v2/cmd/wails/build.go
- v2/cmd/wails/flags/common.go
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration using
wails doctor
.Test Configuration
Please paste the output of
wails doctor
. If you are unable to run this command, please describe your environment in as much detail as possible.Checklist:
website/src/pages/changelog.mdx
with details of this PRSummary by CodeRabbit
DryRun
option in the build process, allowing users to simulate builds without executing them.