The problem
The 51Did library for Java is complete and builds with the rest of the repository, but it has never been published, so nobody outside can use it.
pipeline.did is listed in the root pom.xml modules, alongside pipeline.core and the others, and it holds FodId, DidClient, FodIdParseResult, IdType, SigningKey and their tests. A search of Maven Central for g:"com.51degrees" AND a:"pipeline.did" returns numFound: 0. Its siblings are there, for example pipeline.core and pipeline.engines at 4.5.0-alpha.1, so the group is published and this one artifact is missing from it.
The most likely reason is simply that no release has been cut since the module was added, rather than anything being wrong with the module.
Why it matters
A customer using Java cannot read a 51Did without copying source out of this repository. Every other language ships a package, being FiftyOne.Did 4.5.88 on nuget, fiftyone.pipeline.did 4.5.35 on npm, fiftyone-pipeline-did 4.5.15 on PyPI and fodid on crates.io.
What is needed
A release that includes pipeline.did, published to Maven Central under com.51degrees. If a first publish of a new artifact id needs anything accepted at the registry end, that is part of this.
Worth doing in the same release, the match key rename merged in 120, so the first published version carries the finished vocabulary rather than shipping the old constant names and deprecating them one version later. MATCH_KEY_OFFSET and MATCH_KEY_LENGTH are the real constants, with HASH_OFFSET and HASH_LENGTH kept as deprecated aliases.
How to tell it is done
https://search.maven.org/solrsearch/select?q=g:%22com.51degrees%22+AND+a:%22pipeline.did%22&wt=json returns a version rather than numFound: 0, and a plain Maven project can depend on it and parse a 51Did.
Produced with AI assistance under James Rosewell's direction and needs human review.
The problem
The 51Did library for Java is complete and builds with the rest of the repository, but it has never been published, so nobody outside can use it.
pipeline.didis listed in the rootpom.xmlmodules, alongsidepipeline.coreand the others, and it holdsFodId,DidClient,FodIdParseResult,IdType,SigningKeyand their tests. A search of Maven Central forg:"com.51degrees" AND a:"pipeline.did"returnsnumFound: 0. Its siblings are there, for examplepipeline.coreandpipeline.enginesat 4.5.0-alpha.1, so the group is published and this one artifact is missing from it.The most likely reason is simply that no release has been cut since the module was added, rather than anything being wrong with the module.
Why it matters
A customer using Java cannot read a 51Did without copying source out of this repository. Every other language ships a package, being
FiftyOne.Did4.5.88 on nuget,fiftyone.pipeline.did4.5.35 on npm,fiftyone-pipeline-did4.5.15 on PyPI andfodidon crates.io.What is needed
A release that includes
pipeline.did, published to Maven Central undercom.51degrees. If a first publish of a new artifact id needs anything accepted at the registry end, that is part of this.Worth doing in the same release, the match key rename merged in 120, so the first published version carries the finished vocabulary rather than shipping the old constant names and deprecating them one version later.
MATCH_KEY_OFFSETandMATCH_KEY_LENGTHare the real constants, withHASH_OFFSETandHASH_LENGTHkept as deprecated aliases.How to tell it is done
https://search.maven.org/solrsearch/select?q=g:%22com.51degrees%22+AND+a:%22pipeline.did%22&wt=jsonreturns a version rather thannumFound: 0, and a plain Maven project can depend on it and parse a 51Did.Produced with AI assistance under James Rosewell's direction and needs human review.