Chandan Singh pushed to branch chandan/junction-dependency-format at BuildStream / buildstream
Commits:
-
db10c733
by Chandan Singh at 2019-02-18T18:21:06Z
2 changed files:
Changes:
... | ... | @@ -109,6 +109,8 @@ Junctions can configure options of the linked project. Options are never |
109 | 109 |
implicitly inherited across junctions, however, variables can be used to
|
110 | 110 |
explicitly assign the same value to a subproject option.
|
111 | 111 |
|
112 |
+.. _core_junction_nested:
|
|
113 |
+ |
|
112 | 114 |
Nested Junctions
|
113 | 115 |
----------------
|
114 | 116 |
Junctions can be nested. That is, subprojects are allowed to have junctions on
|
... | ... | @@ -401,6 +401,41 @@ Attributes: |
401 | 401 |
The ``junction`` attribute is available since :ref:`format version 1 <project_format_version>`
|
402 | 402 |
|
403 | 403 |
|
404 |
+Cross-junction dependencies
|
|
405 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
406 |
+As mentioned above, cross-junction dependencies can be specified using the
|
|
407 |
+``junction`` attribute. They can also be expressed as simple strings as a
|
|
408 |
+convenience shorthand. You can refer to cross-junction elements using the
|
|
409 |
+syntax ``{junction-name}:{element-name}``.
|
|
410 |
+ |
|
411 |
+For example, the following is logically same as the example above:
|
|
412 |
+ |
|
413 |
+.. code:: yaml
|
|
414 |
+ |
|
415 |
+ build-depends:
|
|
416 |
+ - baseproject.bst:foo.bst
|
|
417 |
+ |
|
418 |
+Similarly, you can also refer to cross-junction elements via the ``filename``
|
|
419 |
+attribute, like so:
|
|
420 |
+ |
|
421 |
+.. code:: yaml
|
|
422 |
+ |
|
423 |
+ depends:
|
|
424 |
+ - filename: baseproject.bst:foo.bst
|
|
425 |
+ type: build
|
|
426 |
+ |
|
427 |
+.. note::
|
|
428 |
+ |
|
429 |
+ BuildStream does not allow recursice lookups for junction elements. If a
|
|
430 |
+ filename contains more than one ``:`` (colon) character, an error will be
|
|
431 |
+ raised. See :ref:`nested junctions <core_junction_nested>` for more details
|
|
432 |
+ on nested junctions.
|
|
433 |
+ |
|
434 |
+.. note::
|
|
435 |
+ |
|
436 |
+ This shorthand is available since :ref:`format version 22 <project_format_version>`
|
|
437 |
+ |
|
438 |
+ |
|
404 | 439 |
.. _format_dependencies_types:
|
405 | 440 |
|
406 | 441 |
Dependency types
|