Hello

What you described is implemented in JBoss Fuse 6.x / Fabric8 v1. But it's
not that big problem to try to implement it.

1b) "scan the configured repositories" - you have
org.ops4j.pax.url.mvn.repositories property in org.ops4j.pa.url.mvn PID
1c) entire point is just "aether resolution operation for SNAPSHOT version"
- see the details here:
http://ggrzybek.blogspot.com/2016/10/using-maven-with-osgi-part-3.html

In Karaf you can:

osgi:install mvn:groupId/artifactId/version

if "version" is X.Y.Z-SNAPSHOT, then simple "osgi:update <bundle-id or
symbolic name>" will go through entire Aether/Maven resolution according to
configured update policy (for example, if local version of metadata is not
older than 1 day, "org.ops4j.pax.url.mvn.globalUpdatePolicy = daily" will
prevent redownloading of metadata.

See http://ggrzybek.blogspot.com/2016/07/using-maven-with-osgi-part-2.html
for more information about pax-url-aether configuration
See http://ggrzybek.blogspot.com/2016/10/using-maven-with-osgi-part-3.html
for more information about SNAPSHOT resolution

I hope this information will help you decide on your design.

regards
Grzegorz Grzybek

2017-09-04 17:43 GMT+02:00 Steinar Bang <[email protected]>:

> I'm thinking about writing an OSGi plugin for karaf that can be
> configured to watch a remote repository for snapshot updates.
>
> The idea is to do something like this
>  1. For each configured bundle, if the bundle has a snapshot version,
> intially do
>     a. Get the maven coordinates
>     b. Scan the configured repositories and chose the first repository
>        that has the artifact
>     c. Download the Repo-URL/groupId/artifactId/version/maven-metadata.xml
>        and parse it to find the most recent snapshot, taking note of the
>        maven repository, newest snapshot version, newest snapshot
>        timestamp, as well as the update time of the maven-metadata.xml
>        file
>  2. Schedule a job that for each configured bundle, that:
>     a. Does a conditional GET for the Repo-URL/groupId/artifactId/
> version/maven-metadata.xml
>        file
>     b. If the conditional GET receives content, parse the content and
>        extract the snapshot version and timestamp and compare them with
>        the save versions to see if they actually have changed
>     c. If a new snapshot has arrived, tell the bundle to update
>
> Right now I'm reading the Pax-URL documentation[1] trying to figure out
> if it's possible to do step 1b.
>
> Does anyone familiar with Pax-Url think this might be feasible? Or is
> the actual repo used so hidden away that it is hard to do?
>
> Thanks!
>
>
> - Steinar
>
> References:
> [1] <https://ops4j1.jira.com/wiki/spaces/paxurl/pages/3833866/Mvn+Protocol
> >
>
> --
> --
> ------------------
> OPS4J - http://www.ops4j.org - [email protected]
>
> ---
> You received this message because you are subscribed to the Google Groups
> "OPS4J" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
------------------
OPS4J - http://www.ops4j.org - [email protected]

--- 
You received this message because you are subscribed to the Google Groups 
"OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to