Package com.codename1.annotations.buildhints
Build hints expressed as annotations, so the compiler checks them.
A build hint used to be a codename1.arg.<name>=<value> line in
codenameone_settings.properties. Nothing validated it, so a misspelled
name was copied into the build request, never read, and silently dropped:
the build stayed green and the setting simply did nothing. Written as an
annotation the same mistake is an unknown symbol, a wrong value type is a
type error, and a value outside a hint's supported set is an unknown enum
constant.
Put the annotations on your application's main class:
@Ios(newStorageLocation = true, themeMode = IosThemeMode.MODERN)
@Android(themeMode = AndroidThemeMode.MODERN)
@Desktop(titleBar = DesktopTitleBar.NATIVE)
public class MyApplication {
}
These annotations cover the hints most applications set. The rest, and the
open-ended families such as android.permission.<NAME> that an annotation
cannot express, are still set in codenameone_settings.properties, which
continues to work exactly as before. Setting the same hint in both places is
a build error.
A project generated recently already runs the goal that turns these into build hints. An older one may not: a goal's default phase does not add an execution to a project, so the annotations would compile and then be ignored. The build refuses rather than shipping without them, and the module that compiles the main class needs:
<execution>
<id>cn1-process-classes</id>
<phase>process-classes</phase>
<goals>
<goal>process-annotations</goal>
</goals>
</execution>
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.
-
ClassDescriptionAndroid build hints, checked by the compiler.Accepted values of the
and.themeModebuild hint.Build hints that are not specific to one platform.Desktop build hints, checked by the compiler.Accepted values of thedesktop.titleBarbuild hint.Accepted values of theharden.controlFlowbuild hint.App hardening build hints, checked by the compiler.Accepted values of theharden.levelbuild hint.Accepted values of theharden.stringsbuild hint.Accepted values of theandroid.installLocationbuild hint.iOS build hints, checked by the compiler.Accepted values of theios.dependencyManagerbuild hint.iOSInfo.plistprivacy usage descriptions.Accepted values of theios.project_typebuild hint.Accepted values of theios.themeModebuild hint.Accepted values of thenativeThemebuild hint.On-device debugging build hints for iOS and Android.