diff --git a/agent/src/main/java/com/teamscale/jacoco/agent/commit_resolution/git_properties/CommitInfo.java b/agent/src/main/java/com/teamscale/jacoco/agent/commit_resolution/git_properties/CommitInfo.java index 165c1733..e71c5043 100644 --- a/agent/src/main/java/com/teamscale/jacoco/agent/commit_resolution/git_properties/CommitInfo.java +++ b/agent/src/main/java/com/teamscale/jacoco/agent/commit_resolution/git_properties/CommitInfo.java @@ -12,6 +12,11 @@ public class CommitInfo { /** The commit descriptor. */ public CommitDescriptor commit; + /** + * If the commit property is set via the teamscale.timestamp property in a git.properties file, this + * should be preferred to the revision. For details see TS-38561. + */ public boolean preferCommitDescriptorOverRevision = false; /** Constructor. */ diff --git a/agent/src/main/java/com/teamscale/jacoco/agent/commit_resolution/git_properties/GitPropertiesLocatorUtils.java b/agent/src/main/java/com/teamscale/jacoco/agent/commit_resolution/git_properties/GitPropertiesLocatorUtils.java index e5f5b6ee..076c3e0b 100644 --- a/agent/src/main/java/com/teamscale/jacoco/agent/commit_resolution/git_properties/GitPropertiesLocatorUtils.java +++ b/agent/src/main/java/com/teamscale/jacoco/agent/commit_resolution/git_properties/GitPropertiesLocatorUtils.java @@ -51,7 +51,7 @@ public class GitPropertiesLocatorUtils { /** * You can provide a teamscale timestamp in git.properties files to overwrite the revision. See .... + * href="https://cqse.atlassian.net/browse/TS-38561">TS-38561. */ static final String GIT_PROPERTIES_TEAMSCALE_TIMESTAMP = "teamscale.timestamp"; @@ -65,7 +65,16 @@ public class GitPropertiesLocatorUtils { private static final Pattern NESTED_JAR_REGEX = Pattern.compile("[jwea]ar:file:(.*?)\\*(.*)", Pattern.CASE_INSENSITIVE); + /** + * Defined in GitCommitIdMojo + */ private static final String GIT_PROPERTIES_DEFAULT_MAVEN_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ssXXX"; + + /** + * Defined in GitPropertiesPlugin + */ private static final String GIT_PROPERTIES_DEFAULT_GRADLE_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ssZ"; /** File ending of Java archive packages */ @@ -355,7 +364,7 @@ public static CommitInfo getCommitInfoFromGitProperties( long gitTimestamp = 0; try { gitTimestamp = ZonedDateTime.parse(gitTime, dateTimeFormatter).toInstant().toEpochMilli(); - } catch (Exception e) { + } catch (DateTimeParseException e) { throw new InvalidGitPropertiesException( "Could not parse the timestamp in property '" + GIT_PROPERTIES_GIT_COMMIT_TIME + "'." + "\nIn " + entryName + " in " + jarFile + "." + diff --git a/agent/src/main/java/com/teamscale/jacoco/agent/upload/artifactory/ArtifactoryConfig.java b/agent/src/main/java/com/teamscale/jacoco/agent/upload/artifactory/ArtifactoryConfig.java index dff9984a..fc4ceb3f 100644 --- a/agent/src/main/java/com/teamscale/jacoco/agent/upload/artifactory/ArtifactoryConfig.java +++ b/agent/src/main/java/com/teamscale/jacoco/agent/upload/artifactory/ArtifactoryConfig.java @@ -223,20 +223,4 @@ public static List parseGitProperties(File file, boolean isJarFile, return result; } - - /** - * Returns a value from a git properties file. - */ - private static String getGitPropertiesValue(Properties gitProperties, String key, String entryName, File jarFile) - throws InvalidGitPropertiesException { - String value = gitProperties.getProperty(key); - if (StringUtils.isEmpty(value)) { - throw new InvalidGitPropertiesException("No entry or empty value for '" + key + "' in " + entryName + " in " - + jarFile + "." + "\nContents of " + GitPropertiesLocatorUtils.GIT_PROPERTIES_FILE_NAME + ":\n" - + gitProperties); - } - - return value; - } - }