Upgrade perspective/webui Gradle examples to io.ia.sdk.modl 0.5.0 - #211
Open
sankalpsthakur wants to merge 1 commit into
Open
Conversation
Align Gradle module examples with immutable-project: bump the Ignition module plugin to 0.5.0 and migrate Perspective module deps to moduleDependencySpecs (required for Ignition 8.3). Resolves the java-library + CollectModlDependencies/SyncSpec apply failure reported when upgrading past 0.1.1 (inductiveautomation#119). Also verified ignition-8.3 already uses jakarta.servlet and requiredIgnitionVersion 8.3.0 for Jetty 12 (inductiveautomation#134). Plugin upgrade improves collectModlDependencies jar inputs, which helps zipModule rebuild when Java/resource sources change (inductiveautomation#96).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #119 by upgrading the Perspective component examples (and webui-webpage) from
io.ia.sdk.modl0.1.1 to 0.5.0, matching the pattern already used byimmutable-project.Changes
perspective-component/moduleDependencies.put→moduleDependencySpecs { register(...) }perspective-component-minimal/webui-webpage/moduleDependenciesmap; docs note 8.3 APIAlso set
requiredFrameworkVersion = "8"on the full perspective-component example for consistency with the other 8.3 examples.Migration notes (
moduleDependencySpecs)For modules targeting Ignition 8.3+, prefer
moduleDependencySpecsover the deprecatedmoduleDependenciesmap. The newer API supports therequiredflag (gateway faults if the dependency module is missing).Before (0.1.1 / pre-8.3 style):
After (0.5.0 / 8.3 style, same as
immutable-project):moduleDependencySpecs { register("com.inductiveautomation.perspective") { scope = "DG" // G=gateway, D=designer, C=Vision client required = true } }Gradle wrappers were already on 8.2.1 for these projects (plugin 0.5.0 uses
SyncSpecviaproject.syncinCollectModlDependencies; that API needs a modern Gradle). With 8.2.1 + 0.5.0, applying the plugin alongside subprojects that usejava-libraryconfigures cleanly—the failure mode reported in #119 (Could not generate a decorated class for type CollectModlDependencies/ missingSyncSpec) does not reproduce.Related issues
ignition-8.3—perspective-component-minimalandperspective-componentusejakarta.servletandrequiredIgnitionVersion8.3.0. This PR does not change those imports; verified only.collectModlDependenciesinputs (jar via@InputFile). After this upgrade, changingcommon/src/main/resources/*correctly re-runsprocessResources→jar→collectModlDependencies→zipModulein the minimal example. Not claiming a full close of Changes not detected/included when building .modl from perspective-component using the newer open-sourced plugin #96 without broader repro, but the upgrade addresses the likely plugin-side root cause.Validation
skipModlSigningremainstrue(unsigned.modlfor local/dev use).AI disclosure
This contribution was prepared with assistance from an AI coding agent (Grok / xAI). Changes were reviewed and validated locally (Gradle configure +
zipModuleon the minimal example) before opening this PR.