1 package org.apache.maven.shared.release.phase;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.scm.manager.NoSuchScmProviderException;
23 import org.apache.maven.scm.provider.ScmProvider;
24 import org.apache.maven.scm.repository.ScmRepository;
25 import org.apache.maven.scm.repository.ScmRepositoryException;
26 import org.apache.maven.shared.release.ReleaseExecutionException;
27 import org.apache.maven.shared.release.ReleaseFailureException;
28 import org.apache.maven.shared.release.config.ReleaseDescriptor;
29 import org.apache.maven.shared.release.env.ReleaseEnvironment;
30 import org.apache.maven.shared.release.scm.ReleaseScmRepositoryException;
31 import org.apache.maven.shared.release.scm.ScmRepositoryConfigurator;
32 import org.codehaus.plexus.component.annotations.Requirement;
33
34
35
36
37
38
39 public abstract class AbstractReleasePomsPhase extends AbstractReleasePhase
40 {
41
42
43
44 @Requirement
45 private ScmRepositoryConfigurator scmRepositoryConfigurator;
46
47 protected ScmRepository getScmRepository( ReleaseDescriptor releaseDescriptor,
48 ReleaseEnvironment releaseEnvironment )
49 throws ReleaseFailureException, ReleaseExecutionException
50 {
51 try
52 {
53 return scmRepositoryConfigurator.getConfiguredRepository( releaseDescriptor,
54 releaseEnvironment.getSettings() );
55 }
56 catch ( ScmRepositoryException exception )
57 {
58 throw new ReleaseScmRepositoryException( exception.getMessage(), exception.getValidationMessages() );
59 }
60 catch ( NoSuchScmProviderException exception )
61 {
62 throw new ReleaseExecutionException( "Unable to configure SCM repository: " + exception.getMessage(),
63 exception );
64 }
65 }
66
67 protected ScmProvider getScmProvider( ScmRepository scmRepository )
68 throws ReleaseExecutionException
69 {
70 try
71 {
72 return scmRepositoryConfigurator.getRepositoryProvider( scmRepository );
73 }
74 catch ( NoSuchScmProviderException exception )
75 {
76 throw new ReleaseExecutionException( "Unable to configure SCM repository: " + exception.getMessage(),
77 exception );
78 }
79 }
80 }