3131import org .gradle .api .Action ;
3232import org .gradle .api .artifacts .dsl .RepositoryHandler ;
3333import org .gradle .api .artifacts .repositories .MavenArtifactRepository ;
34+ import org .gradle .api .artifacts .repositories .MavenRepositoryContentDescriptor ;
3435import org .gradle .api .artifacts .repositories .PasswordCredentials ;
3536import org .gradle .api .artifacts .repositories .RepositoryContentDescriptor ;
3637import org .junit .jupiter .api .AfterAll ;
@@ -73,15 +74,19 @@ static void cleanup() throws Exception {
7374
7475 private final List <PasswordCredentials > credentials = new ArrayList <>();
7576
77+ private final List <MavenRepositoryContentDescriptor > mavenContent = new ArrayList <>();
78+
7679 @ Test
7780 void mavenRepositoriesWhenNotCommercialSnapshot () {
7881 SpringRepositoriesExtension extension = createExtension ("0.0.0-SNAPSHOT" , "oss" );
7982 extension .mavenRepositories ();
8083 assertThat (this .repositories ).hasSize (2 );
8184 verify (this .repositories .get (0 )).setName ("spring-oss-milestone" );
8285 verify (this .repositories .get (0 )).setUrl ("https://repo.spring.io/milestone" );
86+ verify (this .mavenContent .get (0 )).releasesOnly ();
8387 verify (this .repositories .get (1 )).setName ("spring-oss-snapshot" );
8488 verify (this .repositories .get (1 )).setUrl ("https://repo.spring.io/snapshot" );
89+ verify (this .mavenContent .get (1 )).snapshotsOnly ();
8590 }
8691
8792 @ Test
@@ -92,12 +97,16 @@ void mavenRepositoriesWhenCommercialSnapshot() {
9297 verify (this .repositories .get (0 )).setName ("spring-commercial-release" );
9398 verify (this .repositories .get (0 ))
9499 .setUrl ("https://usw1.packages.broadcom.com/spring-enterprise-maven-prod-local" );
100+ verify (this .mavenContent .get (0 )).releasesOnly ();
95101 verify (this .repositories .get (1 )).setName ("spring-oss-milestone" );
96102 verify (this .repositories .get (1 )).setUrl ("https://repo.spring.io/milestone" );
103+ verify (this .mavenContent .get (1 )).releasesOnly ();
97104 verify (this .repositories .get (2 )).setName ("spring-commercial-snapshot" );
98105 verify (this .repositories .get (2 )).setUrl ("https://usw1.packages.broadcom.com/spring-enterprise-maven-dev-local" );
106+ verify (this .mavenContent .get (2 )).snapshotsOnly ();
99107 verify (this .repositories .get (3 )).setName ("spring-oss-snapshot" );
100108 verify (this .repositories .get (3 )).setUrl ("https://repo.spring.io/snapshot" );
109+ verify (this .mavenContent .get (3 )).snapshotsOnly ();
101110 }
102111
103112 @ Test
@@ -107,6 +116,7 @@ void mavenRepositoriesWhenNotCommercialMilestone() {
107116 assertThat (this .repositories ).hasSize (1 );
108117 verify (this .repositories .get (0 )).setName ("spring-oss-milestone" );
109118 verify (this .repositories .get (0 )).setUrl ("https://repo.spring.io/milestone" );
119+ verify (this .mavenContent .get (0 )).releasesOnly ();
110120 }
111121
112122 @ Test
@@ -117,8 +127,10 @@ void mavenRepositoriesWhenCommercialMilestone() {
117127 verify (this .repositories .get (0 )).setName ("spring-commercial-release" );
118128 verify (this .repositories .get (0 ))
119129 .setUrl ("https://usw1.packages.broadcom.com/spring-enterprise-maven-prod-local" );
130+ verify (this .mavenContent .get (0 )).releasesOnly ();
120131 verify (this .repositories .get (1 )).setName ("spring-oss-milestone" );
121132 verify (this .repositories .get (1 )).setUrl ("https://repo.spring.io/milestone" );
133+ verify (this .mavenContent .get (1 )).releasesOnly ();
122134 }
123135
124136 @ Test
@@ -136,6 +148,7 @@ void mavenRepositoriesWhenCommercialRelease() {
136148 verify (this .repositories .get (0 )).setName ("spring-commercial-release" );
137149 verify (this .repositories .get (0 ))
138150 .setUrl ("https://usw1.packages.broadcom.com/spring-enterprise-maven-prod-local" );
151+ verify (this .mavenContent .get (0 )).releasesOnly ();
139152 }
140153
141154 @ Test
@@ -217,6 +230,7 @@ private Object mavenClosure(InvocationOnMock invocation) {
217230 MavenArtifactRepository repository = mock (MavenArtifactRepository .class );
218231 willAnswer (this ::contentAction ).given (repository ).content (any (Action .class ));
219232 willAnswer (this ::credentialsAction ).given (repository ).credentials (any (Action .class ));
233+ willAnswer (this ::mavenContentAction ).given (repository ).mavenContent (any (Action .class ));
220234 Closure <MavenArtifactRepository > closure = invocation .getArgument (0 );
221235 closure .call (repository );
222236 this .repositories .add (repository );
@@ -239,6 +253,14 @@ private Object credentialsAction(InvocationOnMock invocation) {
239253 return null ;
240254 }
241255
256+ private Object mavenContentAction (InvocationOnMock invocation ) {
257+ MavenRepositoryContentDescriptor mavenContent = mock (MavenRepositoryContentDescriptor .class );
258+ Action <MavenRepositoryContentDescriptor > action = invocation .getArgument (0 );
259+ action .execute (mavenContent );
260+ this .mavenContent .add (mavenContent );
261+ return null ;
262+ }
263+
242264 interface SpringRepositoriesExtension {
243265
244266 void mavenRepositories ();
0 commit comments