autoconfurl = "file:/tmp/org.apache.ace.deployment.rp.autoconf.jar" sourceindex = (repo:index /tmp/testrepo) sourcerepo = (repo:repo R5 $sourceindex) targetrepo = (repo:repo OBR http://localhost:8080/obr/repository.xml) releaserepo = (repo:repo OBR http://localhost:9091/obr/repository.xml) echo "Deploying release" deployed = repo:cd $releaserepo $sourcerepo $targetrepo echo "Ensuring autoconf resource" autoconf = (coll:first ($targetrepo find "(osgi.identity=org.apache.ace.deployment.rp.autoconf)")) if { $autoconf } { echo " -> exists" } \ { repo:d $targetrepo $autoconfurl autoconf = (coll:first ($targetrepo find "(osgi.identity=org.apache.ace.deployment.rp.autoconf)")) echo " -> deployed" } echo "Opening workspace" workspace = (ace:cw) echo "Ensuring autoconf artifact" if { (coll:first ($workspace lrp)) } { echo " -> exists" } \ { identity = $autoconf getIdentity version = $autoconf getVersion name = "$identity - $version" url = $autoconf getUrl mimetype = $autoconf getMimetype mimetype = "application/vnd.osgi.bundle" $workspace ca [ artifactName="$name" url="$url" mimetype="$mimetype" Bundle-SymbolicName="$identity" Bundle-Version="$version" Deployment-ProvidesResourceProcessor="org.osgi.deployment.rp.autoconf" ] echo " -> created" } echo "Purging artifacts" artifacts = ($workspace la) each $artifacts { $workspace da $it } echo "Ensuring cdfeature exists" if { (coll:first ($workspace lf "(name=cdfeature)")) } { echo " -> exists" } { $workspace cf "cdfeature"; echo " -> created" } echo "Ensuring cddistribution exists" if { (coll:first ($workspace ld "(name=cddistribution)")) } { echo " -> exists" } { $workspace cd "cddistribution"; echo " -> created" } echo "Ensuring cdtarget exists" if { (coll:first ($workspace lt "(id=cdtarget)")) } { echo " -> exists" } { $workspace ct "cdtarget"; echo " -> created" } echo "Ensuring cdtarget" target = (coll:first ($workspace lt "(id=cdtarget)")) if { $target isRegistered } { } { $target register } $target setAutoApprove false echo "Ensuring f2d association" if { (coll:first ($workspace lf2d "(leftEndpoint=*name=cdfeature*)")) } { echo " -> exists" } { $workspace cf2d "(name=cdfeature)" "(name=cddistribution)" "1" "1"; echo " -> created" } echo "Ensuring a2f association" if { (coll:first ($workspace la2f "(rightEndpoint=*name=cdfeature*)")) } { echo " -> exists" } { $workspace ca2f "(cdartifact=true)" "(name=cdfeature)" "10000" "1"; echo " -> created" } echo "Ensuring d2t association" if { (coll:first ($workspace ld2t "(leftEndpoint=*name=cddistribution*)")) } { echo " -> exists" } \ { $workspace cd2t "(name=cddistribution)" "(id=cdtarget)" "1" "1"; echo " -> created" } echo "Creating artifacts" each $deployed { identity = $it getIdentity version = $it getVersion name = "$identity - $version" url = $it getUrl mimetype = $it getMimetype if { $mimetype equals "application/xml:osgi-autoconf" } \ { $workspace ca [ artifactName="$name" url="$url" mimetype="$mimetype" filename="$name" processorPid="org.osgi.deployment.rp.autoconf" cdartifact="true" ] } \ { $workspace ca [ artifactName="$name" url="$url" mimetype="$mimetype" Bundle-SymbolicName="$identity" Bundle-Version="$version" cdartifact="true" ] } } echo "Ensuring approval on target" if { $target needsApprove } { echo " approving"; $target approve } { echo " no changes" } echo "Comitting workspace" $workspace commit ace:rw $workspace