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

Keep GUI class files hygienic #4390

Merged

Conversation

kwvanderlinde
Copy link
Collaborator

@kwvanderlinde kwvanderlinde commented Nov 10, 2023

Identify the Bug or Feature request

Implements #4389

Description of the Change

The key changes are:

  1. compileJava now outputs .class files to a separate directory so that instrumented and uninstrumented files are kept separate.
  2. instrumentForms is now a task that syncs the .class files from compileJava over to the final destination, then instruments the files. It also won't run if compileJava is up-to-date.

The existing guidesigner plugin was not capable of this, so it has been removed in favour of doing it ourselves.

These changes allowed removal of deleteUiClasses in favour of standard Gradle task dependencies.

Possible Drawbacks

There shouldn't be any, though there could still be a (shorter) window of time where a new build can influence an existing instance if built from a changed source set.

Documentation Notes

N/A

Release Notes

  • Changed the gradle build w.r.t. GUIs to permit multple concurrent runs and faster development builds.

This change is Reviewable

The new approach is as follows:
- `compileJava` outputs to a separate directory, so that instrumented and uninstrumented class files are not mixed.
- `instrumentForms` syncs the `compileJava` output to the final output directory, then performs instrumentation there.
  - This task only runs if `compileJava` regenerated any files.
- No more defensive deletion of `.class` files via `deleteUiClasses` task.
@cwisniew cwisniew added this pull request to the merge queue Nov 10, 2023
Merged via the queue into RPTools:develop with commit f31b3b3 Nov 10, 2023
4 checks passed
@kwvanderlinde kwvanderlinde deleted the refactor/4389-gui-class-file-hygiene branch November 10, 2023 17:36
@cwisniew cwisniew added the code-maintenance Adding/editing javadocs, unit tests, formatting. label Mar 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code-maintenance Adding/editing javadocs, unit tests, formatting.
Projects
Development

Successfully merging this pull request may close these issues.

None yet

3 participants