Skip to content

Commit

Permalink
patch: Close Git repo when done parsing version
Browse files Browse the repository at this point in the history
  • Loading branch information
ajoberstar committed Apr 22, 2023
1 parent d3d5070 commit cd28d1e
Showing 1 changed file with 21 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import javax.inject.Inject;

import org.ajoberstar.reckon.core.*;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
import org.gradle.api.file.DirectoryProperty;
import org.gradle.api.logging.Logger;
Expand Down Expand Up @@ -166,30 +167,35 @@ Property<String> getStage() {
}

private Version reckonVersion() {
try (var repo = openRepo()) {
reckonerBuilder.git(repo, tagParser);

Reckoner reckoner;
try {
reckoner = reckonerBuilder.build();
} catch (Exception e) {
throw new ReckonConfigurationException("Failed to configure Reckon: " + e.getMessage(), e);
}

var version = reckoner.reckon();
logger.warn("Reckoned version: {}", version);
return version;
}
}

private Repository openRepo() {
Repository repo;
try {
var builder = new FileRepositoryBuilder();
builder.readEnvironment();
builder.findGitDir(getRepoDirectory().getAsFile().get());
if (builder.getGitDir() == null) {
throw new IllegalStateException("No .git directory found!");
}
var repo = builder.build();

reckonerBuilder.git(repo, tagParser);
return builder.build();
} catch (Exception e) {
// no git repo found
reckonerBuilder.git(null);
return null;
}

Reckoner reckoner;
try {
reckoner = reckonerBuilder.build();
} catch (Exception e) {
throw new ReckonConfigurationException("Failed to configure Reckon: " + e.getMessage(), e);
}

var version = reckoner.reckon();
logger.warn("Reckoned version: {}", version);
return version;
}
}

0 comments on commit cd28d1e

Please sign in to comment.