You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tutorial_developer_workflows.rst
+5-6Lines changed: 5 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -240,13 +240,12 @@ Let's say we plan to extend our environment to develop the ``nekbone`` package.
240
240
.. literalinclude:: outputs/dev/develop-6.out
241
241
:language: console
242
242
243
-
Admittedly, this example is a bit contrived and is primarily to show a few gotchas with the ``spack develop`` command
243
+
The ``spack develop`` command only has any effect if the developed package appears in the environment, as a root or dependency.
244
+
Some additional concerns to use the ``spack develop`` command effectively:
244
245
245
-
* You should ensure a spec for the package you are developing appears in the DAG of at least one of the roots of the environment with the same version that you are developing.
246
-
``spack add <package>`` with the matching version you want to develop is a way to ensure the develop spec is satisfied in the ``spack.yaml`` environments file.
247
-
This is because develop specs are not concretization constraints but rather criteria for adding the ``dev_path=`` variant to existing spec.
248
-
* Spack needs to know the version of the dev package so it can supply the correct flags for the package's build system.
249
-
If a version is not supplied or detectable in the environment, then Spack falls back to the maximum version defined in the package where `infinity versions <https://spack.readthedocs.io/en/latest/packaging_guide_creation.html#version-comparison>`_ like ``develop`` and ``main`` have a higher value than the numeric versions.
246
+
* ``spack add <package>`` with the matching version you want to develop is a way to ensure the develop spec is satisfied in the ``spack.yaml`` environments file.
247
+
* If the spec is not already concrete in the environment, you need to provide Spack a spec version so it can supply the correct flags for the package's build system.
248
+
* If a version is not supplied or detectable in the environment, then Spack falls back to the maximum version defined in the package where `infinity versions <https://spack.readthedocs.io/en/latest/packaging_guide_creation.html#version-comparison>`_ like ``develop`` and ``main`` have a higher value than the numeric versions.
250
249
* The source code located at the spec's ``dev_path`` is the users responsibility to manage.
251
250
Spack does provide an initial clone of the source code, but it makes no guarantees or additional verification of the source beyond that.
252
251
Users can manage the code locally via a version control system like ``git``, or can trigger a re-stage by calling ``spack develop --force``.
0 commit comments