Skip to content
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

#6265 Target Management #6364

Open
wants to merge 56 commits into
base: master
Choose a base branch
from

Conversation

ahmedyarub
Copy link
Contributor

Add "Add Directory" button to the project view
Add directory toggle checkboxes to the project view

Checklist

  • I have filed an issue about this change and discussed potential changes with the maintainers.
  • I have received the approval from the maintainers to make this change.
  • This is not a stylistic, refactoring, or cleanup change.

Please note that the maintainers will not be reviewing this change until all checkboxes are ticked. See
the Contributions section in the README for more
details.

Discussion thread for this change

Issue number: 6265

Description of this change

Untitled Project

Add directory and management buttons to the project-view file. Note that this is the first part of a series of features and enhancements that target the hardships of navigating large repos using Bazel.

Add "Add Directory" button to the project view
Add directory toggle checkboxes to the project view
Add target toggle checkboxes to the project view
@github-actions github-actions bot added product: CLion CLion plugin product: IntelliJ IntelliJ plugin product: GoLand GoLand plugin awaiting-review Awaiting review from Bazel team on PRs labels Apr 4, 2024
Copy link
Contributor

@JamyDev JamyDev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some very minor nits

@ahmedyarub
Copy link
Contributor Author

Some very minor nits

Thank you @JamyDev. I think that now you'd need to accept the CLA otherwise the PR might not be mergeable :/ .

@ahmedyarub ahmedyarub force-pushed the ay/target_management branch 2 times, most recently from 9d24c62 to b4064ef Compare April 4, 2024 21:43
@tpasternak tpasternak linked an issue Apr 5, 2024 that may be closed by this pull request
Copy link
Collaborator

@tpasternak tpasternak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, thank you for the contribution. I've noticed a few issues:

  1. The behavior of the checkbox appears unpredictable when there are duplicates in the list (refer to the video).
  2. The "Project" tool window on the left-hand side updates with each click, but its behavior is also unpredictable (refer to the video).
  3. The case when there are two separate "directories" sections is not covered at all (same for targets)
  4. The + (add directory) button is barely useful. It's still more convenient to add a folder directly, as you get completions there. I would suggest removing it for now and revisiting this feature later.
  5. Please update copyright year
checkboxes.mov

@ahmedyarub
Copy link
Contributor Author

Hi, thank you for the contribution. I've noticed a few issues:

  1. The behavior of the checkbox appears unpredictable when there are duplicates in the list (refer to the video).
  2. The "Project" tool window on the left-hand side updates with each click, but its behavior is also unpredictable (refer to the video).
  3. The case when there are two separate "directories" sections is not covered at all (same for targets)
  4. The + (add directory) button is barely useful. It's still more convenient to add a folder directly, as you get completions there. I would suggest removing it for now and revisiting this feature later.
  5. Please update copyright year
  1. I'll test and fix that today. But are duplicate directories allowed?
  2. What do you mean by "unpredictable" here exactly? And which video are you referring to exactly? The one I uploaded?
  3. That I'll fix but I did notice that the plugin casually picks up "the last directories tag" so I thought that I would do the same. I'll still fix it not a big deal really.
  4. I'll put it behind an experiment that is disabled by default. This button will have a much larger role later as I mentioned in the issue. But for now let's hide it for everybody else, yea.
  5. We changed it to 2024 yesterday. Should I change that?

@tpasternak
Copy link
Collaborator

oh, regarding 1 and 2 - I just forgot to upload the video, please see the message again #6364 (review)

@ahmedyarub
Copy link
Contributor Author

@tpasternak is my version of the plugin being used here? I can't see any checkboxes.

@tpasternak
Copy link
Collaborator

oh, my fault, this was supposed to be uploaded to a different PR xd

@ahmedyarub
Copy link
Contributor Author

oh, my fault, this was supposed to be uploaded to a different PR xd

Happy Friday 🍺

@tpasternak
Copy link
Collaborator

Now it's the right one

@ahmedyarub
Copy link
Contributor Author

OK then regarding 2: it looks like you have enabled a directory/target that hasn't been synchronized before, right? I have already considered that case and I was thinking of adding a notification in a future version tell the user that some of enabled/added targets are still not synched. The notification would be just a floating button just like that Maven refresh one if you have seen it before. What do you think?
In fact, I was considering implementing that as a part of the (Partially sync only the un-synced targets) feature.
My questions 1 and 5 still stand.

@ahmedyarub
Copy link
Contributor Author

@tpasternak fixed all the points above. Note that this PR now depends on the one that adds line numbers.

Ahmed Yarub Hani Al Nuaimi and others added 25 commits April 22, 2024 21:08
Handle targets with colons
…ns/DirectorySection.java

Co-authored-by: Borja Lorente <[email protected]>
…ns/AutomaticallyDeriveTargetsSection.java

Co-authored-by: Borja Lorente <[email protected]>
Remove line calculation from print() methods
Remove line calculation from print() methods
Remove redundant method
Remove redundant method
Readd required method
Update comment
Update comment
…ay/target_management

# Conflicts:
#	base/src/com/google/idea/blaze/base/projectview/section/ListSection.java
@ahmedyarub
Copy link
Contributor Author

@tpasternak rebased and ready for review 😄

@ahmedyarub
Copy link
Contributor Author

Looks like the CLion test failed due to an unrelated HTTP error 😅

@ahmedyarub
Copy link
Contributor Author

Hi @tpasternak. Is there any chance for this to be merged?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting-review Awaiting review from Bazel team on PRs product: CLion CLion plugin product: GoLand GoLand plugin product: IntelliJ IntelliJ plugin
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Target Manager
5 participants