Skip to content

Commit 9e1ba9f

Browse files
author
Hugo Dias
committed
Fix Sonar issues [patch]
1 parent 05c7d2d commit 9e1ba9f

21 files changed

+108
-97
lines changed

build.gradle

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
id 'java-gradle-plugin'
33
id "com.diffplug.spotless" version "6.11.0"
4-
// id 'pt.com.hugo-dias.git-versioner' version '1.0.0'
4+
id "pt.com.hugo-dias.git-versioner" version "1.0.1"
55
id 'maven-publish'
66
id "com.gradle.plugin-publish" version "1.0.0"
77
id "pl.droidsonroids.jacoco.testkit" version "1.0.7"
@@ -10,7 +10,6 @@ plugins {
1010
}
1111

1212
group 'pt.com.hugo-dias.gradle.gitversioner'
13-
version '1.0.1'
1413

1514
repositories {
1615
mavenCentral()
@@ -90,3 +89,11 @@ sonarqube {
9089
// property "sonar.cpd.exclusions", "src/test/**/*"
9190
}
9291
}
92+
93+
versioner {
94+
startFrom {
95+
major = 1
96+
minor = 0
97+
patch = 1
98+
}
99+
}

src/main/java/pt/com/hugodias/gradle/gitversioner/VersionerPlugin.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
package pt.com.hugodias.gradle.gitversioner;
33

44
import java.io.File;
5-
import org.gradle.api.Action;
65
import org.gradle.api.Plugin;
76
import org.gradle.api.Project;
87
import org.gradle.api.tasks.TaskProvider;
@@ -40,18 +39,15 @@ public void apply(Project project) {
4039
});
4140

4241
project.afterEvaluate(
43-
new Action<Project>() {
44-
@Override
45-
public void execute(Project project) {
46-
if (extension.getCalculatedVersion() == null) {
47-
VersionerConfig config = VersionerConfig.fromExtension(extension);
48-
String version = versioner.version(config).print(config.getPattern());
49-
project.setVersion(version);
50-
}
51-
52-
printVersionTask.get().getVersion().set(project.getVersion().toString());
53-
tagVersionTask.get().getVersion().set(project.getVersion().toString());
42+
innerProject -> {
43+
if (extension.getCalculatedVersion() == null) {
44+
VersionerConfig config = VersionerConfig.fromExtension(extension);
45+
String version = versioner.version(config).print(config.getPattern());
46+
innerProject.setVersion(version);
5447
}
48+
49+
printVersionTask.get().getVersion().set(innerProject.getVersion().toString());
50+
tagVersionTask.get().getVersion().set(innerProject.getVersion().toString());
5551
});
5652
}
5753
}

src/main/java/pt/com/hugodias/gradle/gitversioner/configuration/Match.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33

44
import org.gradle.api.provider.Property;
55

