]>
git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/MigrationTools/org/tianocore/migration/ModuleInfo.java
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 package org
.tianocore
.migration
;
19 Class ModuleInfo is built for scanning the source files, it contains all the needed
20 information and all the temporary data.
22 public final class ModuleInfo
{
23 ModuleInfo(String modulepath
) throws Exception
{
24 this.modulepath
= modulepath
;
27 public final String modulepath
;
29 public String modulename
= null;
30 public String guidvalue
= null;
31 public String moduletype
= null;
32 public String entrypoint
= null;
34 public final Set
<String
> localmodulesources
= new HashSet
<String
>(); //contains both .c and .h
35 public final Set
<String
> preprocessedccodes
= new HashSet
<String
>();
36 public final Set
<String
> msaorinf
= new HashSet
<String
>(); //only a little, hash may be too big for this
38 public final Set
<String
> hashfuncc
= new HashSet
<String
>();
39 public final Set
<String
> hashfuncd
= new HashSet
<String
>();
40 public final Set
<String
> hashnonlocalfunc
= new HashSet
<String
>();
41 public final Set
<String
> hashnonlocalmacro
= new HashSet
<String
>();
42 public final Set
<String
> hashEFIcall
= new HashSet
<String
>();
43 public final Set
<String
> hashr8only
= new HashSet
<String
>();
45 public final Set
<String
> hashrequiredr9libs
= new HashSet
<String
>(); // hashrequiredr9libs is now all added in SourceFileReplacer
46 public final Set
<String
> guid
= new HashSet
<String
>();
47 public final Set
<String
> protocol
= new HashSet
<String
>();
48 public final Set
<String
> ppi
= new HashSet
<String
>();
50 public final String
getModuleType() {
51 if (moduletype
.contains("PEI")) {
58 public final void enroll(String filepath
) throws Exception
{
60 if (filepath
.contains(".c") || filepath
.contains(".C") || filepath
.contains(".h") ||
61 filepath
.contains(".H") || filepath
.contains(".dxs") || filepath
.contains(".uni")) {
62 localmodulesources
.add(filepath
.replace(modulepath
+ File
.separator
, ""));
63 } else if (filepath
.contains(".inf") || filepath
.contains(".msa")) {
64 temp
= filepath
.replace(modulepath
+ File
.separator
, "");
65 if (!temp
.contains(File
.separator
)) { // .inf in subdirectory is not regarded
71 public static final boolean isModule(String path
) {
72 String
[] list
= new File(path
).list();
73 for (int i
= 0 ; i
< list
.length
; i
++) {
74 if (!new File(list
[i
]).isDirectory()) {
75 if (list
[i
].contains(".inf") || list
[i
].contains(".msa")) {