@Component(role=org.eclipse.tycho.buildversion.BuildTimestampProvider.class,
hint="jgit")
public class JGitBuildTimestampProvider
extends java.lang.Object
implements org.eclipse.tycho.buildversion.BuildTimestampProvider
git status is not clean (i.e.
uncommitted changes are detected).
If uncommitted changes should be tolerated with a warning, configure
<jgit.dirtyWorkingTree>warning</jgit.dirtyWorkingTree>In this case, this timestamp provider will delegate to the default timestamp provider which uses the current build timestamp. For additional flexibility, some files can be ignored using gitignore patters specified in <jgit.ignore> element of tycho-packaging-plugin configuration block.
Typical usage
...
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<version>${tycho-version}</version>
<dependencies>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-buildtimestamp-jgit</artifactId>
<version>${tycho-version}</version>
</dependency>
</dependencies>
<configuration>
<timestampProvider>jgit</timestampProvider>
<jgit.ignore>pom.xml</jgit.ignore>
</configuration>
</plugin>
...
| Modifier and Type | Class and Description |
|---|---|
private static class |
JGitBuildTimestampProvider.DirtyBehavior |
| Modifier and Type | Field and Description |
|---|---|
private org.eclipse.tycho.buildversion.BuildTimestampProvider |
defaultTimestampProvider |
private org.codehaus.plexus.logging.Logger |
logger |
| Constructor and Description |
|---|
JGitBuildTimestampProvider() |
| Modifier and Type | Method and Description |
|---|---|
private static org.eclipse.jgit.treewalk.filter.TreeFilter |
createPathFilter(java.lang.String relPath,
org.apache.maven.plugin.MojoExecution execution) |
private static java.lang.String |
getIgnoreFilter(org.apache.maven.plugin.MojoExecution execution) |
private java.lang.String |
getRelPath(org.eclipse.jgit.lib.Repository repository,
org.apache.maven.project.MavenProject project) |
java.util.Date |
getTimestamp(org.apache.maven.execution.MavenSession session,
org.apache.maven.project.MavenProject project,
org.apache.maven.plugin.MojoExecution execution) |
private static void |
printList(java.io.PrintWriter witer,
java.lang.String prefix,
java.util.Set<java.lang.String> files) |
private static java.lang.String |
toGitStatusStyleOutput(org.eclipse.jgit.lib.IndexDiff diff) |
@Requirement(hint="default") private org.eclipse.tycho.buildversion.BuildTimestampProvider defaultTimestampProvider
@Requirement private org.codehaus.plexus.logging.Logger logger
public java.util.Date getTimestamp(org.apache.maven.execution.MavenSession session,
org.apache.maven.project.MavenProject project,
org.apache.maven.plugin.MojoExecution execution)
throws org.apache.maven.plugin.MojoExecutionException
getTimestamp in interface org.eclipse.tycho.buildversion.BuildTimestampProviderorg.apache.maven.plugin.MojoExecutionExceptionprivate static org.eclipse.jgit.treewalk.filter.TreeFilter createPathFilter(java.lang.String relPath,
org.apache.maven.plugin.MojoExecution execution)
throws java.io.IOException
java.io.IOExceptionprivate static java.lang.String getIgnoreFilter(org.apache.maven.plugin.MojoExecution execution)
private java.lang.String getRelPath(org.eclipse.jgit.lib.Repository repository,
org.apache.maven.project.MavenProject project)
throws java.io.IOException
java.io.IOExceptionprivate static java.lang.String toGitStatusStyleOutput(org.eclipse.jgit.lib.IndexDiff diff)
private static void printList(java.io.PrintWriter witer,
java.lang.String prefix,
java.util.Set<java.lang.String> files)