Docs / Modules / S8Module

S8Module

com.s8.meta.env.modular.S8Module

Runtime façade. Constructed once as a static MODULE field on the module's root class. The constructor runs an S8ModuleParamsSetter so you can declare web sources, static assets, and Bohr type registries.

Constructor

S8Module(target, rootClass, setter)
target is the folder name under the stack root, e.g. "S8-pkgs-ui-carbide".

S8ModuleParameters

setVersion
Module version string.
declareWebSources()
Enable web-sources / web-classes resolution.
setWebAssets / setSvcAssets
Asset roots.
addRowClasses / addSpaceClasses / addRepoClasses
Populate S8Codebase for Bohr DB.

Example

S8PkgsUiCarbide.java
public class S8PkgsUiCarbide {
  public final static S8Module MODULE = new S8Module(
      "S8-pkgs-ui-carbide",
      S8PkgsUiCarbide.class,
      params -> {
        params.declareWebSources();
      });
}
module-info.java
@S8ModuleDescriptor(def = S8PkgsUiCarbide.class)
module com.s8.pkgs.ui.carbide {
  exports com.s8.pkgs.ui.carbide;
  requires transitive com.s8.meta.env;
  requires transitive com.s8.meta.api;
}
Intent The Java module and the S8 module are cousins. JPMS exports types; S8Module knows where the files live on disk in DEV and PROD.