1 package eu.simuline.m2latex.antTask;
2
3 import org.apache.tools.ant.Task;
4 import org.apache.tools.ant.Project;
5
6 import eu.simuline.m2latex.core.Settings;
7 import eu.simuline.m2latex.core.LatexProcessor;
8 import eu.simuline.m2latex.core.ParameterAdapter;
9
10 import java.io.File;
11
12
13
14
15
16
17 abstract class AbstractLatexTask extends Task implements ParameterAdapter {
18
19
20
21
22 protected Settings settings;
23
24
25 protected LatexProcessor latexProcessor;
26
27
28
29
30
31 public Settings createSettings() {
32 return this.settings = new Settings();
33 }
34
35 private File getPropertyFile(String prop) {
36 return new File(getProject().getProperty(prop));
37 }
38
39
40 public final void initialize() {
41
42
43
44
45
46
47
48
49 if (this.settings == null) {
50
51
52 this.settings = new Settings();
53 }
54 this.settings.setBaseDirectory(getPropertyFile("basedir"));
55 this.settings.setTargetSiteDirectory(getPropertyFile("targetSiteDir"));
56 this.settings.setTargetDirectory(getPropertyFile("targetDir"));
57
58
59
60 this.latexProcessor =
61 new LatexProcessor(this.settings,
62 new AntLogWrapper(getProject()),
63 this);
64 }
65
66 }