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