Reputation: 14971
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
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