6-
public abstract class Match {
7-
public abstract Property<String> getMajor();
6+
public interface Match {
7+
Property<String> getMajor();
88

9-
public abstract Property<String> getMinor();
9+
Property<String> getMinor();
1010

11-
public abstract Property<String> getPatch();
11+
Property<String> getPatch();
1212
}

src/main/java/pt/com/hugodias/gradle/gitversioner/configuration/Pattern.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33

44
import org.gradle.api.provider.Property;
55

6-
public abstract class Pattern {
7-
public abstract Property<String> getPattern();
6+
public interface Pattern {
7+
Property<String> getPattern();
88
}

src/main/java/pt/com/hugodias/gradle/gitversioner/configuration/StartFrom.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33

44
import org.gradle.api.provider.Property;
55

6-
public abstract class StartFrom {
7-
public abstract Property<Integer> getMajor();
6+
public interface StartFrom {
7+
Property<Integer> getMajor();
88

9-
public abstract Property<Integer> getMinor();
9+
Property<Integer> getMinor();
1010

11-
public abstract Property<Integer> getPatch();
11+
Property<Integer> getPatch();
1212
}

src/main/java/pt/com/hugodias/gradle/gitversioner/configuration/Tag.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
import org.gradle.api.provider.Property;
55

6-
public abstract class Tag {
7-
public abstract Property<String> getPrefix();
6+
public interface Tag {
7+
Property<String> getPrefix();
88

9-
public abstract Property<Boolean> getUseCommitMessage();
9+
Property<Boolean> getUseCommitMessage();
1010
}

src/main/java/pt/com/hugodias/gradle/gitversioner/configuration/git/Authentication.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33

44
import org.gradle.api.tasks.Nested;
55

6-
public abstract class Authentication {
6+
public interface Authentication {
77
@Nested
8-
public abstract Ssh getSsh();
8+
Ssh getSsh();
99

1010
@Nested
11-
public abstract Https getHttps();
11+
Https getHttps();
1212
}

src/main/java/pt/com/hugodias/gradle/gitversioner/configuration/git/Git.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import org.gradle.api.tasks.Nested;
55

6-
public abstract class Git {
6+
public interface Git {
77
@Nested
8-
public abstract Authentication getAuthentication();
8+
Authentication getAuthentication();
99
}

src/main/java/pt/com/hugodias/gradle/gitversioner/configuration/git/Https.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33

44
import org.gradle.api.provider.Property;
55

6-
public abstract class Https {
7-
public abstract Property<String> getUsername();
6+
public interface Https {
7+
Property<String> getUsername();
88

9-
public abstract Property<String> getPassword();
9+
Property<String> getPassword();
1010

11-
public abstract Property<String> getToken();
11+
Property<String> getToken();
1212
}

src/main/java/pt/com/hugodias/gradle/gitversioner/configuration/git/Ssh.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33

44
import org.gradle.api.provider.Property;
55

6-
public abstract class Ssh {
7-
public abstract Property<Boolean> getStrictSsl();
6+
public interface Ssh {
7+
Property<Boolean> getStrictSsl();
88
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/* (C) 2022 Hugo Dias */
2+
package pt.com.hugodias.gradle.gitversioner.core.exception;
3+
4+
public class TaggingException extends RuntimeException {
5+
public TaggingException(Throwable cause) {
6+
super(cause);
7+
}
8+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/* (C) 2022 Hugo Dias */
2+
package pt.com.hugodias.gradle.gitversioner.core.exception;
3+
4+
public class VersionerException extends RuntimeException {
5+
public VersionerException(Throwable cause) {
6+
super(cause);
7+
}
8+
}

src/main/java/pt/com/hugodias/gradle/gitversioner/core/tag/GitTagger.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.eclipse.jgit.api.errors.GitAPIException;
1212
import org.eclipse.jgit.transport.CredentialsProvider;
1313
import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
14+
import pt.com.hugodias.gradle.gitversioner.core.exception.TaggingException;
1415

1516
@Data
1617
@Builder
@@ -30,7 +31,7 @@ public void tag(String version) {
3031
tagCommand.call();
3132
git.push().add(prefixedVersion).setCredentialsProvider(credentialsProvider).call();
3233
} catch (IOException | GitAPIException e) {
33-
throw new RuntimeException(e);
34+
throw new TaggingException(e);
3435
}
3536
}
3637

src/main/java/pt/com/hugodias/gradle/gitversioner/core/version/Versioner.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,20 @@
1010
import lombok.val;
1111
import org.eclipse.jgit.api.Git;
1212
import org.eclipse.jgit.api.errors.GitAPIException;
13-
import org.eclipse.jgit.api.errors.NoHeadException;
13+
import pt.com.hugodias.gradle.gitversioner.core.exception.VersionerException;
1414

1515
@Data
1616
@Builder
1717
public class Versioner {
1818
private File gitFolder;
1919

2020
public Version version(VersionerConfig config) {
21-
try {
21+
try (Git git = Git.open(gitFolder)) {
2222
var major = config.getStartFromMajor();
2323
var minor = config.getStartFromMinor();
2424
var patch = config.getStartFromPatch();
2525
var commit = 0;
2626

27-
val git = Git.open(gitFolder);
2827
val branch = git.getRepository().getBranch();
2928
val hash = git.getRepository().findRef("HEAD").getObjectId().getName();
3029

@@ -56,12 +55,8 @@ public Version version(VersionerConfig config) {
5655
.branch(branch)
5756
.hash(hash)
5857
.build();
59-
} catch (IOException e) {
60-
throw new RuntimeException(e);
61-
} catch (NoHeadException e) {
62-
throw new RuntimeException(e);
63-
} catch (GitAPIException e) {
64-
throw new RuntimeException(e);
58+
} catch (IOException | GitAPIException e) {
59+
throw new VersionerException(e);
6560
}
6661
}
6762

src/test/java/pt/com/hugodias/gradle/gitversioner/GitVersionerTest.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,28 @@
1313
import pt.com.hugodias.gradle.gitversioner.util.Project;
1414

1515
@FunctionalTest
16-
public class GitVersionerTest {
16+
class GitVersionerTest {
1717

1818
private File directory;
1919
private Project project;
2020
private Gradle gradle;
2121

2222
@BeforeEach
23-
public void setUp() {
23+
void setUp() {
2424
directory = new File("build/tmp/functionalTest/GitVersionerTest/");
2525
directory.mkdirs();
2626
project = Project.builder().directory(directory).build();
2727
gradle = Gradle.builder().directory(directory).build();
2828
}
2929

3030
@AfterEach
31-
public void tearDown() throws IOException {
31+
void tearDown() throws IOException {
3232
FileUtils.deleteDirectory(directory);
3333
}
3434

3535
@DisplayName("Version is available after forcing version resolution in Groovy")
3636
@Test
37-
public void testVersionIsAvailableAfterForcingVersionGroovy()
38-
throws IOException, GitAPIException {
37+
void testVersionIsAvailableAfterForcingVersionGroovy() throws IOException, GitAPIException {
3938
project.withSettingsFile().withGit().withGroovyGradleFile("configured");
4039
addCommits();
4140

@@ -46,8 +45,7 @@ public void testVersionIsAvailableAfterForcingVersionGroovy()
4645

4746
@DisplayName("Version is available after forcing version resolution in Kotlin")
4847
@Test
49-
public void testVersionIsAvailableAfterForcingVersionKotlin()
50-
throws IOException, GitAPIException {
48+
void testVersionIsAvailableAfterForcingVersionKotlin() throws IOException, GitAPIException {
5149
project.withSettingsFile().withGit().withKotlinGradleFile("configured");
5250
addCommits();
5351

src/test/java/pt/com/hugodias/gradle/gitversioner/VersionerPluginTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
import org.gradle.testfixtures.ProjectBuilder;
99
import org.junit.jupiter.api.Test;
1010

11-
public class VersionerPluginTest {
11+
class VersionerPluginTest {
1212

1313
@Test
14-
public void greetingTest() {
14+
void greetingTest() {
1515
Project project = ProjectBuilder.builder().build();
1616
project.getPluginManager().apply("pt.com.hugo-dias.git-versioner");
1717

0 commit comments

Comments
 (0)