We want to integrate with IntelliJ's build system so that, when a Webapp artifact is built, we generate source context files at build time and add them to the final artifact.
The generation process is configured by settings in a facet that our plugin adds. From every usage of JpsFacetConfigurationSerializer that I've seen, XmlSerializer.deserialize(facetConfigurationElement, [OUR_PROPERTIES_CLASS].class) is always used.
Problem: OUR_PROPERTIES_CLASS is in the main module, not in the jps-module. Because jps-module doesn't depend on the main module, it doesn't know about that class. Moreover, we don't want to move the properties class to jps-module, since it doesn't sense for it to live there. The facet is mainly used in the main plugin, but it should be possible to read it using this or another mechanism from jps-module.
Any suggestions for how to parse the facet from jps-module/JpsFacetConfigurationSerializer that don't involve OUR_PROPERTIES_CLASS to live in jps-module?