7
votes

OSS Nexus: Comment utiliser API de repos pour récupérer la dernière version en tant que texte

J'aimerais récupérer le nom de version la plus récente (en tant que texte) pour pouvoir renommer les artificats récupérés de Nexus qui ont des horodatages.

Ce que je fais est de créer une archive de plusieurs archives contenant des projets de jar internes , dépendances, scripts connexes, ... mais si les bocaux emballés sont des instantanés, les archives se retrouvent avec des horodatages lors de la téléchargement. Ces horodarestampes remplacent l'extension XXX-Snapshot de l'archive et je ne peux apporter aucun script automatisé pour effectuer des tâches telles que l'extraction de l'archive, faire renommer le répertoire, créer des liens symboliques, ... P>

Je n'ai pas trouvé Tout ce qui est lié à cela dans la documentation de l'API de repos. Y a-t-il un moyen simple de le faire avec l'API de repos ou une sorte de script? P>

Merci. P>

EDIT: P>

de la réponse ci-dessous J'ai réussi à Récupérez la dernière version d'instantanée à l'aide du dernier au lieu du nom de la version: p>

puis à l'aide d'un script, je peux récupérer la version de base. P>

#!/bin/bash
VERSION=`curl --silent "http://redmine.saic.int:8081/nexus/service/local/artifact/maven/resolve?r=snapshots&g=com.g2mobility&a=G2-Modem-Mgr&v=LATEST&c=executable&e=tar.gz" | sed -n 's|<baseVersion>\(.*\)</baseVersion>|\1|p'`

VERSION=`echo "$VERSION" | tr -d ' '`

echo "Version is $VERSION"


0 commentaires

3 Réponses :


0
votes

Il s'agissait d'une affectation supprimée d'un écouteur proposant une autre manière d'assembler des distributions de contenu de référentiel Maven:

Ivy A> est un autre client de gestion de dépendance, qui peut être exécuté à partir du Ligne comme suit: P>

<ivysettings>
    <settings defaultResolver="repos"/>
    <resolvers>
        <chain name="repos">
            <ibiblio name="central" m2compatible="true"/>
            <ibiblio name="cometd-snapshot" root="https://oss.sonatype.org/content/repositories/cometd-snapshots/" m2compatible="true"/>
        </chain>
    </resolvers>
</ivysettings>


1 commentaires

C'est ce que je veux faire, mais nous utilisons Maven et que nous ne voulons pas passer à une autre gestionnaire de dépendances.



8
votes

Nexus a l'API de repos suivant pour décrire comment les modules maven sont résolus:

  • artefact maven résolve li> ul>

    Exemple h1>

    Pour obtenir les détails sur l'artefact suivant: p> xxx pré>

    Utilisez l'API de repos suivant: p> https://oss.sonatype.org/service/local/artifact/maven/resolve?r=cometd-snapshots&g=org.cometd.jetty&a=cometd-Jetty-Client&v=1.0-snapshot&e=jar p>

    retourne le rapport suivant: P>

    <artifact-resolution>
      <data>
        <presentLocally>true</presentLocally>
        <groupId>org.cometd.jetty</groupId>
        <artifactId>cometd-jetty-client</artifactId>
        <version>1.0-20090313.100344-2</version>
        <baseVersion>1.0-SNAPSHOT</baseVersion>
        <extension>jar</extension>
        <snapshot>true</snapshot>
        <snapshotBuildNumber>2</snapshotBuildNumber>
        <snapshotTimeStamp>1236938624000</snapshotTimeStamp>
        <sha1>0cbf7163f19bf4586e27632a1f742dd0c0e0036d</sha1>
        <repositoryPath>/org/cometd/jetty/cometd-jetty-client/1.0-SNAPSHOT/cometd-jetty-client-1.0-20090313.100344-2.jar</repositoryPath>
      </data>
    </artifact-resolution>
    


0 commentaires

0
votes

La documentation de la résolution Maven Resolve Nexus Repose API peut être trouvée ici: https://maven.java.net/nexus-core-documentation-plugin/core/docs/resve.artifact.maven.resolve.html


1 commentaires

Salut, est possible de le faire sans plugin Nexus? Je vous remercie