-
-
Notifications
You must be signed in to change notification settings - Fork 365
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
Incomplete deletion of old project not correctly idenfied #394
Comments
Hi @freakboy3742 - Can I work on this. I'm new to open source and I would be a great way for me to get involved. |
@rajat641 Absolutely! If you have any questions, or need any pointers, let us know! |
Hi @freakboy3742. I am new to open source. I briefly went through the beeware tutorial on briefcase. Can you provide some additional details like the code files to refer or prerequisites that might be required for this task? |
@nihit97natu Step one in any debugging task is to reproduce the problem. Use the details we have (listed in the ticket) to see if you can cause the same problem to occur on your own setup. Step two is to encode that mode of failure as a failing test case. Write an automated test (or tests) that represent the problem. This test will fail on the current codebase. Step three: make the test pass. In this case, the problem code will almost certainly be in the implementation of the create command ( |
Hi, I am new to open source. Can I contribute to this, please? |
Absolutely! We don't a strong formal process for "taking" a ticket - just drop a comment on the ticket you're planning to work on, and submit a PR; as long as it looks like you're making active progress on the issue, we'll discourage anyone else from working on the same ticket. |
Thanks @freakboy3742 Is there a chatroom for any open questions? |
@pratheekcr Yes: https://gitter.im/beeware/general is our chat room. |
Hello |
@proneon267 It's possible this may be macOS specific. I know that having a terminal session open in Linux won't prevent a directory being deleted. I'm not sure if there might be other conditions that could prevent a directory from being deleted (other than a direct permissions change, which shouldn't happen in the case of Briefcase, but could happen if someone gets creative in their build folder). I don't have enough experience with Windows to say for certain if the same problem could exist. |
It's probably most likely to happen on Windows, where you can't delete a file which a process has open. The Android Gradle daemon has a tendency to cause this situation. But if the original bug of ignoring the exception still exists, you should be able to reproduce it on any platform with any target, simply by changing one of the build subdirectories to be non-writable. |
On linux, if a user without having access to the folder tries to run the command then it correctly raises |
The original bug wasn't about how the exception is reported, but that "but the create command will continue". The command should not continue. |
Yes, it doesn't continue after the |
OK, if you can post some logs (generated by |
Sure, I'll post the logs after writing and testing the isolated cases. |
I tried to re-create the issue where the create command continues, even after encountering an error. I'm running Linux Ubuntu 22.04. I didn't encounter abnormal behavior: the issue is fixed on Linux. Can someone test on on Windows or Mac? Replication Steps
It appears that the re-create command did not continue after the error. Briefcase Logs
|
I tried to re-create the issue where the create command continues, even after encountering an error. I'm running Windows 11 Version 23H2 (OS Build 22631.3593). I didn't encounter abnormal behavior.
|
It stops after the error on macOS as well, so we can close the issue. |
Originally reported as a side effect of #300
If you have previously run
briefcase create
for a given app, you'll be warned, and prompted to delete the old app:Briefcase currently assumes that the app deletion is complete.
However, if something prevents the app from being deleted (e.g., an open terminal session, or the app being currently open, you will get an error:
but the create command will continue, resulting in a state where the app hasn't been recreated.
This edge case needs to be caught and corrected - we should check that the deletion completed without error before creating the new app.
The text was updated successfully, but these errors were encountered: