{"record":{"id":"363a509ba09459d5","repo":"GoogleContainerTools/jib","slug":"platform-configuration-is-missing-an-architecture","errorCode":null,"errorMessage":"platform configuration is missing an architecture value","messagePattern":"platform configuration is missing an architecture value","errorType":"validation","errorClass":"InvalidPlatformException","httpStatus":null,"severity":"error","filePath":"jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/PluginConfigurationProcessor.java","lineNumber":809,"sourceCode":"   * Parses the list of platforms to a set of {@link Platform}.\n   *\n   * @param rawConfiguration raw configuration data\n   * @return the set of parsed platforms\n   * @throws InvalidPlatformException if there exists a {@link PlatformConfiguration} in the\n   *     specified platforms list that is missing required fields or has invalid values\n   */\n  @VisibleForTesting\n  static Set<Platform> getPlatformsSet(RawConfiguration rawConfiguration)\n      throws InvalidPlatformException {\n    Set<Platform> platforms = new LinkedHashSet<>();\n    for (PlatformConfiguration platformConfiguration : rawConfiguration.getPlatforms()) {\n      Optional<String> architecture = platformConfiguration.getArchitectureName();\n      Optional<String> os = platformConfiguration.getOsName();\n      String platformToString =\n          \"architecture=\" + architecture.orElse(\"<missing>\") + \", os=\" + os.orElse(\"<missing>\");\n\n      if (!architecture.isPresent()) {\n        throw new InvalidPlatformException(\n            \"platform configuration is missing an architecture value\", platformToString);\n      }\n      if (!os.isPresent()) {\n        throw new InvalidPlatformException(\n            \"platform configuration is missing an OS value\", platformToString);\n      }\n\n      platforms.add(new Platform(architecture.get(), os.get()));\n    }\n    return platforms;\n  }\n\n  /**\n   * Parses the list of raw volumes directories to a set of {@link AbsoluteUnixPath}.\n   *\n   * @param rawConfiguration raw configuration data\n   * @return the set of parsed volumes.\n   * @throws InvalidContainerVolumeException if {@code volumes} are not valid absolute Unix paths","sourceCodeStart":791,"sourceCodeEnd":827,"githubUrl":"https://github.com/GoogleContainerTools/jib/blob/fb949e2676afbbd7dd7a1ef61e20251931325654/jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/PluginConfigurationProcessor.java#L791-L827","documentation":"InvalidPlatformException thrown by PluginConfigurationProcessor.getPlatformsSet() — a validation helper parsing the <platforms>/<platform> configuration into Platform objects. It fires when a PlatformConfiguration entry omits the required 'architecture' field (e.g. a platform specified with only os, or an empty <platform> element), so the multi-platform build list cannot be constructed; the build aborts rather than guessing a default architecture.","triggerScenarios":"Thrown at jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/PluginConfigurationProcessor.java:809 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add an <architecture> (e.g. amd64, arm64) to every <platform> entry in the jib configuration","Remove empty or incomplete <platform> elements from <platforms>","Verify plugin configuration XML/DSL structure so the architecture value is actually bound (correct nesting and property name)"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fb949e2676afbbd7dd7a1ef61e20251931325654","analyzedAt":"2026-09-06T14:04:09.491Z","contentChangedAt":"2026-09-06T14:04:09.491Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}