[Buildroot] [PATCH 02/83 v2] package/angularjs: simplify modules selection
Peter Korsgaard
peter at korsgaard.com
Mon Jul 4 13:19:18 UTC 2016
>>>>> "Yann" == Yann E MORIN <yann.morin.1998 at free.fr> writes:
> Remove the superfluous config option, and make all modules default to
> 'y', which provides exactly the same functionality.
> simplify (and slightly beautify) the handling of modules in the .mk:
> since the modules' symbols are always meaningful now, we can get rid of
> the else-clause, and always build the list of modules using the Kconfig
> options.
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Arnout Vandecappelle <arnout at mind.be>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
> Changes v1 -> v2:
> - remove spurious comment leftover from RFC (Thomas)
> Changes RFC -> v1:
> - treat the 'angular' module on its own, as was done previosuly
> (Arnout)
> - drop useless comments in Config.in (Arnout)
> - don't re-order list, it was already alphabetically sorted
> ---
> package/angularjs/Config.in | 19 +++++++++----------
> package/angularjs/angularjs.mk | 21 ++++++++++++++-------
> 2 files changed, 23 insertions(+), 17 deletions(-)
> diff --git a/package/angularjs/Config.in b/package/angularjs/Config.in
> index 206b3d8..2a0b48c 100644
> --- a/package/angularjs/Config.in
> +++ b/package/angularjs/Config.in
> @@ -7,16 +7,9 @@ menuconfig BR2_PACKAGE_ANGULARJS
> if BR2_PACKAGE_ANGULARJS
> -config BR2_ANGULARJS_MODULES
> - bool "angularjs modules"
> - help
> - Select which modules to install. If disabled, all modules
> - will be installed.
> -
> -if BR2_ANGULARJS_MODULES
> -
> config BR2_ANGULARJS_MODULE_ANIMATE
> bool "animate"
> + default y
> help
> The ngAnimate module provides support for CSS-based animations
> (keyframes and transitions) as well as JavaScript-based animations
> @@ -26,6 +19,7 @@ config BR2_ANGULARJS_MODULE_ANIMATE
> config BR2_ANGULARJS_MODULE_ARIA
> bool "aria"
> + default y
> help
> The ngAria module provides support for common ARIA attributes that
> convey state or semantic information about the application for users
> @@ -33,18 +27,21 @@ config BR2_ANGULARJS_MODULE_ARIA
> config BR2_ANGULARJS_MODULE_COOKIES
> bool "cookies"
> + default y
> help
> The ngCookies module provides a convenient wrapper for reading and
> writing browser cookies.
> config BR2_ANGULARJS_MODULE_MESSAGE_FORMAT
> bool "message-format"
> + default y
> help
> The ngMessageFormat module is used recognize MessageFormat extensions
> in interpolation expressions.
> config BR2_ANGULARJS_MODULE_MESSAGES
> bool "messages"
> + default y
> help
> The ngMessages module provides enhanced support for displaying
> messages within templates (typically within forms or when rendering
> @@ -52,28 +49,30 @@ config BR2_ANGULARJS_MODULE_MESSAGES
> config BR2_ANGULARJS_MODULE_RESOURCE
> bool "resource"
> + default y
> help
> The ngResource module provides interaction support with RESTful
> services via the $resource service.
> config BR2_ANGULARJS_MODULE_ROUTE
> bool "route"
> + default y
> help
> The ngRoute module provides routing and deeplinking services and
> directives for angular apps.
> config BR2_ANGULARJS_MODULE_SANITIZE
> bool "sanitize"
> + default y
> help
> The ngSanitize module provides functionality to sanitize HTML.
> config BR2_ANGULARJS_MODULE_TOUCH
> bool "touch"
> + default y
> help
> The ngTouch module provides touch events and other helpers for
> touch-enabled devices. The implementation is based on jQuery Mobile
> touch event handling (jquerymobile.com).
> endif
> -
> -endif
> diff --git a/package/angularjs/angularjs.mk b/package/angularjs/angularjs.mk
> index 60dbdb6..1f9a8fa 100644
> --- a/package/angularjs/angularjs.mk
> +++ b/package/angularjs/angularjs.mk
> @@ -17,18 +17,25 @@ define ANGULARJS_EXTRACT_CMDS
> rmdir $(@D)/angular-$(ANGULARJS_VERSION)
> endef
> +# This list mirrors the list of available modules from Config.in.
> +# Keep this list in sync and in the same (alphabetical) order as the
> +# one in Config.in.
> +ANGULARJS_MODULES = \
> + animate \
> + aria \
> + cookies \
> + messages \
> + message-format \
> + resource \
> + route \
> + sanitize \
> + touch
I like the Config.in change, but how about using something like we do in
E.G. mtd-utils for the options - E.G.:
ANGULAR_MODULES_y = angular
ANGULAR_MODULES_$(BR2_ANGULARJS_MODULE_ANIMATE) += angular-animate
ANGULAR_MODULES_$(BR2_ANGULARJS_MODULE_ARIA) += angular-aria
...
define ANGULARJS_INSTALL_TARGET_CMDS
$(foreach f,$(ANGULARJS_MODULES_y),\
$(INSTALL) -m 0644 -D $(@D)/$(f).min.js \
$(TARGET_DIR)/var/www/$(f).js$(sep))
endef
That seems more robust than this list.
While we're at it, it is quite unfortunate that these options aren't
prefixed by BR2_PACKAGE_ :/
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list