[ https://issues.apache.org/jira/browse/MDEPLOY-312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17774983#comment-17774983 ]
Jared Stehler commented on MDEPLOY-312: --------------------------------------- Thanks for the pointers! I'd imagine that to use the listener approach, I'd need to call `RepositorySystemSession.setRepositoryListener()` in a mojo or extension prior to the deploy mojo execution, and that callback would happen within the context of the deploy mojo execution? Unfortunately our resolver isn't open source, but operates like this: The first part is the API. Every time a snapshot artifact is built, it reports to the API with the groupId, artifactId, base version, and the new resolved snapshot version. We keep track of the latest snapshot version for each group/artifact/version combo in a db table. The client portion is implemented as a Maven extension (installed by dropping a JAR in $M2_HOME/lib). When you run Maven, this extension gets loaded and hits the API. It asks the API for any new snapshot versions since the last time it ran. For each new snapshot, it writes the new snapshot timestamp to a file inside the .m2 repo. The extension also implements a custom update policy. Maven asks the update policy whether it needs to hit Nexus to check for a new snapshot version. To answer this question, the extension reads the aforementioned file containing the latest snapshot timestamp. It then loads the current maven-metadata.xml from disk and parses out the snapshot timestamp from there. If the timestamp is newer than the snapshot timestamp from the maven-metadata.xml, then there is a new snapshot version and it needs to hit Nexus to fetch it. Otherwise, we already have the latest snapshot and don't need to fetch anything. > [REGRESSION] deploy no longer updates project model > --------------------------------------------------- > > Key: MDEPLOY-312 > URL: https://issues.apache.org/jira/browse/MDEPLOY-312 > Project: Maven Deploy Plugin > Issue Type: Bug > Components: deploy:deploy, deploy:deploy-file > Affects Versions: 3.0.0 > Reporter: Jared Stehler > Priority: Major > > Prior to 3.0.0, the maven-deploy-plugin would update artifacts on the Project > model: > * > [https://github.com/apache/maven/blob/master/maven-compat/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java#L147] > * > [https://github.com/apache/maven-deploy-plugin/blob/maven-deploy-plugin-2.8.2/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java#L276] > This is no longer occurring with the migration to maven-resolver, which is > breaking our downstream plugins relying on the resolved SNAPSHOT version. > -- This message was sent by Atlassian Jira (v8.20.10#820010)