Info export#7319
Conversation
… GUI for all objects will return the INFO.DESC value if it exists, otherwise the normal DESC value.
|
@mertonmonk you did a great job, but in case if you want to contribute more, please execute |
Vest
left a comment
There was a problem hiding this comment.
Please answer to my question, because I have to correct your code.
| { | ||
| String mString = aPC.parseSpellString(selectedCSpell, aPC.getDescription(aSpell)); | ||
| String mString = aPC.getInfoToken(".INFO.DESC", aSpell); | ||
| if (mString.equals(".INFO.DESC")) |
There was a problem hiding this comment.
@mertonmonk
CheckstyleMain doesn't allow IFs without curly brackets, because the code might be misleading. Should append be within IF, or not?
What variant you meant?

or

thanks
There was a problem hiding this comment.
The append should be outside of the if statement so it appends mString whether it was re-defined within the if statement or not.
There was a problem hiding this comment.
Thanks for pointing out the gradlew target. It's been quite a while since I did much coding for PCGen, so there is a lot of new code and I'm not particularly familiar with gradle. I wish I had the time and energy to pull out all the interfaces - I think code should be simple so it's easier for newer developers to understand.
…n``` Few recent pull requests broke the styling: PCGen#7319 Signed-off-by: Vest <Vest@users.noreply.github.com>
…n``` Few recent pull requests broke the styling: PCGen#7319 Signed-off-by: Vest <Vest@users.noreply.github.com>
…n``` Few recent pull requests broke the styling: PCGen#7319 Signed-off-by: Vest <Vest@users.noreply.github.com>
…n``` Few recent pull requests broke the styling: PCGen#7319 Signed-off-by: Vest <Vest@users.noreply.github.com>
* Fix Choose for Wind Dance Martial Arts Style * Minor fix for Variant Tiefling Ability * Allow 1-hander slashing weapons to qualify for Slashing Grace (Falcata, Khopesh, and Temple Sword) * Remove illegal ’ and convert to proper ' from PRECAMPAIGN tag. * Fixed integration tests related to Startfinder (#6890) * pcGenGUISFmechanicTest: updated sf_mechanic.xml to fix the integration test. The change is related to the commit 765bb11 * Partially reverted the commit ba9759c, because WeakReference lost values for CSKILL object. This is a regression. It is possible, that either SoftReference should be used, or a strong reference. Fixed: pcGenGUISFmechanicTest - after the bug with CSKILL is fixed Fixed: pcGenGUISFsoldierTest - after the bug with CSKILL is fixed * Fix Data Size issues * Fix Orphaned File error * Create stub for Blood of the Ancient - removes an orphan issue and can't find campaign via PRECAMPAIGN issue * DATA-4325 Typo in Inner Sea Races * Fixed a bug, when the OutputPanel couldn't show the file chooser dialog, because the underlying code works in Swing threads only. Now the entire content of the panel is running in JavaFX thread. (#6896) Removed few empty lines. * Bump org.springframework:spring-beans from 6.0.10 to 6.0.11 (#6899) Bumps [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) from 6.0.10 to 6.0.11. - [Release notes](https://github.com/spring-projects/spring-framework/releases) - [Commits](spring-projects/spring-framework@v6.0.10...v6.0.11) --- updated-dependencies: - dependency-name: org.springframework:spring-beans dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.springframework:spring-web from 6.0.10 to 6.0.11 (#6898) Bumps [org.springframework:spring-web](https://github.com/spring-projects/spring-framework) from 6.0.10 to 6.0.11. - [Release notes](https://github.com/spring-projects/spring-framework/releases) - [Commits](spring-projects/spring-framework@v6.0.10...v6.0.11) --- updated-dependencies: - dependency-name: org.springframework:spring-web dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.springframework:spring-core from 6.0.10 to 6.0.11 (#6897) Bumps [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) from 6.0.10 to 6.0.11. - [Release notes](https://github.com/spring-projects/spring-framework/releases) - [Commits](spring-projects/spring-framework@v6.0.10...v6.0.11) --- updated-dependencies: - dependency-name: org.springframework:spring-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * gradle investigation * Newsource 424 (#6901) * Goldielocks has incorrect value displayed for darkvision in the ability. * NEWSOURCE-424 Starfinder Near Space request * Newsource 435 (#6900) * Goldielocks has incorrect value displayed for darkvision in the ability. * NEWSOURCE-435 Request for Vanguard (Path of Iron - Ascension Games) * Bump org.junit.jupiter:junit-jupiter-params from 5.9.3 to 5.10.0 (#6902) Bumps [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](junit-team/junit-framework@r5.9.3...r5.10.0) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-params dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.junit.platform:junit-platform-runner from 1.9.3 to 1.10.0 (#6906) Bumps [org.junit.platform:junit-platform-runner](https://github.com/junit-team/junit5) from 1.9.3 to 1.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/commits) --- updated-dependencies: - dependency-name: org.junit.platform:junit-platform-runner dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.junit.jupiter:junit-jupiter-api from 5.9.3 to 5.10.0 (#6905) Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](junit-team/junit-framework@r5.9.3...r5.10.0) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.junit.jupiter:junit-jupiter-engine from 5.9.3 to 5.10.0 (#6903) Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](junit-team/junit-framework@r5.9.3...r5.10.0) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-engine dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.junit.platform:junit-platform-launcher from 1.9.3 to 1.10.0 (#6904) Bumps [org.junit.platform:junit-platform-launcher](https://github.com/junit-team/junit5) from 1.9.3 to 1.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/commits) --- updated-dependencies: - dependency-name: org.junit.platform:junit-platform-launcher dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fixed #6901: fixed the Piazo - Near Space cover. (#6907) * Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0 (#6908) Bumps org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-lang3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump edu.sc.seis.launch4j from 3.0.3 to 3.0.4 (#6909) Bumps edu.sc.seis.launch4j from 3.0.3 to 3.0.4. --- updated-dependencies: - dependency-name: edu.sc.seis.launch4j dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump com.github.spotbugs from 5.0.14 to 5.1.0 (#6910) Bumps com.github.spotbugs from 5.0.14 to 5.1.0. --- updated-dependencies: - dependency-name: com.github.spotbugs dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump com.github.spotbugs from 5.1.0 to 5.1.1 Bumps com.github.spotbugs from 5.1.0 to 5.1.1. --- updated-dependencies: - dependency-name: com.github.spotbugs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Bump com.github.spotbugs from 5.1.1 to 5.1.2 (#6912) Bumps com.github.spotbugs from 5.1.1 to 5.1.2. --- updated-dependencies: - dependency-name: com.github.spotbugs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Spaces before tags; symbols we avoid; and outputsheet improvements * Bump com.github.spotbugs from 5.1.2 to 5.1.3 (#6913) Bumps com.github.spotbugs from 5.1.2 to 5.1.3. --- updated-dependencies: - dependency-name: com.github.spotbugs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.apache.xmlgraphics:fop from 2.8 to 2.9 (#6915) Bumps org.apache.xmlgraphics:fop from 2.8 to 2.9. --- updated-dependencies: - dependency-name: org.apache.xmlgraphics:fop dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix checkstyle warning * Added initial GH action support * Upgraded gradle wrapper to 8.11.1. * Added testing to gh-action. * First attempt to log data in test. It failed in GH actions. * Added the logging to all tests. * Added gradle cache to a github action setup-java. * Disabled logging, but added the test results upload. * Enabled "write" permissions for test results * Refactored TestHelper.java Added some logging. * Updated cache-dependency-path. * First attempt to cache build/classes and build/jre * Corrected a typo in gradle.yml * Try to clear the cache and fill it with values. * First step to remove NSIS from the distro; Removed explicit System.exit(0) in Main. It allows to enable "slowtest" that generates and compares XMLs. Marked SystemExitInterceptor as deprecated and removal=true. Since Java does not offer any alternative, we have to find a better solution. P.S. NSIS is planned to be removed to use jpackage only. * Performance optimization: the debugPrint (when called frequently) uses StackTrace to determine the logger name. This is expensive and replaced with an explicit logger creation. * Refactored Logging.java. * Upgraded gradle-wrapper from 8.11.1 to 8.12 * Remove .run/ from git repository, because it tracked by mistake in #7056 * Refactored several classes. The main goal was adding the Optional to methods that return null. In some cases, the null reference/result was not checked, but the code never failed, because it was not executed. There were no tests, that is why it was difficult to check, whether the refactoring was right :( * Corrected pf_Cleric test; 1. Corrected the typo in special properties (light crossbow); 2. Corrected maxdex for MAXDEX bonus; * Remove "public" and "abstract" for several interfaces (redundant) * Added more logging to PcgenFtlTestCase.java (it will help to determine the difference between "golden" and generated files). Trimmed lines in base.xml and base-xml.ftl template. * Trimmed different *.xml inputs. Corrected pf_Rogue.xml result: +1 reflex comes from Halfling Luch and +3 from his Cloak. * Updated build.gradle - disable security manager for all Test Gradle "actions" Created a "graceful exit" object + interceptor. It is supposed to replace System.Exit calls in different parts of the project; Updated reporting.gradle by increasing versions of some dependencies; Removed a DM_EXIT rule from spotbugs -> the calls of System.Exit must be replaced with GracefulExit. The decision to create a custom interceptor was taken based on the discussion from Reddit: https://www.reddit.com/r/java/comments/1fpxmfp/jep_486_permanently_disable_the_security_manager/ * Added JavaDoc to Exit* and GracefulExit classes. * Resolved warnings for Gradle 8.12: "Space-assignment syntax in Groovy DSL has been deprecated." * Moved GracefulExit from test to main (util). Replaced few System.exit with GracefulExit.exit calls. Refactored few methods to satisfy SonarQube warnings. * Refactored CommandLineArguments.java to avoid hidden System.exit calls. * Corrected failed int (slow) tests * Corrected a wrong assertion message * Removed SystemExitInterceptor.java, because it was deprecated; Refactored CommandLineArguments and its test. Increased the code coverage. * Added a checkstyle rule that prevents the project from System.exit usage outside GracefulExit. * Use the latest version of Freemarker template engine. * Resolved warnings from Gradle. * Resolved comments from Github PR. Moved a GUI-error message to the localization file. Formatted error messages * JaCoCo was added to github actions - now it shows the high-level code coverage my tests * Create a jpackage build. Signed-off-by: Vest <Vest@users.noreply.github.com> * First attempt to build releases for all OSes. Signed-off-by: Vest <Vest@users.noreply.github.com> * Changed the event to build a release conditionally. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update gradle-release.yml * Corrected the artifact name Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create releases Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create releases (v2) Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected the artifact creation. Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create one more release Signed-off-by: Vest <Vest@users.noreply.github.com> * Updated JDK from 21.0.5 to 21.0.6 Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected a build for Windows (at least). gradle jpackageImage Signed-off-by: Vest <Vest@users.noreply.github.com> * Added ubuntu-24-arm Signed-off-by: Vest <Vest@users.noreply.github.com> * Added a hotfix to repair linux-arm build. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 8.13 and fix output formatting in gradlew Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 8.14 Signed-off-by: Vest <Vest@users.noreply.github.com> * Removed jar-export-plugins from pluginbuild.xml Added the same task to plugins.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Appveyor config to adjust Gradle commands and formatting Removed the `buildNsis` task from the Gradle `test_script`, streamlining the build process. Additionally, fixed unnecessary trailing spaces in multiple sections for better formatting consistency. These changes simplify the CI process and improve readability. Signed-off-by: Vest <Vest@users.noreply.github.com> * Remove Ant-based build files for Gradle-only build system This commit deletes `build-gradle.xml` and `pluginbuild.xml` as they are no longer required. The transition to a Gradle-based build system eliminates dependency on Ant, simplifying the build process. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update properties and refine Gradle plugin Jar tasks Added a new warning message for remote list preferences in properties. Improved Gradle tasks to include all nested class files for export and bonus plugins, ensuring more comprehensive builds. Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor code style by removing unnecessary whitespace and updating method signatures in PCGenTaskExecutor and PluginLoader Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactored and changed files that didn't pass ```gradle checkstyleMain``` Few recent pull requests broke the styling: #7319 Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactored and changed files that didn't pass ```gradle checkstyleMain``` Few recent pull requests broke the styling: #7319 Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor PluginClassLoader Signed-off-by: Vest <Vest@users.noreply.github.com> * Add plugins.gradle to Gradle configuration for release and test workflows Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 9.0.0 and fix classpath configuration in wrapper scripts Signed-off-by: Vest <Vest@users.noreply.github.com> * Update JavaFX version to 21.0.8 and improve URIFactory error handling with new tests Signed-off-by: Vest <Vest@users.noreply.github.com> * Improve README formatting and grammar for clarity and consistency Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor test task configurations to use correct directory paths for test classes Signed-off-by: Vest <Vest@users.noreply.github.com> * Set name and description for code review agent Updated agent metadata with name and description. * Create Security Review Agent documentation Adds a new agent for security review of code. * Rename my-agent.md to my-code-review-agent.md * Changed PluginBuildTest, because the new plugins are built from corresponding .java files. The slow test has been reverted, because it was broken in old commits (DATA-4372) Signed-off-by: Vest <Vest@users.noreply.github.com> * Updated Java to 21.0.8 (mac aarch64) Gradle wrapper to 9.1.0 Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 9.2.0 and refactor dependency declarations to avoid Gradle's warnings. Such constructions will be deprecated in Gradle 10. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Java&JavaFX to 25.0.1 and JaCoCo to 0.8.14 versions in build.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Add native access flags for JavaFX modules in distribution.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor JavaFX resource loading by introducing PanelFromResource utility class Signed-off-by: Vest <Vest@users.noreply.github.com> * Reverted a part of #7462, that broke DescriptionTest. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update FXML files to use JavaFX 25.0.1 namespace Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected checkstyle findings Signed-off-by: Vest <Vest@users.noreply.github.com> * Added initial GH action support * Upgraded gradle wrapper to 8.11.1. * Added testing to gh-action. * First attempt to log data in test. It failed in GH actions. * Added the logging to all tests. * Added gradle cache to a github action setup-java. * Disabled logging, but added the test results upload. * Enabled "write" permissions for test results * Refactored TestHelper.java Added some logging. * Updated cache-dependency-path. * First attempt to cache build/classes and build/jre * Corrected a typo in gradle.yml * Try to clear the cache and fill it with values. * First step to remove NSIS from the distro; Removed explicit System.exit(0) in Main. It allows to enable "slowtest" that generates and compares XMLs. Marked SystemExitInterceptor as deprecated and removal=true. Since Java does not offer any alternative, we have to find a better solution. P.S. NSIS is planned to be removed to use jpackage only. * Performance optimization: the debugPrint (when called frequently) uses StackTrace to determine the logger name. This is expensive and replaced with an explicit logger creation. * Refactored Logging.java. * Upgraded gradle-wrapper from 8.11.1 to 8.12 * Remove .run/ from git repository, because it tracked by mistake in #7056 * Refactored several classes. The main goal was adding the Optional to methods that return null. In some cases, the null reference/result was not checked, but the code never failed, because it was not executed. There were no tests, that is why it was difficult to check, whether the refactoring was right :( * Updated PMD to 7.17 Added many rules to ruleset.xml Fixed few warnings Enabled config-cache for testing purposes. Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected pf_Cleric test; 1. Corrected the typo in special properties (light crossbow); 2. Corrected maxdex for MAXDEX bonus; * Remove "public" and "abstract" for several interfaces (redundant) * Added more logging to PcgenFtlTestCase.java (it will help to determine the difference between "golden" and generated files). Trimmed lines in base.xml and base-xml.ftl template. * Trimmed different *.xml inputs. Corrected pf_Rogue.xml result: +1 reflex comes from Halfling Luch and +3 from his Cloak. * Updated build.gradle - disable security manager for all Test Gradle "actions" Created a "graceful exit" object + interceptor. It is supposed to replace System.Exit calls in different parts of the project; Updated reporting.gradle by increasing versions of some dependencies; Removed a DM_EXIT rule from spotbugs -> the calls of System.Exit must be replaced with GracefulExit. The decision to create a custom interceptor was taken based on the discussion from Reddit: https://www.reddit.com/r/java/comments/1fpxmfp/jep_486_permanently_disable_the_security_manager/ * Added JavaDoc to Exit* and GracefulExit classes. * Resolved warnings for Gradle 8.12: "Space-assignment syntax in Groovy DSL has been deprecated." * Moved GracefulExit from test to main (util). Replaced few System.exit with GracefulExit.exit calls. Refactored few methods to satisfy SonarQube warnings. * Refactored CommandLineArguments.java to avoid hidden System.exit calls. * Corrected failed int (slow) tests * Corrected a wrong assertion message * Removed SystemExitInterceptor.java, because it was deprecated; Refactored CommandLineArguments and its test. Increased the code coverage. * Added a checkstyle rule that prevents the project from System.exit usage outside GracefulExit. * Use the latest version of Freemarker template engine. * Resolved warnings from Gradle. * Resolved comments from Github PR. Moved a GUI-error message to the localization file. Formatted error messages * JaCoCo was added to github actions - now it shows the high-level code coverage my tests * Create a jpackage build. Signed-off-by: Vest <Vest@users.noreply.github.com> * First attempt to build releases for all OSes. Signed-off-by: Vest <Vest@users.noreply.github.com> * Changed the event to build a release conditionally. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update gradle-release.yml * Corrected the artifact name Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create releases Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create releases (v2) Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected the artifact creation. Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create one more release Signed-off-by: Vest <Vest@users.noreply.github.com> * Updated JDK from 21.0.5 to 21.0.6 Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected a build for Windows (at least). gradle jpackageImage Signed-off-by: Vest <Vest@users.noreply.github.com> * Added ubuntu-24-arm Signed-off-by: Vest <Vest@users.noreply.github.com> * Added a hotfix to repair linux-arm build. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 8.13 and fix output formatting in gradlew Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 8.14 Signed-off-by: Vest <Vest@users.noreply.github.com> * Removed jar-export-plugins from pluginbuild.xml Added the same task to plugins.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Appveyor config to adjust Gradle commands and formatting Removed the `buildNsis` task from the Gradle `test_script`, streamlining the build process. Additionally, fixed unnecessary trailing spaces in multiple sections for better formatting consistency. These changes simplify the CI process and improve readability. Signed-off-by: Vest <Vest@users.noreply.github.com> * Remove Ant-based build files for Gradle-only build system This commit deletes `build-gradle.xml` and `pluginbuild.xml` as they are no longer required. The transition to a Gradle-based build system eliminates dependency on Ant, simplifying the build process. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update properties and refine Gradle plugin Jar tasks Added a new warning message for remote list preferences in properties. Improved Gradle tasks to include all nested class files for export and bonus plugins, ensuring more comprehensive builds. Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor code style by removing unnecessary whitespace and updating method signatures in PCGenTaskExecutor and PluginLoader Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactored and changed files that didn't pass ```gradle checkstyleMain``` Few recent pull requests broke the styling: #7319 Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactored and changed files that didn't pass ```gradle checkstyleMain``` Few recent pull requests broke the styling: #7319 Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor PluginClassLoader Signed-off-by: Vest <Vest@users.noreply.github.com> * Add plugins.gradle to Gradle configuration for release and test workflows Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 9.0.0 and fix classpath configuration in wrapper scripts Signed-off-by: Vest <Vest@users.noreply.github.com> * Update JavaFX version to 21.0.8 and improve URIFactory error handling with new tests Signed-off-by: Vest <Vest@users.noreply.github.com> * Improve README formatting and grammar for clarity and consistency Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor test task configurations to use correct directory paths for test classes Signed-off-by: Vest <Vest@users.noreply.github.com> * Changed PluginBuildTest, because the new plugins are built from corresponding .java files. The slow test has been reverted, because it was broken in old commits (DATA-4372) Signed-off-by: Vest <Vest@users.noreply.github.com> * Updated Java to 21.0.8 (mac aarch64) Gradle wrapper to 9.1.0 Signed-off-by: Vest <Vest@users.noreply.github.com> * DATA-4380 - 3.5e - Enable Jack Of All Trades to display 'Untrained' class skills * DATA-4379 - d20 modern, taking magical heritage, the 3 cantrips aren't selectable 6.08.00 rc10 * DATA-4381 - PF1e - Racial Heritage in Mythic not implemented * DATA-4381 - PF1e - Racial Heritage in Mythic not implemented * DATA-4383 PF1e Human Racial Heritage feat should only allow Humanoids; it currently allows any playable race * DATA-4384 Pf1e - Racial Heritage does not set RACESUBTYPE therefore all feats looking for a specific race do not qualify. Phase 1: Switch from "Racial Heritage ~ xxx" as a global to "Race ~ xxx" leaving Racial Heritage to correctly reference those qualifying for the Racial Heritage feat. * DATA-4384 Pf1e - Racial Heritage does not set RACESUBTYPE therefore all feats looking for a specific race do not qualify. Phase 2: Change PRERACE to PREFACT to simplify qualification as a Race and also clean up the RaceName%,SUBRACETYPE= vs RaceName,SUBRACETYPE= vs. RaceName% vs. RaceName entries. * Bump com.github.spotbugs from 6.4.2 to 6.4.4 (#7453) Bumps com.github.spotbugs from 6.4.2 to 6.4.4. --- updated-dependencies: - dependency-name: com.github.spotbugs dependency-version: 6.4.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.springframework:spring-beans from 6.2.11 to 6.2.12 (#7446) Bumps [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) from 6.2.11 to 6.2.12. - [Release notes](https://github.com/spring-projects/spring-framework/releases) - [Commits](spring-projects/spring-framework@v6.2.11...v6.2.12) --- updated-dependencies: - dependency-name: org.springframework:spring-beans dependency-version: 6.2.12 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump com.github.spotbugs:spotbugs-annotations from 4.9.6 to 4.9.8 (#7452) Bumps [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) from 4.9.6 to 4.9.8. - [Release notes](https://github.com/spotbugs/spotbugs/releases) - [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md) - [Commits](spotbugs/spotbugs@4.9.6...4.9.8) --- updated-dependencies: - dependency-name: com.github.spotbugs:spotbugs-annotations dependency-version: 4.9.8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * DATA-4385 Pf1e - Improve descriptions for some equipment modifiers to indicate they are conditional * 6.09.info (#7459) * support HASINFO and INFO tags * INFO tags are case insensitive * 6.09.info (#7462) * support HASINFO and INFO tags * INFO tags are case insensitive * INFO tag used explicitly rather than trying to override DESC tag * 6.09.info (#7463) * support HASINFO and INFO tags * INFO tags are case insensitive * INFO tag used explicitly rather than trying to override DESC tag * return an empty string if the INFO tag does not exist * 6.09.info (#7464) * support HASINFO and INFO tags * INFO tags are case insensitive * INFO tag used explicitly rather than trying to override DESC tag * return an empty string if the INFO tag does not exist * do not try INFO string for DESC tags unless specified * 6.09.info (#7465) * support HASINFO and INFO tags * INFO tags are case insensitive * INFO tag used explicitly rather than trying to override DESC tag * return an empty string if the INFO tag does not exist * do not try INFO string for DESC tags unless specified * checking for equality with a String * Update Gradle wrapper to version 9.2.0 and refactor dependency declarations to avoid Gradle's warnings. Such constructions will be deprecated in Gradle 10. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Java&JavaFX to 25.0.1 and JaCoCo to 0.8.14 versions in build.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Add native access flags for JavaFX modules in distribution.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor JavaFX resource loading by introducing PanelFromResource utility class Signed-off-by: Vest <Vest@users.noreply.github.com> * Reverted a part of #7462, that broke DescriptionTest. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update FXML files to use JavaFX 25.0.1 namespace Signed-off-by: Vest <Vest@users.noreply.github.com> * Fix remnant issues from PREFACT conversion with multiples lingering from PRERACE * Clean up * Fix Non-Monk getting Wisdom bonus. * Fix a bunch of minor formatting errors in pcc files * Some textual improvements and typo fixes. * Corrected checkstyle findings Signed-off-by: Vest <Vest@users.noreply.github.com> * Upgrade to Java 25 and fix lots of typos * Revert failing MULT:YES and fix var name in build script * Fix merge conflicts in GH actions * Disable configuration cache for now * Update dependencies * Now correctly creates images, also allows build to continue on finding PMD violations * Add LLM AGENT guidance * Update pcgen version to match what we are releasing next * Use previous way to release and apply to GH Actions * Fix { * Linter fixes --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Vest <Vest@users.noreply.github.com> Co-authored-by: LegacyKing <drew0500@yahoo.com> Co-authored-by: Vest <Vest@users.noreply.github.com> Co-authored-by: pokemonpasta <pokemonpasta1000@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: mertonmonk <33469335+mertonmonk@users.noreply.github.com> Co-authored-by: Cullen Walsh <ckwalsh@cullenwalsh.com> Co-authored-by: AtlasHackert <danielpharos@hotmail.com>
…ng to speedup builds (#7556) * Bump org.springframework:spring-core from 6.0.10 to 6.0.11 (#6897) Bumps [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) from 6.0.10 to 6.0.11. - [Release notes](https://github.com/spring-projects/spring-framework/releases) - [Commits](spring-projects/spring-framework@v6.0.10...v6.0.11) --- updated-dependencies: - dependency-name: org.springframework:spring-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * gradle investigation * Newsource 424 (#6901) * Goldielocks has incorrect value displayed for darkvision in the ability. * NEWSOURCE-424 Starfinder Near Space request * Newsource 435 (#6900) * Goldielocks has incorrect value displayed for darkvision in the ability. * NEWSOURCE-435 Request for Vanguard (Path of Iron - Ascension Games) * Bump org.junit.jupiter:junit-jupiter-params from 5.9.3 to 5.10.0 (#6902) Bumps [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](junit-team/junit-framework@r5.9.3...r5.10.0) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-params dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.junit.platform:junit-platform-runner from 1.9.3 to 1.10.0 (#6906) Bumps [org.junit.platform:junit-platform-runner](https://github.com/junit-team/junit5) from 1.9.3 to 1.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/commits) --- updated-dependencies: - dependency-name: org.junit.platform:junit-platform-runner dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.junit.jupiter:junit-jupiter-api from 5.9.3 to 5.10.0 (#6905) Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](junit-team/junit-framework@r5.9.3...r5.10.0) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.junit.jupiter:junit-jupiter-engine from 5.9.3 to 5.10.0 (#6903) Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](junit-team/junit-framework@r5.9.3...r5.10.0) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-engine dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.junit.platform:junit-platform-launcher from 1.9.3 to 1.10.0 (#6904) Bumps [org.junit.platform:junit-platform-launcher](https://github.com/junit-team/junit5) from 1.9.3 to 1.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/commits) --- updated-dependencies: - dependency-name: org.junit.platform:junit-platform-launcher dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fixed #6901: fixed the Piazo - Near Space cover. (#6907) * Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0 (#6908) Bumps org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-lang3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump edu.sc.seis.launch4j from 3.0.3 to 3.0.4 (#6909) Bumps edu.sc.seis.launch4j from 3.0.3 to 3.0.4. --- updated-dependencies: - dependency-name: edu.sc.seis.launch4j dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump com.github.spotbugs from 5.0.14 to 5.1.0 (#6910) Bumps com.github.spotbugs from 5.0.14 to 5.1.0. --- updated-dependencies: - dependency-name: com.github.spotbugs dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump com.github.spotbugs from 5.1.0 to 5.1.1 Bumps com.github.spotbugs from 5.1.0 to 5.1.1. --- updated-dependencies: - dependency-name: com.github.spotbugs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Bump com.github.spotbugs from 5.1.1 to 5.1.2 (#6912) Bumps com.github.spotbugs from 5.1.1 to 5.1.2. --- updated-dependencies: - dependency-name: com.github.spotbugs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Spaces before tags; symbols we avoid; and outputsheet improvements * Bump com.github.spotbugs from 5.1.2 to 5.1.3 (#6913) Bumps com.github.spotbugs from 5.1.2 to 5.1.3. --- updated-dependencies: - dependency-name: com.github.spotbugs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.apache.xmlgraphics:fop from 2.8 to 2.9 (#6915) Bumps org.apache.xmlgraphics:fop from 2.8 to 2.9. --- updated-dependencies: - dependency-name: org.apache.xmlgraphics:fop dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix checkstyle warning * Added initial GH action support * Upgraded gradle wrapper to 8.11.1. * Added testing to gh-action. * First attempt to log data in test. It failed in GH actions. * Added the logging to all tests. * Added gradle cache to a github action setup-java. * Disabled logging, but added the test results upload. * Enabled "write" permissions for test results * Refactored TestHelper.java Added some logging. * Updated cache-dependency-path. * First attempt to cache build/classes and build/jre * Corrected a typo in gradle.yml * Try to clear the cache and fill it with values. * First step to remove NSIS from the distro; Removed explicit System.exit(0) in Main. It allows to enable "slowtest" that generates and compares XMLs. Marked SystemExitInterceptor as deprecated and removal=true. Since Java does not offer any alternative, we have to find a better solution. P.S. NSIS is planned to be removed to use jpackage only. * Performance optimization: the debugPrint (when called frequently) uses StackTrace to determine the logger name. This is expensive and replaced with an explicit logger creation. * Refactored Logging.java. * Upgraded gradle-wrapper from 8.11.1 to 8.12 * Remove .run/ from git repository, because it tracked by mistake in #7056 * Refactored several classes. The main goal was adding the Optional to methods that return null. In some cases, the null reference/result was not checked, but the code never failed, because it was not executed. There were no tests, that is why it was difficult to check, whether the refactoring was right :( * Corrected pf_Cleric test; 1. Corrected the typo in special properties (light crossbow); 2. Corrected maxdex for MAXDEX bonus; * Remove "public" and "abstract" for several interfaces (redundant) * Added more logging to PcgenFtlTestCase.java (it will help to determine the difference between "golden" and generated files). Trimmed lines in base.xml and base-xml.ftl template. * Trimmed different *.xml inputs. Corrected pf_Rogue.xml result: +1 reflex comes from Halfling Luch and +3 from his Cloak. * Updated build.gradle - disable security manager for all Test Gradle "actions" Created a "graceful exit" object + interceptor. It is supposed to replace System.Exit calls in different parts of the project; Updated reporting.gradle by increasing versions of some dependencies; Removed a DM_EXIT rule from spotbugs -> the calls of System.Exit must be replaced with GracefulExit. The decision to create a custom interceptor was taken based on the discussion from Reddit: https://www.reddit.com/r/java/comments/1fpxmfp/jep_486_permanently_disable_the_security_manager/ * Added JavaDoc to Exit* and GracefulExit classes. * Resolved warnings for Gradle 8.12: "Space-assignment syntax in Groovy DSL has been deprecated." * Moved GracefulExit from test to main (util). Replaced few System.exit with GracefulExit.exit calls. Refactored few methods to satisfy SonarQube warnings. * Refactored CommandLineArguments.java to avoid hidden System.exit calls. * Corrected failed int (slow) tests * Corrected a wrong assertion message * Removed SystemExitInterceptor.java, because it was deprecated; Refactored CommandLineArguments and its test. Increased the code coverage. * Added a checkstyle rule that prevents the project from System.exit usage outside GracefulExit. * Use the latest version of Freemarker template engine. * Resolved warnings from Gradle. * Resolved comments from Github PR. Moved a GUI-error message to the localization file. Formatted error messages * JaCoCo was added to github actions - now it shows the high-level code coverage my tests * Create a jpackage build. Signed-off-by: Vest <Vest@users.noreply.github.com> * First attempt to build releases for all OSes. Signed-off-by: Vest <Vest@users.noreply.github.com> * Changed the event to build a release conditionally. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update gradle-release.yml * Corrected the artifact name Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create releases Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create releases (v2) Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected the artifact creation. Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create one more release Signed-off-by: Vest <Vest@users.noreply.github.com> * Updated JDK from 21.0.5 to 21.0.6 Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected a build for Windows (at least). gradle jpackageImage Signed-off-by: Vest <Vest@users.noreply.github.com> * Added ubuntu-24-arm Signed-off-by: Vest <Vest@users.noreply.github.com> * Added a hotfix to repair linux-arm build. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 8.13 and fix output formatting in gradlew Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 8.14 Signed-off-by: Vest <Vest@users.noreply.github.com> * Removed jar-export-plugins from pluginbuild.xml Added the same task to plugins.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Appveyor config to adjust Gradle commands and formatting Removed the `buildNsis` task from the Gradle `test_script`, streamlining the build process. Additionally, fixed unnecessary trailing spaces in multiple sections for better formatting consistency. These changes simplify the CI process and improve readability. Signed-off-by: Vest <Vest@users.noreply.github.com> * Remove Ant-based build files for Gradle-only build system This commit deletes `build-gradle.xml` and `pluginbuild.xml` as they are no longer required. The transition to a Gradle-based build system eliminates dependency on Ant, simplifying the build process. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update properties and refine Gradle plugin Jar tasks Added a new warning message for remote list preferences in properties. Improved Gradle tasks to include all nested class files for export and bonus plugins, ensuring more comprehensive builds. Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor code style by removing unnecessary whitespace and updating method signatures in PCGenTaskExecutor and PluginLoader Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactored and changed files that didn't pass ```gradle checkstyleMain``` Few recent pull requests broke the styling: #7319 Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactored and changed files that didn't pass ```gradle checkstyleMain``` Few recent pull requests broke the styling: #7319 Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor PluginClassLoader Signed-off-by: Vest <Vest@users.noreply.github.com> * Add plugins.gradle to Gradle configuration for release and test workflows Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 9.0.0 and fix classpath configuration in wrapper scripts Signed-off-by: Vest <Vest@users.noreply.github.com> * Update JavaFX version to 21.0.8 and improve URIFactory error handling with new tests Signed-off-by: Vest <Vest@users.noreply.github.com> * Improve README formatting and grammar for clarity and consistency Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor test task configurations to use correct directory paths for test classes Signed-off-by: Vest <Vest@users.noreply.github.com> * Set name and description for code review agent Updated agent metadata with name and description. * Create Security Review Agent documentation Adds a new agent for security review of code. * Rename my-agent.md to my-code-review-agent.md * Changed PluginBuildTest, because the new plugins are built from corresponding .java files. The slow test has been reverted, because it was broken in old commits (DATA-4372) Signed-off-by: Vest <Vest@users.noreply.github.com> * Updated Java to 21.0.8 (mac aarch64) Gradle wrapper to 9.1.0 Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 9.2.0 and refactor dependency declarations to avoid Gradle's warnings. Such constructions will be deprecated in Gradle 10. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Java&JavaFX to 25.0.1 and JaCoCo to 0.8.14 versions in build.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Add native access flags for JavaFX modules in distribution.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor JavaFX resource loading by introducing PanelFromResource utility class Signed-off-by: Vest <Vest@users.noreply.github.com> * Reverted a part of #7462, that broke DescriptionTest. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update FXML files to use JavaFX 25.0.1 namespace Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected checkstyle findings Signed-off-by: Vest <Vest@users.noreply.github.com> * Added initial GH action support * Upgraded gradle wrapper to 8.11.1. * Added testing to gh-action. * First attempt to log data in test. It failed in GH actions. * Added the logging to all tests. * Added gradle cache to a github action setup-java. * Disabled logging, but added the test results upload. * Enabled "write" permissions for test results * Refactored TestHelper.java Added some logging. * Updated cache-dependency-path. * First attempt to cache build/classes and build/jre * Corrected a typo in gradle.yml * Try to clear the cache and fill it with values. * First step to remove NSIS from the distro; Removed explicit System.exit(0) in Main. It allows to enable "slowtest" that generates and compares XMLs. Marked SystemExitInterceptor as deprecated and removal=true. Since Java does not offer any alternative, we have to find a better solution. P.S. NSIS is planned to be removed to use jpackage only. * Performance optimization: the debugPrint (when called frequently) uses StackTrace to determine the logger name. This is expensive and replaced with an explicit logger creation. * Refactored Logging.java. * Upgraded gradle-wrapper from 8.11.1 to 8.12 * Remove .run/ from git repository, because it tracked by mistake in #7056 * Refactored several classes. The main goal was adding the Optional to methods that return null. In some cases, the null reference/result was not checked, but the code never failed, because it was not executed. There were no tests, that is why it was difficult to check, whether the refactoring was right :( * Updated PMD to 7.17 Added many rules to ruleset.xml Fixed few warnings Enabled config-cache for testing purposes. Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected pf_Cleric test; 1. Corrected the typo in special properties (light crossbow); 2. Corrected maxdex for MAXDEX bonus; * Remove "public" and "abstract" for several interfaces (redundant) * Added more logging to PcgenFtlTestCase.java (it will help to determine the difference between "golden" and generated files). Trimmed lines in base.xml and base-xml.ftl template. * Trimmed different *.xml inputs. Corrected pf_Rogue.xml result: +1 reflex comes from Halfling Luch and +3 from his Cloak. * Updated build.gradle - disable security manager for all Test Gradle "actions" Created a "graceful exit" object + interceptor. It is supposed to replace System.Exit calls in different parts of the project; Updated reporting.gradle by increasing versions of some dependencies; Removed a DM_EXIT rule from spotbugs -> the calls of System.Exit must be replaced with GracefulExit. The decision to create a custom interceptor was taken based on the discussion from Reddit: https://www.reddit.com/r/java/comments/1fpxmfp/jep_486_permanently_disable_the_security_manager/ * Added JavaDoc to Exit* and GracefulExit classes. * Resolved warnings for Gradle 8.12: "Space-assignment syntax in Groovy DSL has been deprecated." * Moved GracefulExit from test to main (util). Replaced few System.exit with GracefulExit.exit calls. Refactored few methods to satisfy SonarQube warnings. * Refactored CommandLineArguments.java to avoid hidden System.exit calls. * Corrected failed int (slow) tests * Corrected a wrong assertion message * Removed SystemExitInterceptor.java, because it was deprecated; Refactored CommandLineArguments and its test. Increased the code coverage. * Added a checkstyle rule that prevents the project from System.exit usage outside GracefulExit. * Use the latest version of Freemarker template engine. * Resolved warnings from Gradle. * Resolved comments from Github PR. Moved a GUI-error message to the localization file. Formatted error messages * JaCoCo was added to github actions - now it shows the high-level code coverage my tests * Create a jpackage build. Signed-off-by: Vest <Vest@users.noreply.github.com> * First attempt to build releases for all OSes. Signed-off-by: Vest <Vest@users.noreply.github.com> * Changed the event to build a release conditionally. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update gradle-release.yml * Corrected the artifact name Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create releases Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create releases (v2) Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected the artifact creation. Signed-off-by: Vest <Vest@users.noreply.github.com> * Attempt to create one more release Signed-off-by: Vest <Vest@users.noreply.github.com> * Updated JDK from 21.0.5 to 21.0.6 Signed-off-by: Vest <Vest@users.noreply.github.com> * Corrected a build for Windows (at least). gradle jpackageImage Signed-off-by: Vest <Vest@users.noreply.github.com> * Added ubuntu-24-arm Signed-off-by: Vest <Vest@users.noreply.github.com> * Added a hotfix to repair linux-arm build. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 8.13 and fix output formatting in gradlew Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 8.14 Signed-off-by: Vest <Vest@users.noreply.github.com> * Removed jar-export-plugins from pluginbuild.xml Added the same task to plugins.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Appveyor config to adjust Gradle commands and formatting Removed the `buildNsis` task from the Gradle `test_script`, streamlining the build process. Additionally, fixed unnecessary trailing spaces in multiple sections for better formatting consistency. These changes simplify the CI process and improve readability. Signed-off-by: Vest <Vest@users.noreply.github.com> * Remove Ant-based build files for Gradle-only build system This commit deletes `build-gradle.xml` and `pluginbuild.xml` as they are no longer required. The transition to a Gradle-based build system eliminates dependency on Ant, simplifying the build process. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update properties and refine Gradle plugin Jar tasks Added a new warning message for remote list preferences in properties. Improved Gradle tasks to include all nested class files for export and bonus plugins, ensuring more comprehensive builds. Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor code style by removing unnecessary whitespace and updating method signatures in PCGenTaskExecutor and PluginLoader Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactored and changed files that didn't pass ```gradle checkstyleMain``` Few recent pull requests broke the styling: #7319 Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactored and changed files that didn't pass ```gradle checkstyleMain``` Few recent pull requests broke the styling: #7319 Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor PluginClassLoader Signed-off-by: Vest <Vest@users.noreply.github.com> * Add plugins.gradle to Gradle configuration for release and test workflows Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle wrapper to version 9.0.0 and fix classpath configuration in wrapper scripts Signed-off-by: Vest <Vest@users.noreply.github.com> * Update JavaFX version to 21.0.8 and improve URIFactory error handling with new tests Signed-off-by: Vest <Vest@users.noreply.github.com> * Improve README formatting and grammar for clarity and consistency Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor test task configurations to use correct directory paths for test classes Signed-off-by: Vest <Vest@users.noreply.github.com> * Changed PluginBuildTest, because the new plugins are built from corresponding .java files. The slow test has been reverted, because it was broken in old commits (DATA-4372) Signed-off-by: Vest <Vest@users.noreply.github.com> * Updated Java to 21.0.8 (mac aarch64) Gradle wrapper to 9.1.0 Signed-off-by: Vest <Vest@users.noreply.github.com> * DATA-4380 - 3.5e - Enable Jack Of All Trades to display 'Untrained' class skills * DATA-4379 - d20 modern, taking magical heritage, the 3 cantrips aren't selectable 6.08.00 rc10 * DATA-4381 - PF1e - Racial Heritage in Mythic not implemented * DATA-4381 - PF1e - Racial Heritage in Mythic not implemented * DATA-4383 PF1e Human Racial Heritage feat should only allow Humanoids; it currently allows any playable race * DATA-4384 Pf1e - Racial Heritage does not set RACESUBTYPE therefore all feats looking for a specific race do not qualify. Phase 1: Switch from "Racial Heritage ~ xxx" as a global to "Race ~ xxx" leaving Racial Heritage to correctly reference those qualifying for the Racial Heritage feat. * DATA-4384 Pf1e - Racial Heritage does not set RACESUBTYPE therefore all feats looking for a specific race do not qualify. Phase 2: Change PRERACE to PREFACT to simplify qualification as a Race and also clean up the RaceName%,SUBRACETYPE= vs RaceName,SUBRACETYPE= vs. RaceName% vs. RaceName entries. * Bump com.github.spotbugs from 6.4.2 to 6.4.4 (#7453) Bumps com.github.spotbugs from 6.4.2 to 6.4.4. --- updated-dependencies: - dependency-name: com.github.spotbugs dependency-version: 6.4.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.springframework:spring-beans from 6.2.11 to 6.2.12 (#7446) Bumps [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) from 6.2.11 to 6.2.12. - [Release notes](https://github.com/spring-projects/spring-framework/releases) - [Commits](spring-projects/spring-framework@v6.2.11...v6.2.12) --- updated-dependencies: - dependency-name: org.springframework:spring-beans dependency-version: 6.2.12 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump com.github.spotbugs:spotbugs-annotations from 4.9.6 to 4.9.8 (#7452) Bumps [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) from 4.9.6 to 4.9.8. - [Release notes](https://github.com/spotbugs/spotbugs/releases) - [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md) - [Commits](spotbugs/spotbugs@4.9.6...4.9.8) --- updated-dependencies: - dependency-name: com.github.spotbugs:spotbugs-annotations dependency-version: 4.9.8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * DATA-4385 Pf1e - Improve descriptions for some equipment modifiers to indicate they are conditional * 6.09.info (#7459) * support HASINFO and INFO tags * INFO tags are case insensitive * 6.09.info (#7462) * support HASINFO and INFO tags * INFO tags are case insensitive * INFO tag used explicitly rather than trying to override DESC tag * 6.09.info (#7463) * support HASINFO and INFO tags * INFO tags are case insensitive * INFO tag used explicitly rather than trying to override DESC tag * return an empty string if the INFO tag does not exist * 6.09.info (#7464) * support HASINFO and INFO tags * INFO tags are case insensitive * INFO tag used explicitly rather than trying to override DESC tag * return an empty string if the INFO tag does not exist * do not try INFO string for DESC tags unless specified * 6.09.info (#7465) * support HASINFO and INFO tags * INFO tags are case insensitive * INFO tag used explicitly rather than trying to override DESC tag * return an empty string if the INFO tag does not exist * do not try INFO string for DESC tags unless specified * checking for equality with a String * Update Gradle wrapper to version 9.2.0 and refactor dependency declarations to avoid Gradle's warnings. Such constructions will be deprecated in Gradle 10. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Java&JavaFX to 25.0.1 and JaCoCo to 0.8.14 versions in build.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Add native access flags for JavaFX modules in distribution.gradle Signed-off-by: Vest <Vest@users.noreply.github.com> * Refactor JavaFX resource loading by introducing PanelFromResource utility class Signed-off-by: Vest <Vest@users.noreply.github.com> * Reverted a part of #7462, that broke DescriptionTest. Signed-off-by: Vest <Vest@users.noreply.github.com> * Update FXML files to use JavaFX 25.0.1 namespace Signed-off-by: Vest <Vest@users.noreply.github.com> * Fix remnant issues from PREFACT conversion with multiples lingering from PRERACE * Clean up * Fix Non-Monk getting Wisdom bonus. * Fix a bunch of minor formatting errors in pcc files * Some textual improvements and typo fixes. * Corrected checkstyle findings Signed-off-by: Vest <Vest@users.noreply.github.com> * Upgrade to Java 25 and fix lots of typos * Revert failing MULT:YES and fix var name in build script * Fix merge conflicts in GH actions * Disable configuration cache for now * Update dependencies * Now correctly creates images, also allows build to continue on finding PMD violations * Add LLM AGENT guidance * Update pcgen version to match what we are releasing next * Use previous way to release and apply to GH Actions * Upgrade gradle-wrapper.jar to 9.3.1 Signed-off-by: Vest <Vest@users.noreply.github.com> * Update Gradle properties and wrapper for version 9.5.0; Signed-off-by: Vest <Vest@users.noreply.github.com> * Rewrite JDK download/extract as per-platform tasks for parallel cross-compilation The previous downloadJRE/downloadJavaFXModules tasks used imperative doLast logic incompatible with the configuration cache, and extractJDKs was broken (ran checks at configuration time, always reported NO-SOURCE). Replace with declarative per-platform Download and Copy tasks that run in parallel, support proper up-to-date checks, and are configuration-cache compatible. The runtime plugin now references jdks/ instead of jre/. Removed default task - build. Signed-off-by: Vest <Vest@users.noreply.github.com> * Replace Xalan with Saxon-HE as XSLT processor Xalan 2.x is effectively unmaintained and causes module-system friction in jlink builds. Saxon-HE 12.7 is the modern replacement and registers the same javax.xml.transform.TransformerFactory SPI. - Remove xalan:xalan and xalan:serializer dependencies; exclude them from FOP's transitive graph so they cannot re-enter - Add net.sf.saxon:Saxon-HE:12.7 - Explicitly name Saxon's TransformerFactoryImpl in FopTask rather than relying on classpath SPI ordering - Replace org.apache.xml.utils.XMLChar.isValid() in AbstractToken with an inline XML 1.0 §2.2 character validity check, eliminating the last direct reference to the Xalan serializer jar - Update jlink forceMerge and drop the now-unnecessary excludeProvides for org.apache.xalan.extensions.bsf.BSFManager - Replace xalan:nodeset() with exsl:node-set() and update namespace declarations across 171 output sheet XSLT files for Saxon compatibility * Add module-info.java and update gradle scripts for jlink plugin migration The badass-jlink-plugin (org.beryx.jlink) replaces org.beryx.runtime which is incompatible with Gradle 9's configuration cache. These supporting changes complete the migration: - Add module-info.java declaring the pcgen module with its requires, exports, and opens directives for JPMS compliance - Update distribution.gradle: replace runtimeZip with jlinkZip, fix installDist to avoid config-cache-unsafe delete{} block - Update release.gradle: replace runtimeZip with jlinkZip, reference fullJpackage task for Mac/Linux artifact assembly * Wrap substring-before() with number() in XSLT arithmetic expressions Fixes 'Expression should be of type number' warnings by making the string-to-number conversion explicit in all outputsheet XSL files. * Fix jpackage app bundle: set working directory and open gui3 packages - MacDirLauncher: cd to Contents/app so PCGen finds data/plugins/preview/ outputsheets, invoke PcGen binary via absolute path - module-info.java: open pcgen.gui3.* packages for JavaFX FXML reflection - assembleJpackageImage: always re-copy since jpackageImage wipes the output directory on rebuild * Add requires directives for PCGen.base and PCGen.Formula modules IntelliJ enforces module boundaries strictly unlike the Gradle build which uses --patch-module to merge dependencies into the pcgen module. * Update Saxon-HE to 12.9 and enable native access for javafx.graphics * Update AGENTS.md to reflect current build.gradle state Fixes stale task names, plugin versions, and tool versions that drifted as build.gradle evolved (cleanJre→cleanJdks, JUnit 5→6, Checkstyle 12→13, SpotBugs plugin 6.4→6.5, PMD version added, jpackage→fullJpackage, download task names corrected, jlink plugin version noted). * Remove deprecated jdk.jsobject module requirement jdk.jsobject was deprecated for removal in Java 22 (JEP 471). JavaFX 22+ bundles its own JSObject support in javafx.web, so the explicit JDK module dependency is no longer needed. * Relocate split-package classes to resolve module boundary conflicts Move classes out of packages shared with PCGen-base/PCGen-Formula jars so that those jars can live on --module-path as proper modules instead of being merged via --patch-module: - pcgen.base.util.{NamedFormula,ProxyUtilities,RandomUtil,WeightedCollection} → pcgen.util - pcgen.base.format.HandedManager → pcgen.format This eliminates the split-package violation that prevented javac from seeing PCGen.base and PCGen.Formula as separate modules during compilation, allowing the requires directives in module-info.java to work with both Gradle and IntelliJ. * Fix jlink/jpackage by switching to proper module-path compilation - Remove fat jar: dependencies are now separate jars handled by jlink's forceMerge rather than bundled into pcgen.jar - Add xmlresolver to forceMerge to resolve package export conflict - Replace --patch-module with --module-path for compileJava: all dependencies are now visible as proper modules - Add requires directives for all runtime dependencies in module-info.java so the compiler can resolve them on the module-path * Fix IntelliJ module visibility and test source set scoping - Remove --patch-module hack from compileJava, place all dependencies on --module-path so IntelliJ and Gradle use the same module resolution - Add requires directives to module-info.java for all runtime deps (commons-lang3, commons-io, fop-core, fop-events, xmlgraphics-commons, spring, freemarker, jdom2, argparse4j, controlsfx, xmlunit, Saxon, jep) - Open additional packages to Spring for reflective bean instantiation - Add sourceSets.test.output to itest/slowtest compile classpaths so IntelliJ maps the test module dependency at Compile scope, not Runtime * Open additional gui3 sub-packages for reflection access * Remove org.openjfx.javafxplugin — redundant with manual JavaFX setup The plugin was causing configuration cache warnings (SourceSetContainer serialization). JavaFX modules are already managed manually via downloadJavaFXLocal/extractJavaFXLocal tasks and explicit --module-path args. The jlink task now depends on downloadJavaFXMods directly to get JavaFX jmods into the target JDK. * Add JavaFX SDK jars as dependencies for IntelliJ module resolution Without the javafxplugin, IntelliJ can't find javafx.controls etc. Adding the local mods/lib jars as implementation dependencies makes them visible to the IDE while Gradle still uses --module-path. * Fix checkstyle violations: exclude module-info.java and correct code issues - Exclude module-info.java from Checkstyle (it uses syntax Checkstyle can't parse) - Remove redundant same-package import in RandomUtil.java - Fix incorrect @param tag in AbstractToken.isValidXMLChar() --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Vest <Vest@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Martijn Verburg <martijnverburg@gmail.com> Co-authored-by: Andrew Maitland <drew0500@yahoo.com> Co-authored-by: mertonmonk <33469335+mertonmonk@users.noreply.github.com> Co-authored-by: Cullen Walsh <ckwalsh@cullenwalsh.com> Co-authored-by: AtlasHackert <danielpharos@hotmail.com>
support INFO:DESC on spells and other objects subclassed from PObject and move getInfoToken from Token to PlayerCharacter to make it universally available in GUI as well as export functionality.