]> git.argeo.org Git - gpl/argeo-slc.git/blob - maven/maven-argeo-osgi-plugin/src/main/java/org/argeo/slc/maven/plugins/osgi/DeployBundlesMojo.java
Add update manifest feature
[gpl/argeo-slc.git] / maven / maven-argeo-osgi-plugin / src / main / java / org / argeo / slc / maven / plugins / osgi / DeployBundlesMojo.java
1 package org.argeo.slc.maven.plugins.osgi;
2
3 import java.io.File;
4 import java.util.List;
5
6 import org.apache.maven.artifact.Artifact;
7 import org.apache.maven.artifact.deployer.ArtifactDeployer;
8 import org.apache.maven.artifact.deployer.ArtifactDeploymentException;
9 import org.apache.maven.plugin.MojoExecutionException;
10 import org.apache.maven.plugin.MojoFailureException;
11 import org.apache.maven.project.artifact.ProjectArtifactMetadata;
12
13 /**
14 * @goal deploy-bundles
15 * @phase deploy
16 * @author mbaudier
17 *
18 */
19 public class DeployBundlesMojo extends AbstractBundlesPackagerMojo {
20 /** @component */
21 private ArtifactDeployer deployer;
22
23 public void execute() throws MojoExecutionException, MojoFailureException {
24 List bundlePackages = analyze(false);
25 for (int i = 0; i < bundlePackages.size(); i++) {
26 AbstractBundlesPackagerMojo.BundlePackage bundlePackage = (BundlePackage) bundlePackages
27 .get(i);
28 try {
29 Artifact artifact = bundlePackage.getArtifact();
30 ProjectArtifactMetadata metadata = new ProjectArtifactMetadata(
31 artifact, bundlePackage.getPomFile());
32 artifact.addMetadata(metadata);
33 deployer.deploy(bundlePackage.getPackageFile(), artifact,
34 deploymentRepository, local);
35 } catch (ArtifactDeploymentException e) {
36 throw new MojoExecutionException("Could not deploy bundle "
37 + bundlePackage.getBundleDir(), e);
38 }
39 }
40
41 // bundles POM
42 try {
43 deployer.deploy(bundlesPomFile(), bundlesPomArtifact(),
44 deploymentRepository, local);
45 deployer.deploy(new File(baseDir.getPath() + File.separator
46 + "pom.xml"), project.getArtifact(), deploymentRepository,
47 local);
48 } catch (ArtifactDeploymentException e) {
49 throw new MojoExecutionException("Could not deploy bundles POM", e);
50 }
51
52 }
53 }