Class DistributionFlavour

java.lang.Object
com.iizix.server.tools.DistributionFlavour

public final class DistributionFlavour extends Object
The flavour of a distribution (CC-FIX-DIST-NO-ICU, the owner's rulings of 2026-10-14 and 2026-10-23, DN-1 and DN-3): which applications the package carries, and so which installation a package may update.
  • CUSTOMER - ServerAdmin, BIG ACE and the demos: the package every customer gets, iiziServer-distribution-V.B.jar (icu.jar is no longer distributed to customers, 2026-10-14);
  • MINDUS - the customer content plus ICU (apps/icu.jar): Mindus's own servers (BuildUtil/servers), the separately named iiziServer-mindus-distribution-V.B.jar;
  • MLS - ServerAdmin only, no demos: the Mindus License System host (build-MLS-server.ps1).
The mark is the property PROPERTY of RESOURCE inside the server jar lib/com.iizix.standardserver-V.B.jar, beside the version and the build the distribution build stamps there (build-iiziServer-distribution.ps1). A server jar without the property - every package and every installation built before the flavours - counts as CUSTOMER; a value holding $ is the unstamped template of a development run and marks nothing.

The updater refuses a package of another flavour than the installation's (UpdateVerifier), so ICU can neither vanish from a Mindus server through a customer package nor arrive at a customer's through a Mindus package. Nothing here depends on another IIZI class: the updater runs from its own jar.

Author:
Christopher Mindus
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The customer flavour: ServerAdmin, BIG ACE and the demos.
    static final String
    The Mindus flavour: the customer content plus ICU, for Mindus's own servers.
    static final String
    The MLS flavour: ServerAdmin only, the Mindus License System host.
    static final String
    The property of the server jar's RESOURCE that carries the flavour.
    static final String
    The resource of the server jar that carries the version, the build and the flavour.
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    describe(String flavour)
    What a flavour holds, for a message.
    static String
    The running build's flavour for the start log: the stamped flavour described, "customer (no mark...)" for a distribution built before the flavours, "development" for the unstamped template of a run from the sources.
    static String
    named(String value)
    The flavour a value of the property names.
    static String
    The flavour of an installation: the mark of its single server jar.
    static String
    Reads the raw value of the property from the bytes of a server jar, and reads the stream to its end (so that a caller verifying the entry's digest sees every byte).
    static String
    The raw value of the property of the running build: the resource on the class path.
  • Field Details

  • Method Details

    • named

      public static String named(String value)
      The flavour a value of the property names.
      Parameters:
      value - The property's value, null when the property is absent.
      Returns:
      The flavour, trimmed and in lower case; CUSTOMER for null, a blank value or an unstamped placeholder (a package or an installation built before the flavours).
    • describe

      public static String describe(String flavour)
      What a flavour holds, for a message.
      Parameters:
      flavour - The flavour, as named(String) returns it.
      Returns:
      The text.
    • readServerJar

      public static String readServerJar(InputStream in) throws IOException
      Reads the raw value of the property from the bytes of a server jar, and reads the stream to its end (so that a caller verifying the entry's digest sees every byte).
      Parameters:
      in - The server jar's bytes; not closed here.
      Returns:
      The value, null when the jar has no RESOURCE or the property, or when the bytes are not a jar at all.
      Throws:
      IOException - For a read error of the stream.
    • ofInstallation

      public static String ofInstallation(File install)
      The flavour of an installation: the mark of its single server jar.
      Parameters:
      install - The installation directory.
      Returns:
      The flavour; CUSTOMER when there is no server jar, when it is not a jar or when it carries no mark.
    • running

      public static String running()
      The raw value of the property of the running build: the resource on the class path.
      Returns:
      The value, null when the resource or the property is absent.
    • describeRunning

      public static String describeRunning()
      The running build's flavour for the start log: the stamped flavour described, "customer (no mark...)" for a distribution built before the flavours, "development" for the unstamped template of a run from the sources.
      Returns:
      The text.