18
18
public class StagingRepoInjector {
19
19
20
20
public static void main (String [] args ) throws Exception {
21
- new StagingRepoInjector (args [0 ]).appendAfter ();
21
+ new StagingRepoInjector (args [0 ]).inject ();
22
22
}
23
23
24
24
private final String stagingRepoUrl ;
25
25
26
- public StagingRepoInjector (String stagingRepoUrl ) {
26
+ private StagingRepoInjector (String stagingRepoUrl ) {
27
27
this .stagingRepoUrl = stagingRepoUrl ;
28
28
}
29
29
30
- private void appendAfter () throws Exception {
30
+ private void inject () throws Exception {
31
31
32
- appendAfter ("junit5-jupiter-extensions/build.gradle" , "mavenCentral()" ,
33
- "%n\t maven { url = '%s' }" .formatted (stagingRepoUrl ));
32
+ var gradleGroovyDslSnippet = """
33
+
34
+ maven {
35
+ url = '%s'
36
+ credentials(HttpHeaderCredentials) {
37
+ name = 'Authorization'
38
+ value = "Bearer ${System.getenv('MAVEN_CENTRAL_USER_TOKEN')}"
39
+ }
40
+ authentication {
41
+ header(HttpHeaderAuthentication)
42
+ }
43
+ }
44
+ """
45
+ .formatted (stagingRepoUrl );
46
+
47
+ var gradleKotlinDslSnippet = """
48
+
49
+ maven {
50
+ url = uri("%s")
51
+ credentials(HttpHeaderCredentials::class) {
52
+ name = "Authorization"
53
+ value = "Bearer ${System.getenv("MAVEN_CENTRAL_USER_TOKEN")}"
54
+ }
55
+ authentication {
56
+ create<HttpHeaderAuthentication>("header")
57
+ }
58
+ }
59
+ """
60
+ .formatted (stagingRepoUrl );
34
61
35
- replace ("junit5-jupiter-starter-ant/build.sh" , "https://repo1.maven.org/maven2" , stagingRepoUrl );
62
+ appendAfter ("junit5-jupiter-extensions/build.gradle" , "mavenCentral()" ,
63
+ gradleGroovyDslSnippet );
36
64
37
- appendAfter ("junit5-jupiter-starter-bazel/MODULE.bazel " , "\" https://repo1.maven.org/maven2\" , " ,
38
- "%n \" %s\" , " .formatted (stagingRepoUrl ));
65
+ replace ("junit5-jupiter-starter-ant/build.sh " , "\" https://repo1.maven.org/maven2" ,
66
+ "--header \" Authorization: Bearer $MAVEN_CENTRAL_USER_TOKEN \" \" %s" .formatted (stagingRepoUrl ));
39
67
40
68
appendAfter ("junit5-jupiter-starter-gradle/build.gradle" , "mavenCentral()" ,
41
- "%n \t maven { url = '%s' }" . formatted ( stagingRepoUrl ) );
69
+ gradleGroovyDslSnippet );
42
70
43
71
appendAfter ("junit5-jupiter-starter-gradle-groovy/build.gradle" , "mavenCentral()" ,
44
- "%n \t maven { url = '%s' }" . formatted ( stagingRepoUrl ) );
72
+ gradleGroovyDslSnippet );
45
73
46
74
appendAfter ("junit5-jupiter-starter-gradle-kotlin/build.gradle.kts" , "mavenCentral()" ,
47
- "%n\t maven(url = \" %s\" )" .formatted (stagingRepoUrl ));
48
-
49
- var mavenPomRepo = """
50
-
51
-
52
- \t <repositories>
53
- \t \t <repository>
54
- \t \t \t <id>central-staging</id>
55
- \t \t \t <url>%s</url>
56
- \t \t </repository>
57
- \t </repositories>
58
- """ .stripIndent ().stripTrailing ().formatted (stagingRepoUrl );
59
-
60
- appendAfter ("junit5-jupiter-starter-maven/pom.xml" , "</build>" , mavenPomRepo );
61
-
62
- appendAfter ("junit5-jupiter-starter-maven-kotlin/pom.xml" , "</build>" , mavenPomRepo );
63
-
64
- appendAtEnd ("junit5-jupiter-starter-sbt/build.sbt" ,
65
- "%nresolvers += \" central-staging\" at \" %s\" %n" .formatted (stagingRepoUrl ));
75
+ gradleKotlinDslSnippet );
66
76
67
77
appendAfter ("junit5-migration-gradle/build.gradle" , "mavenCentral()" ,
68
- "%n\t maven { url = '%s' }" .formatted (stagingRepoUrl ));
69
-
70
- appendAfter ("junit5-migration-maven/pom.xml" , "</build>" , mavenPomRepo );
78
+ gradleGroovyDslSnippet );
71
79
72
80
replace ("junit5-modular-world/BUILDING" , "\" https://repo1.maven.org/maven2\" " ,
73
81
"group.startsWith(\" org.junit\" ) ? \" %s\" : \" https://repo1.maven.org/maven2\" " .formatted (stagingRepoUrl ));
74
82
75
83
appendAfter ("junit5-multiple-engines/build.gradle.kts" , "mavenCentral()" ,
76
- "%n \t maven(url = \" %s \" )" . formatted ( stagingRepoUrl ) );
84
+ gradleKotlinDslSnippet );
77
85
}
78
86
79
87
void appendAfter (String path , String token , String addedContent ) throws IOException {
@@ -94,10 +102,6 @@ void replace(String path, String token, String replacement) throws IOException {
94
102
});
95
103
}
96
104
97
- void appendAtEnd (String path , String addedContent ) throws IOException {
98
- process (path , content -> content .append (addedContent ));
99
- }
100
-
101
105
void process (String path , Consumer <StringBuilder > modification ) throws IOException {
102
106
System .out .printf ("Processing %s..." , path );
103
107
System .out .flush ();
0 commit comments