ReadMe.md #1

  • //
  • p4-hms/
  • dev/
  • p4/
  • common/
  • site/
  • hms/
  • nj/
  • ReadMe.md
  • Markdown
  • View
  • Commits
  • Open Download .zip Download (2 KB)

Nice Job (NJ)

[TOC]

Introduction

This 'nj' directory contains prototype broker filter scripts to give P4D a nicer jobs mechanism. The mechanism builds on native P4D jobs, taking advantage of job strengths and expanding in areas where default jobs have gaps.

Some areas where native P4D jobs are strong:

  • Ability to associate jobs with changelist, via fixes. This simple yet powerful feature enables end-to-end traceability solutions.
  • The p4 fixes -i makes even more powerful queries easy, like "has bug PRJ-1234 been merged into this stream?"

Areas where native jobs have gaps:

  • The default job naming convention, jobNNNNNN, doesn't instantly convey any info. Luckily, that is only a convention. P4D allows job names to be customized. NJ uses a <PRJ>-NNNN naming convention, where <PRJ> is a project tag.
  • The above implies the notion of a named project, a concept that is not native in P4D. For purposes of NJ, a project is simply a registered tag name used to group related jobs.

Implementation Style

This interim solution is implemented in the form of a P4 Broker config file that references a set of broker filter scripts to implement various custom behaviors. As an example, the custom p4 nj command indicates that NJ is enabled and reports the version of the NJ package. As an example of custom behavior to meet the use case, a p4 njob command creates a new job, and p4 lsjob lists jobs that match your job view.

This solution is ripe for conversion of a Broker implementation into Extensions. This implementation would make it suitable for use in native P4D.

Commands

  • p4 nj - Display version information for the Nice Job feature set.
  • p4 njob - Create a new job.
  • p4 jr - Display a Jobs Report.

Known Limitations

There are several known limitations:

  • The feature set is a prototype, not extensively tested.
# Nice Job (NJ)

[TOC]

## Introduction

This 'nj' directory contains prototype broker filter scripts to give P4D a nicer jobs mechanism.  The mechanism builds on native P4D jobs, taking advantage of job strengths and expanding in areas where default jobs have gaps.

Some areas where native P4D jobs are strong:

* Ability to associate jobs with changelist, via fixes. This simple yet powerful feature enables end-to-end traceability solutions.
* The `p4 fixes -i` makes even more powerful queries easy, like "has bug PRJ-1234 been merged into this stream?"

Areas where native jobs have gaps:

* The default job naming convention, jobNNNNNN, doesn't instantly convey any info. Luckily, that is only a convention. P4D allows job names to be customized. NJ uses a <PRJ>-NNNN naming convention, where <PRJ> is a project tag.
* The above implies the notion of a named _project_, a concept that is not native in P4D. For purposes of NJ, a project is simply a registered tag name used to group related jobs.

## Implementation Style

This interim solution is implemented in the form of a P4 Broker config file that references a set of broker filter scripts to implement various custom behaviors.  As an example, the custom `p4 nj` command indicates that NJ is enabled and reports the version of the NJ package.  As an example of custom behavior to meet the use case, a `p4 njob` command creates a new job, and `p4 lsjob` lists jobs that match your job view.

This solution is ripe for conversion of a Broker implementation into Extensions. This implementation would make it suitable for use in native P4D.

## Commands

* `p4 nj` - Display version information for the Nice Job feature set.
* `p4 njob` - Create a new job.
* `p4 jr` - Display a Jobs Report.

## Known Limitations

There are several known limitations:

* The feature set is a prototype, not extensively tested.
# Change User Description Committed
#1 33516 C. Thomas Tyler Consistency pass: fix absolute URLs, p4ms->hms renames, script/doc typos and bugs

- Convert absolute workshop.perforce.com URLs to relative paths in dlp/ReadMe.md
- Fix case-mismatch link to HMS_Product_Roadmap.md in README.md
- Rename reset_p4ms.sh -> reset_hms.sh and p4broker_p4ms_test -> p4broker_hms_test
- Fix .sh-suffix bugs: bin/hms calling global_replica_status.sh (should be no ext),
  and matching SEE ALSO / doc references for sdp_sync and global_replica_status
- Add missing scripts (gtu, hrun, irun, global_replica_status) to gen_script_man_pages.sh
- Add stub scripts: nj_help.sh, broker_njob.pl, broker_mkproj.pl, broker_jr.pl
- Remove dangling absolute symlinks HostCM/p4 and HostCM/p4d (cruft)
- Rename test/b -> test/broker_ctl.sh for clarity
- Fix real bugs: broker_imply-u.pl broken regex match, gen_dlp_broker_cfg.sh and
  gen_nj_broker_cfg.sh copy-pasted Version-file existence check, garbled comment
  in broker_must_be_owner.pl, unclosed quote in tools/gsr.sh usage(), missing 'h'
  in HMS_SystemComponents.md broker command example (^ms$ -> ^hms$)
- Fix broken sed command and incomplete sentence in HMS_Install_Notes.md and
  SDP_and_HMS_Update_Process.md
- Fix broken markdown table in HMS_Product_Roadmap.md
- Fix unclosed parenthesis, missing verb, and FKA Swarm mislabel in
  HMSDeploymentPlanning.adoc
- Standardize //streams/main/... naming in HostCM/ReadMe.md
- Numerous typo fixes across README.md, HMS_SystemComponents.md,
  SDP_and_HMS_Update_Process.md, HMS_TightShipManagement.adoc,
  HMSDeploymentPlanning.adoc, HostCM/ReadMe.md, and various scripts

Co-authored-by: Copilot <[email protected]>