1 package org.apache.maven.plugins.enforcer.utils;
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.enforcer.rule.api.EnforcerRuleException;
23 import org.apache.maven.model.DistributionManagement;
24 import org.apache.maven.project.MavenProject;
25
26
27
28
29 public class DistributionManagementCheck
30 {
31 private DistributionManagement distributionManagement;
32
33 public DistributionManagementCheck( MavenProject project )
34 {
35 this.distributionManagement = project.getOriginalModel().getDistributionManagement();
36 }
37
38 public void execute( boolean isAllowRepository, boolean isAllowSnapshotRepository, boolean isAllowSite )
39 throws EnforcerRuleException
40 {
41 if ( hasDistributionManagement() )
42 {
43 if ( !isAllowRepository && hasRepository() )
44 {
45 throw new EnforcerRuleException( "You have defined a repository in distributionManagement." );
46 }
47 else if ( !isAllowSnapshotRepository && hasSnapshotRepository() )
48 {
49 throw new EnforcerRuleException( "You have defined a snapshotRepository in distributionManagement." );
50 }
51 else if ( !isAllowSite && hasSite() )
52 {
53 throw new EnforcerRuleException( "You have defined a site in distributionManagement." );
54 }
55 }
56 }
57
58 private boolean hasRepository()
59 {
60 return getDistributionManagement().getRepository() != null;
61 }
62
63 public DistributionManagement getDistributionManagement()
64 {
65 return distributionManagement;
66 }
67
68 public void setDistributionManagement( DistributionManagement distributionManagement )
69 {
70 this.distributionManagement = distributionManagement;
71 }
72
73 private boolean hasSnapshotRepository()
74 {
75 return getDistributionManagement().getSnapshotRepository() != null;
76 }
77
78 private boolean hasSite()
79 {
80 return getDistributionManagement().getSite() != null;
81 }
82
83 private boolean hasDistributionManagement()
84 {
85 return getDistributionManagement() != null;
86 }
87 }