ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/AE/installer2/src/net/oni2/aeinstaller/backend/oni/XMLTools.java
Revision: 720
Committed: Thu Mar 21 11:33:53 2013 UTC (12 years, 6 months ago) by alloc
Content type: text/x-java
File size: 1591 byte(s)
Log Message:
AEI2: Looooots of refactorings for breaking out independent features into libraries

File Contents

# Content
1 package net.oni2.aeinstaller.backend.oni;
2
3 import java.io.File;
4 import java.io.IOException;
5 import java.util.Vector;
6
7 import net.oni2.aeinstaller.backend.CaseInsensitiveFile;
8 import net.oni2.aeinstaller.backend.Paths;
9 import net.oni2.platformtools.applicationinvoker.ApplicationInvoker;
10 import net.oni2.platformtools.applicationinvoker.ApplicationInvocationResult;
11 import net.oni2.platformtools.applicationinvoker.EExeType;
12 import net.oni2.platformtools.applicationinvoker.ERuntimeNotInstalledException;
13
14 /**
15 * @author Christian Illy
16 */
17 public class XMLTools {
18
19 /**
20 * Patch the given XML file with the given patch
21 *
22 * @param patch
23 * Patchfile
24 * @param source
25 * File to patch
26 *
27 * @return XMLTools output
28 */
29 public static ApplicationInvocationResult patch(File patch, File source) {
30 Vector<String> params = new Vector<String>();
31 // xmlTools.exe patchfile -filename:PATCH -forceinfiles:TOPATCH
32 params.add("patchfile");
33 params.add("-filename:" + patch.getPath());
34 params.add("-forceinfiles:" + source.getPath());
35 ApplicationInvocationResult res = null;
36 try {
37 res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null,
38 getProgramFile(), params);
39 } catch (IOException e) {
40 e.printStackTrace();
41 } catch (ERuntimeNotInstalledException e) {
42 e.printStackTrace();
43 }
44 return res;
45 }
46
47 private static File getProgramFile() {
48 File toolsPath = CaseInsensitiveFile.getCaseInsensitiveFile(
49 Paths.getEditionBasePath(), "Tools");
50 return CaseInsensitiveFile.getCaseInsensitiveFile(toolsPath,
51 "xmlTools.exe");
52 }
53 }