Skip to content

Commit 2554bce

Browse files
committed
Fix generated properties file NPE.
- Adds a test case to verify that the written properties file can be read again.
1 parent 6beb37d commit 2554bce

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

core/src/main/java/pl/project13/core/PropertiesFileGenerator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ public void maybeGeneratePropertiesFile(@Nonnull Properties localProperties, Fil
7575

7676
final String buildTimeProperty = prefixDot + GitCommitPropertyConstant.BUILD_TIME;
7777

78-
propertiesCopy.setProperty(buildTimeProperty, null);
79-
persistedProperties.setProperty(buildTimeProperty, null);
78+
propertiesCopy.setProperty(buildTimeProperty, "");
79+
persistedProperties.setProperty(buildTimeProperty, "");
8080

8181
shouldGenerate = !propertiesCopy.equals(persistedProperties);
8282
} catch (CannotReadFileException ex) {

maven/src/test/java/pl/project13/core/PropertiesFileGeneratorTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,24 @@ public void generatedPropertiesFileDoesNotContainDateComment() throws GitCommitI
6565
+ "commit.id.full=b5993378ffadd1f84dc8da220b9204d157ec0f29\n";
6666
assertEquals(expectedContent, actualContent);
6767
}
68+
69+
@Test
70+
public void rereadGeneratedPropertiesFile() throws GitCommitIdExecutionException, IOException {
71+
Properties properties = new Properties();
72+
properties.put(GitCommitPropertyConstant.COMMIT_ID_FULL, "b5993378ffadd1f84dc8da220b9204d157ec0f29");
73+
properties.put(GitCommitPropertyConstant.BRANCH, "develop");
74+
75+
Path propertiesPath = temporaryFolder.getRoot().toPath().resolve("git.properties");
76+
propertiesFileGenerator.maybeGeneratePropertiesFile(properties, temporaryFolder.getRoot(), propertiesPath.getFileName().toString(), UTF_8);
77+
78+
// Re-read the generated properties file.
79+
propertiesFileGenerator.maybeGeneratePropertiesFile(properties, temporaryFolder.getRoot(), propertiesPath.getFileName().toString(), UTF_8);
80+
81+
byte[] bytes = Files.readAllBytes(propertiesPath);
82+
String actualContent = new String(bytes, UTF_8);
83+
String expectedContent = "#Generated by Git-Commit-Id-Plugin\n"
84+
+ "branch=develop\n"
85+
+ "commit.id.full=b5993378ffadd1f84dc8da220b9204d157ec0f29\n";
86+
assertEquals(expectedContent, actualContent);
87+
}
6888
}

0 commit comments

Comments
 (0)