# Annotation Type Build

@Retention(CLASS) @Target(TYPE) public @interface Build

Build hints that are not specific to one platform.

Place this on your application's main class -- the class named by `codename1.mainName`. An attribute you do not set is not written at all, so the builder's own default applies; the values shown here are that default, for reference.

Generated from com.codename1.build.shared.BuildHints by BuildHintCodeGenerator. Do not edit by hand -- edit the catalog and re-run scripts/gen-build-hint-annotations.sh.

- ## Optional Element Summary

  Optional Elements
  Modifier and Type
  Optional Element
  Description
  `String`
  `facebookAppId`
  The application ID for an app that requires native Facebook login integration, this defaults to null which means native Facebook support shouldn't be in the app
  `String`
  `gcmSenderId`
  The Android/chrome push identifier, see the push section for more details
  `NativeThemeMode`
  `nativeTheme`
  `modern`, `legacy`, `custom` (default unset).
  `boolean`
  `noExtraResources`
  true/false (defaults to false).

- ## Element Details

  - ### facebookAppId

    String facebookAppId
    The application ID for an app that requires native Facebook login integration, this defaults to null which means native Facebook support shouldn't be in the app
    Default:
      `"706695982682332"`

  - ### gcmSenderId

    String gcmSenderId
    The Android/chrome push identifier, see the push section for more details
    Default:
      `""`

  - ### nativeTheme

    NativeThemeMode nativeTheme
    `modern`, `legacy`, `custom` (default unset). Cross-platform override that sets both `ios.themeMode` and `and.themeMode` together when those aren't set explicitly. `modern` = liquid glass + Material 3, `legacy` = iOS 7 flat + Holo Light, `custom` disables the framework native theme entirely. The legacy alias `cn1.nativeTheme` is still accepted.
    Default:
      `MODERN`

  - ### noExtraResources

    boolean noExtraResources
    true/false (defaults to false). Blocks codename one from injecting its own resources when set to true, the only effect this has is in slightly reducing archive size. This might have adverse effects on some features of Codename One so it isn't recommended.
    Default:
      `false`