dev project markers

Report each project's version against its release tag -- this repository's and every checkout it pins -- and with --check refuse one that has moved since the release without marking its version -dev, or one with no release that pins a development reference at a version

Command version
0.0.0
Command configuration
dev-tool:dev.project.markers@0.0.0

Arguments

ArgumentTypeRequiredDefaultDescription
--check, --no-checkbooleanNofalseFail when a project has moved since its release tag and its manifest still states the released version unmarked, or when a project with no release pins a development reference at a version
--apply, --no-applybooleanNofalseMark -dev the version of every project --check would refuse, editing the version: line of its manifest.yml and nothing else. The author running it is the author writing the marker; nothing marks a project unasked

It also takes the global arguments.

Output

It answers with a markers.markerReport.

Types

markers.markerReport

FieldTypeRequiredDefaultDescription
projectslist[markers.projectMarker]No[]Each project read: this repository's, then that of each checkout .gitmodules pins that holds a manifest, in checkout order.

markers.projectMarker

FieldTypeRequiredDefaultDescription
checkoutstringYesThe repository's checkout, as a path from the root; . is the root.
projectstringYesThe project its manifest names.
versionstringYesThe version its manifest states, whole, marker included.
tagstringYesThe release tag this version would have been published under, <project>@<major>.<minor>.<patch>.
stateenum one of marked, untagged, unchanged, movedYesmarked when the version carries a prerelease marker, so the project says it has moved and nothing is compared. untagged when no tag for the version is in the checkout's history, so there is no release to compare against. unchanged when the tracked content is the tagged release's. moved when it is not and the version is unmarked, which is what --check refuses and --apply marks.
appliedbooleanNofalseWhether --apply wrote the marker into this project's manifest on this run.
pinnedReferenceslist[string]No[]Each development reference this project pins at a version while no release of it is in its history: a module dependency in its manifest.yml, a vendoredLibraries or vendoredSchemas entry in its .dev-tool/config.yml, or an externalSchemas id in a tracked schema document, command config or app declaration, as <file>: <where> <coordinate>. A development reference floats and a release is what writes a version, so --check refuses each one; --apply does not rewrite them. Empty once the project has a release.