JB, Until "cave:repository-artifact-promote" is implement, below is a workaround:
By adding the Cave Quality repository to the Karaf instance artifacts can be uploaded to the Cave Production repository then deleting the artifact from the Cave Quality repository. *** * Adding Cave Quality repository to Karaf. This only needs to be done once. *** karaf@root()> maven:repository-add -id quality http://localhost:8181/cave/repository/quality/ == Remote repositories ID │ URL │ Releases │ Snapshots │ Defined in ────────────────────────────────┼────────────────────────────────────────────────────────────────┼─────────────┼─────────────┼─────────── central │ https://repo1.maven.org/maven2/ │ yes (daily) │ no │ PID apache │ https://repository.apache.org/content/groups/snapshots-group/ │ no │ yes (daily) │ PID ops4j.sonatype.snapshots.deploy │ https://oss.sonatype.org/content/repositories/ops4j-snapshots/ │ no │ yes (daily) │ PID quality │ http://localhost:8181/cave/repository/quality/ │ yes (daily) │ no │ PID == Default repositories ID │ URL │ Releases │ Snapshots ────────────────────────┼──────────────────────────────────────────────────────┼─────────────┼──────────── system.repository │ file:/home/pi/Documents/apache-karaf-4.2.9/system/ │ yes (daily) │ yes (daily) kar.repository │ file:/home/pi/Documents/apache-karaf-4.2.9/data/kar/ │ yes (daily) │ yes (daily) child.system.repository │ file:/home/pi/Documents/apache-karaf-4.2.9/system/ │ yes (daily) │ yes (daily) karaf@root()> *** * Moving artifact from the Cave Quality repository to the Cave Production repository through the local Karaf *** 1) Copy the artifact to the Cave Production repository using cave:repository-artifact-add karaf@root()> cave:repository-artifact-add production mvn:foo.bar/test/1.0.0/jar Installing foo.bar:test:jar:1.0.0 to /home/pi/Documents/apache-karaf-4.2.9/data/cave/repository/production/foo/bar/test/1.0.0/test-1.0.0.jar Installed foo.bar:test:jar:1.0.0 to /home/pi/Documents/apache-karaf-4.2.9/data/cave/repository/production/foo/bar/test/1.0.0/test-1.0.0.jar Installing foo.bar:test/maven-metadata.xml to /home/pi/Documents/apache-karaf-4.2.9/data/cave/repository/production/foo/bar/test/maven-metadata-local.xml Installed foo.bar:test/maven-metadata.xml to /home/pi/Documents/apache-karaf-4.2.9/data/cave/repository/production/foo/bar/test/maven-metadata-local.xml karaf@root()> 2) Remove the artifact and related files from the Cave Quality repository. The .pom, .md5, and .sha1 related files where created by mvn:deploy-file karaf@root()> cave:repository-artifact-delete quality mvn:foo.bar/test/1.0.0/jar karaf@root()> cave:repository-artifact-delete quality mvn:foo.bar/test/1.0.0/jar.md5 karaf@root()> cave:repository-artifact-delete quality mvn:foo.bar/test/1.0.0/jar.sha1 karaf@root()> cave:repository-artifact-delete quality mvn:foo.bar/test/1.0.0/pom karaf@root()> cave:repository-artifact-delete quality mvn:foo.bar/test/1.0.0/pom.md5 karaf@root()> cave:repository-artifact-delete quality mvn:foo.bar/test/1.0.0/pom.sha1 karaf@root()> 3) Rebuild repository.xml in each Cave repository karaf@root()> cave:repository-update-bundle-descriptor production karaf@root()> cave:repository-update-bundle-descriptor quality karaf@root()> Paul Spencer > On Jul 1, 2020, at 4:32 PM, Jean-Baptiste Onofre <[email protected]> wrote: > > Hi, > > You can use mvn to that with something like: > > mvn deploy:deploy-file > > Directly in Cave, you can instead use cave:repository-artifact-add command in > a script. > > I think it’s a good idea to create cave:repository-artifact-promote command > supporting regex, copying artifacts from one repo to another. > > Regards > JB > >> Le 1 juil. 2020 à 22:24, Paul Spencer <[email protected]> a écrit : >> >> Cave v4.2.1 >> >> I would like to maintain several site specific “Quality” and a “Production” >> repositories with the intent that artifacts passing “QA” in the “Quality” >> repository will be moved to the site’s “Production” repository. >> >> This can be implemented in one or two instance of Cave per site, so what are >> my options for of copying artifacts passing “QA” to a “Production” >> repository and what would the workflow look like? >> >> From my research: >> - repository-copy is documented to copy entire repositories, not individual >> artifacts or features >> - The Gateway features appear to have no filtering or “allowlist” capability. >> >> Paul Spencer >
