user944849
user944849

Reputation: 14971

Spring Cloud Dataflow Maven Snapshots - how to set update policy?

I'm developing a custom Spring Cloud Stream Processor and using a local Spring Cloud Dataflow Server (v 1.3.0.M1) to run it. As I'm still experimenting, I am using Maven to deploy snapshots to our internal remote repository, then registering them through the Dataflow shell:

dataflow:>app register --name myproc --type processor --uri maven://com.company.stream.processor:myproc:0.0.1-SNAPSHOT

I deployed a stream using myproc, and saw the info I expected in the logs. So I tweaked the processor, used Maven to rebuild/redeploy to remote repo, and confirmed the update indeed got to our remote repo.

I undeployed the stream, unregistered myproc, then re-registered and re-deployed. But, the server did not download the updated Snapshot version of the processor.

I don't want to have to manually remove snapshots from the local repo each time I register a new copy of the app. Is there a way to configure Maven properties in the application.yml so snapshots are always downloaded? I Googled for a list of Maven properties that may be listed in the .yml file but couldn't find one.

I have these Maven properties in the Dataflow server's application.yml configuration. I also ensured that the settings.xml file for the user running the local server has the updatePolicy set to 'always' but I don't think that's having any effect.

maven:
  local-repository: /tmp/scdf-artifact-repository
  remote-repositories:
    repo1:
      url: https://repo.company.com/maven2
      auth:
        username: user
        password: pw

Upvotes: 0

Views: 448

Answers (1)

Ilayaperumal Gopinathan
Ilayaperumal Gopinathan

Reputation: 4179

Thanks for reporting this. This is indeed a missing feature in Spring Cloud Deployer right now.

The RemoteRepositoryBuilder currently uses the default update policy which is daily. Created https://github.com/spring-cloud/spring-cloud-deployer/issues/229 to track this feature.

Meanwhile, if you want to work around, you can update the spring-cloud-deployer code to set the updatePolicy remoteRepositoryBuilder.setSnapshotPolicy here

Upvotes: 1

Related Questions