we use the maven plugin to execute the project builder import the new files to controltier:
<plugin>
<groupId>com.controltier.ctl.maven.mojo</groupId>
<artifactId>maven-ctl-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>upload to controltier</id>
<phase>pre-integration-test</phase>
<goals>
<goal>command</goal>
</goals>
<configuration>
<ctlBase>${ctlBase}</ctlBase>
<depot>${ctlProject}</depot>
<type>Builder</type>
<name>uit-builder-foo</name>
<command>repoImport</command>
<args>-extension tar.gz -filebase ${ctier.filebase}
-targetdir ${project.build.directory} -type
${ctier.package-type}
-buildstamp
${project.version}-${ctier.package-type}
-packageBuildtimePattern "yyyy-MM-dd HH:mm:ss"</args>
</configuration>
</execution>
</executions>
</plugin>
As you see, this includes the maven POM-version into the buildstamp.
Now maven convention is that there are SNAPSHOT and RELEASE versions. While for snapshots you could have many of them (you typically are only interested in the latest), for RELEASE versions, there can only be one. (Or rather there should be only one).
So when the maven build is for a SNAPSHOT-version, we would like the package to be replaced in ControlTier, but when we are dealing with a RELEASE-version, when there is already a package with that buildstampt, the repoImport should fail.
To your other question, we moved from the workbench to load-resources (which is a big improvement, already). Looking into Change-Dependencies again. To rephrase what the wiki is trying to tell me: For all Services that belong to a Site, I can switch all packages to a newer version, by specifying the appropriate buildstamp.
=> What happes with dependencies to packages that don't have such a buildstamp? Are they ignored?
=> New dependencies still have to be introduced with load-resources, I guess.
=> Does the site/service, for which I change the dependencies be associated to the node from which I run the command?
Any idea, how I sync Change-Dependencies with the xmls & load-resources? At the moment, the XML files are in mercurial, and a push triggers a jenkins-job, which loads these new resources into ControlTier. If the model is then changed via Change-Dependencies, my XML files are out of sync, and I don't see an easy way to get them back in sync again.
Thanks for your help,
Andreas