1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.github.maven_nar.cpptasks;
21
22 import java.io.IOException;
23
24 import com.github.maven_nar.cpptasks.compiler.ProcessorConfiguration;
25 import com.github.maven_nar.cpptasks.compiler.ProgressMonitor;
26
27 public class CCTaskProgressMonitor implements ProgressMonitor {
28 private ProcessorConfiguration config;
29 private final TargetHistoryTable history;
30 private final VersionInfo versionInfo;
31 private long lastCommit = -1;
32
33 public CCTaskProgressMonitor(final TargetHistoryTable history, final VersionInfo versionInfo) {
34 this.history = history;
35 this.versionInfo = versionInfo;
36 }
37
38 @Override
39 public void finish(final ProcessorConfiguration config, final boolean normal) {
40 final long current = System.currentTimeMillis();
41 if (current - this.lastCommit > 120000) {
42 try {
43 this.history.commit();
44 this.lastCommit = System.currentTimeMillis();
45 } catch (final IOException ex) {
46 }
47 }
48 }
49
50 @Override
51 public void progress(final String[] sources) {
52 this.history.update(this.config, sources, this.versionInfo);
53 final long current = System.currentTimeMillis();
54 if (current - this.lastCommit > 120000) {
55 try {
56 this.history.commit();
57 this.lastCommit = current;
58 } catch (final IOException ex) {
59 }
60 }
61 }
62
63 @Override
64 public void start(final ProcessorConfiguration config) {
65 if (this.lastCommit < 0) {
66 this.lastCommit = System.currentTimeMillis();
67 }
68 this.config = config;
69 }
70 }