polymer-dart / bazel_polymerize_rules

0 stars 0 forks source link

How do I import a dependency from a path? #1

Open ErikGrimes opened 7 years ago

ErikGrimes commented 7 years ago

For example, in the sample todo_ddc:

name: todo_ddc
description: Sample TODO app with polymer2+DDC
version: 0.0.1
dependencies:
 logging: any
 todo_main:
   path: todo_main
 polymer_element: "^0.5.1"
# polymer_elements:
#  git:
#    url: https://github.com/dam0vm3nt/polymerize_elements.git
#    ref: v0.1.0
# polymer_element: 
#   path: ../polymer_element
dependency_overrides:
# polymer_element:
#  path: /home/vittorio/Develop/dart/polymer_element
# polymer_elements:
#  path: /home/vittorio/Develop/dart/polymer_elements
# html5:
#  path: /home/vittorio/Develop/dart/html_lib
 polymer_elements:
  path: ../polymer_elements
#  git:
#    url: https://github.com/dam0vm3nt/polymerize_elements.git
#    ref: v0.1.11

results in

todo_ddc/BUILD:26:1: no such package '@polymer_elements//': Traceback (most recent call last):
    File "/private/var/tmp/_bazel_egrimes/73d1e5de12b6c3072b89073f77acded4/external/polymerize/polymerize_workspace.bzl", line 29
        _buildLibTemplate(repository_ctx, dep_string)
    File "/private/var/tmp/_bazel_egrimes/73d1e5de12b6c3072b89073f77acded4/external/polymerize/polymerize_workspace.bzl", line 2, in _buildLibTemplate
        repository_ctx.template("BUILD", repository_ctx.attr._temp..., ...})
java.io.IOException: /private/var/tmp/_bazel_egrimes/73d1e5de12b6c3072b89073f77acded4/external/polymer_elements (File exists) and referenced by '//:main'.
ERROR: Analysis of target '//:default' failed; build aborted.
dam0vm3nt commented 7 years ago

you need to specify full absolute paths if the dependency is external to the project. That's because the way bazel works. Then do a pub get and a polymerize init to fix the bazel files.

this is not necessary for dependency that are internal (in the same subtree) of the main project (see the sample project for an example.