###
# NOTICE:
# this file is specifically for controlling
# paths for Less.js source files, as well as
# the order in which source files are
# concatenated.
#
# Please do not add paths for anything else
# to this file. All other paths for testing,
# benchmarking and so on should be controlled
# in the Gruntfile.
###

# Less.js Lib
lib: lib/less
lib_source_map: 'lib/source-map'

# =================================
# General
# =================================
prepend:
  browser: ['build/require.js', 'build/browser-header.js']
  rhino:   ['build/require-rhino.js', 'build/rhino-header.js', 'build/rhino-modules.js']

append:
  amd:     build/amd.js
  browser: <%= build.lib %>/browser.js
  rhino:   <%= build.lib %>/rhino.js


# =================================
# Core less files
# =================================

# <%= build.less.* %>
less:
  parser           : <%= build.lib %>/parser.js
  functions        : <%= build.lib %>/functions.js
  colors           : <%= build.lib %>/colors.js
  tree             : <%= build.lib %>/tree.js
  treedir          : <%= build.lib %>/tree/*.js # glob all files in ./lib/less/tree directory
  env              : <%= build.lib %>/env.js
  visitor          : <%= build.lib %>/visitor.js
  import_visitor   : <%= build.lib %>/import-visitor.js
  join             : <%= build.lib %>/join-selector-visitor.js
  to_css_visitor   : <%= build.lib %>/to-css-visitor.js
  extend_visitor   : <%= build.lib %>/extend-visitor.js
  browser          : <%= build.lib %>/browser.js
  source_map_output: <%= build.lib %>/source-map-output.js


# =================================
# Browser build
# =================================

# <%= build.browser %>
browser:

  # prepend utils
  - <%= build.prepend.browser %>

  # core
  - <%= build.less.parser %>
  - <%= build.less.functions %>
  - <%= build.less.colors %>
  - <%= build.less.tree %>
  - <%= build.less.treedir %> # glob all files
  - <%= build.less.env %>
  - <%= build.less.visitor %>
  - <%= build.less.import_visitor %>
  - <%= build.less.join %>
  - <%= build.less.to_css_visitor %>
  - <%= build.less.extend_visitor %>
  - <%= build.less.source_map_output %>

  # append browser-specific code
  - <%= build.append.browser %>
  - <%= build.append.amd %>


# =================================
# Rhino build
# =================================

# <%= build.rhino %>
rhino:
  # prepend utils
  - <%= build.prepend.rhino %>

  # core
  - <%= build.less.parser %>
  - <%= build.less.functions %>
  - <%= build.less.colors %>
  - <%= build.less.tree %>
  - <%= build.less.treedir %> # glob all files
  - <%= build.less.env %>
  - <%= build.less.visitor %>
  - <%= build.less.import_visitor %>
  - <%= build.less.join %>
  - <%= build.less.to_css_visitor %>
  - <%= build.less.extend_visitor %>
  - <%= build.less.source_map_output %>
  - <%= build.source_map %>


# <%= build.rhinolessc %>
rhinolessc:
  - <%= build.append.rhino %>


# =================================
# Tree files
# =================================

# <%= build.tree %>
# Technically listing the array out this way isn't
# necessary since we can glob the files in alphabetical
# order anyway. But this gives you control over the order
# the files are used, and allows targeting of individual
# files directly in the Gruntfile. But be we can just
# remove this if files can be concatenated in any order.
tree:
  - <%= build.lib %>/tree/alpha.js
  - <%= build.lib %>/tree/anonymous.js
  - <%= build.lib %>/tree/assignment.js
  - <%= build.lib %>/tree/call.js
  - <%= build.lib %>/tree/color.js
  - <%= build.lib %>/tree/comment.js
  - <%= build.lib %>/tree/condition.js
  - <%= build.lib %>/tree/detached-ruleset.js
  - <%= build.lib %>/tree/dimension.js
  - <%= build.lib %>/tree/directive.js
  - <%= build.lib %>/tree/element.js
  - <%= build.lib %>/tree/expression.js
  - <%= build.lib %>/tree/extend.js
  - <%= build.lib %>/tree/import.js
  - <%= build.lib %>/tree/javascript.js
  - <%= build.lib %>/tree/keyword.js
  - <%= build.lib %>/tree/media.js
  - <%= build.lib %>/tree/mixin.js
  - <%= build.lib %>/tree/negative.js
  - <%= build.lib %>/tree/operation.js
  - <%= build.lib %>/tree/paren.js
  - <%= build.lib %>/tree/quoted.js
  - <%= build.lib %>/tree/rule.js
  - <%= build.lib %>/tree/ruleset.js
  - <%= build.lib %>/tree/ruleset-call.js
  - <%= build.lib %>/tree/selector.js
  - <%= build.lib %>/tree/unicode-descriptor.js
  - <%= build.lib %>/tree/url.js
  - <%= build.lib %>/tree/value.js
  - <%= build.lib %>/tree/variable.js
  
# =================================
# source-map build
# =================================

# <%= build.source_map %>
source_map:
  - <%= build.lib_source_map %>/source-map-header.js
  - <%= build.lib_source_map %>/source-map-0.1.31.js
  - <%= build.lib_source_map %>/source-map-footer.js