@@ -31,6 +31,7 @@ public sealed class GitVersionImpl implements GitVersion permits GitVersionImpl.
31
31
private final boolean strict ;
32
32
private Git git ;
33
33
private final Lazy <Info > info = Lazy .of (() -> this .calculateInfo (this ::getSubprojectCommitCount ));
34
+ private final Lazy <String > url = Lazy .of (this ::calculateUrl );
34
35
private boolean closed = false ;
35
36
36
37
// Filesystem
@@ -113,6 +114,11 @@ public GitVersion.Info getInfo() {
113
114
return this .info .get ();
114
115
}
115
116
117
+ @ Override
118
+ public @ Nullable String getUrl () {
119
+ return this .url .get ();
120
+ }
121
+
116
122
/** @see #info */
117
123
private Info calculateInfo (CommitCountProvider commitCountProvider ) {
118
124
try {
@@ -173,15 +179,26 @@ private Info calculateInfo(CommitCountProvider commitCountProvider) {
173
179
}
174
180
}
175
181
182
+ /** @see #url */
183
+ private @ Nullable String calculateUrl () {
184
+ try {
185
+ this .open ();
186
+
187
+ return GitUtils .buildProjectUrl (this .git );
188
+ } catch (Exception e ) {
189
+ return null ;
190
+ }
191
+ }
192
+
176
193
/** @see GitVersion.Info */
177
194
public record Info (
178
- @ Override String getTag ,
179
- @ Override String getOffset ,
180
- @ Override String getHash ,
181
- @ Override String getBranch ,
182
- @ Override String getCommit ,
183
- @ Override String getAbbreviatedId ,
184
- @ Override @ Nullable String getUrl
195
+ String getTag ,
196
+ String getOffset ,
197
+ String getHash ,
198
+ String getBranch ,
199
+ String getCommit ,
200
+ String getAbbreviatedId ,
201
+ @ Deprecated ( forRemoval = true , since = "0.2" ) @ Nullable String getUrl
185
202
) implements GitVersion .Info {
186
203
private static final Info EMPTY = new Info ("0.0" , "0" , "00000000" , "master" , "0000000000000000000000" , "00000000" , null );
187
204
@@ -196,7 +213,7 @@ private static final class Builder {
196
213
private String branch ;
197
214
private String commit ;
198
215
private String abbreviatedId ;
199
- private String url ;
216
+ @ Deprecated ( forRemoval = true , since = "0.2" ) private String url ;
200
217
201
218
private Info build () {
202
219
return new Info (this .tag , this .offset , this .hash , this .branch , this .commit , this .abbreviatedId , this .url );
@@ -355,6 +372,11 @@ public GitVersion.Info getInfo() {
355
372
return GitVersionImpl .Info .EMPTY ;
356
373
}
357
374
375
+ @ Override
376
+ public @ Nullable String getUrl () {
377
+ return null ;
378
+ }
379
+
358
380
@ Override
359
381
public String getTagPrefix () {
360
382
throw new GitVersionExceptionInternal ("Cannot get tag prefix from an empty repository" );
0 commit comments