]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/PackageEditor/src/org/tianocore/packaging/ForceInstallPkg.java
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@671 6f19259b...
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / ForceInstallPkg.java
CommitLineData
878ddf1f 1/** @file\r
2 Java class ForceInstallPkg is used to install a package without DB check.\r
3 \r
4Copyright (c) 2006, Intel Corporation\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12**/\r
13package org.tianocore.packaging;\r
14\r
15import java.io.*;\r
16import java.util.jar.*;\r
17import org.apache.xmlbeans.XmlException;\r
18\r
19/**\r
20 Derived class from FrameworkPkg, installation skipping some checks.\r
21 \r
22 @since PackageEditor 1.0\r
23**/\r
24public class ForceInstallPkg extends FrameworkPkg {\r
25\r
26 private String oldVer = null;\r
27\r
28 private String oldGuid = null;\r
29\r
30 /**\r
31 Constructor with parameters\r
32 \r
33 @param s Package path to be installed \r
34 @param d Destination directory\r
35 **/\r
36 public ForceInstallPkg(String s, String d) {\r
37 super(s, d);\r
38 \r
39 }\r
40\r
41 public void setOldVersion(String v) {\r
42 oldVer = v;\r
43 }\r
44\r
45 public void setOldGuid(String guid) {\r
46 oldGuid = guid;\r
47 }\r
48\r
49 /**\r
50 Set jar file to package name to be installed\r
51 **/\r
52 protected void pre_install() throws DirSame, IOException {\r
53 setJf(new JarFile(getPkg()));\r
54 \r
55 }\r
56\r
57 /**\r
58 Update database file contents after install\r
59 **/\r
60 protected void post_install() throws IOException, XmlException {\r
61 //\r
62 // Get package info. from FDPManifest.xml file\r
63 //\r
64 setJf(new JarFile(getPkg()));\r
65 ManifestContents manFile = new ManifestContents(getManifestInputStream(getJf()));\r
66 setBName(manFile.getBaseName());\r
67 setPVer(manFile.getVersion());\r
68 setPGuid(manFile.getGuid());\r
69 getJf().close();\r
70\r
71 //\r
72 // Add force installed package info. into database file\r
73 //\r
74 setDbFile(new File(getWkSpace() + System.getProperty("file.separator") + FrameworkPkg.dbConfigFile));\r
75 setDfc(new DbFileContents(new File(getWkSpace() + System.getProperty("file.separator") + dbConfigFile)));\r
76 getDfc().updatePkgInfo(getBName(), oldVer, oldGuid, getWkDir().substring(getWkSpace().length() + 1), getPVer(),\r
77 getPGuid());\r
78 }\r
79\r
80}\r