core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2ConfigQueryData.java
author timkelly
Fri, 27 Aug 2010 16:34:38 -0500
changeset 1906 6f11f5393a5c
parent 1871 4d38e1ac1cff
child 2010 2da3246ba2e6
permissions -rw-r--r--
for gcce and armv5 based targets for sbsv2, if the compiler prefix does not exist on disk for a particular configuraiton, attempt to perform a raptor query to reubuild the config data.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
     1
package com.nokia.carbide.cpp.internal.api.sdk.sbsv2;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
     2
1906
6f11f5393a5c for gcce and armv5 based targets for sbsv2, if the compiler prefix does not exist on disk for a particular configuraiton, attempt to perform
timkelly
parents: 1871
diff changeset
     3
import java.io.File;
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
     4
import java.io.StringReader;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
     5
import java.util.ArrayList;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
     6
import java.util.HashMap;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
     7
import java.util.List;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
     8
import java.util.Map;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
     9
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    10
import javax.xml.parsers.DocumentBuilder;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    11
import javax.xml.parsers.DocumentBuilderFactory;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    12
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    13
import org.w3c.dom.Element;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    14
import org.w3c.dom.NamedNodeMap;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    15
import org.w3c.dom.Node;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    16
import org.w3c.dom.NodeList;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    17
import org.xml.sax.InputSource;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    18
import org.xml.sax.helpers.DefaultHandler;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    19
1739
5f659a59d04a refactoring ISBSv2BuildContext, ISBSv1BuildContext, ISBSv2ConfigQueryData from public to internal package.
timkelly
parents: 1736
diff changeset
    20
import com.nokia.carbide.cpp.internal.api.sdk.ISBSv2ConfigQueryData;
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    21
import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    22
import com.nokia.cpp.internal.api.utils.core.Logging;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    23
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    24
public class SBSv2ConfigQueryData implements ISBSv2ConfigQueryData {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    25
1621
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    26
	private static final long serialVersionUID = 3358697901364441158L;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    27
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    28
	private String alias = "";
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    29
	private String meaning = "";
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    30
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    31
	// Raptor config query data
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    32
	private Map<String, String> buildMacros = new HashMap<String, String>(); // cpp preprocessor macros
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    33
	private Map<String, String> metaDataMacros = new HashMap<String, String>();  // macros to parse the INF/MMPs files (these do not contain values)
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    34
	private List<String> metaDataIncludes = new ArrayList<String>();
1736
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1681
diff changeset
    35
	private List<String> targettypes = new ArrayList<String>();
1621
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    36
	private String buildPrefix = "";
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    37
	private String metaDataVariantHRH = "";
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    38
	private String outputPathString = "";
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    39
	private String configurationErrorMessage = "";
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    40
1621
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    41
	public SBSv2ConfigQueryData() {
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    42
		this.alias = "";
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    43
		this.meaning = "";
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    44
	}
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    45
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    46
	public SBSv2ConfigQueryData(String alias, String meaning, String queryResult) {
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    47
		this.alias = alias;
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    48
		this.meaning = meaning;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    49
		parseQueryConfigResults(queryResult);
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    50
	}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    51
1621
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    52
	public String getAlias() {
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    53
		return alias;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    54
	}
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    55
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    56
	public String getBuildPrefix() {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    57
		return buildPrefix;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    58
	}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    59
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    60
	public Map<String, String> getBuildMacros() {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    61
		return buildMacros;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    62
	}
1736
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1681
diff changeset
    63
	
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1681
diff changeset
    64
	public List<String> getTargettypes() {
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1681
diff changeset
    65
		return targettypes;
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1681
diff changeset
    66
	}
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    67
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    68
	public String getConfigurationErrorMessage() {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    69
		return configurationErrorMessage;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    70
	}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    71
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    72
	public Map<String, String> getMetaDataMacros() {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    73
		return metaDataMacros;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    74
	}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    75
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    76
	public List<String> getMetaDataIncludes() {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    77
		return metaDataIncludes;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    78
	}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    79
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    80
	public String getMetaDataVariantHRH() {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    81
		return metaDataVariantHRH;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    82
	}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    83
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    84
	public String getOutputPathString() {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    85
		return outputPathString;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    86
	}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
    87
1621
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    88
	@Override
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    89
	public int hashCode() {
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    90
		final int prime = 31;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    91
		int result = 1;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    92
		result = prime * result + ((alias == null) ? 0 : alias.hashCode());
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    93
		return result;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    94
	}
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    95
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    96
	@Override
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    97
	public boolean equals(Object obj) {
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    98
		if (this == obj)
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
    99
			return true;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   100
		if (obj == null)
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   101
			return false;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   102
		if (getClass() != obj.getClass())
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   103
			return false;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   104
		SBSv2ConfigQueryData other = (SBSv2ConfigQueryData) obj;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   105
		if (alias == null) {
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   106
			if (other.alias != null)
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   107
				return false;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   108
		} else if (!alias.equals(other.alias))
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   109
			return false;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   110
		return true;
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   111
	}
393b985a50f3 Raptor scanner discovery on top of new Raptor Query API.
stechong
parents: 1568
diff changeset
   112
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   113
	private void parseQueryConfigResults(String queryResult) {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   114
		try {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   115
    		Element root = null;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   116
    		DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   117
    		parser.setErrorHandler(new DefaultHandler());
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   118
    		
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   119
    		StringReader reader = new StringReader( queryResult );
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   120
    		InputSource inputSource = new InputSource( reader );
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   121
    		root = parser.parse(inputSource).getDocumentElement();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   122
    		
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   123
    		NodeList children = root.getChildNodes();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   124
    		for (int i=0; i< children.getLength(); i++) {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   125
    			Node configNode = children.item(i);
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   126
    			if (configNode.getNodeName().equals("config")){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   127
    				NamedNodeMap aliasAttribs = configNode.getAttributes();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   128
    				String dottedName = aliasAttribs.getNamedItem("meaning").getNodeValue();
1681
6636e8c75e66 Fix problem with sbs config xml parsing. Make sure to trim error message to avoid erroneously adding an error when there is none. Fix problem with adding system includes for variants.
timkelly
parents: 1621
diff changeset
   129
    				if (!dottedName.equalsIgnoreCase(meaning) && meaning != null){
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   130
    					continue;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   131
    				}
1681
6636e8c75e66 Fix problem with sbs config xml parsing. Make sure to trim error message to avoid erroneously adding an error when there is none. Fix problem with adding system includes for variants.
timkelly
parents: 1621
diff changeset
   132
    				if (configNode.getTextContent() != null &&  configNode.getTextContent().trim().length() > 0){
6636e8c75e66 Fix problem with sbs config xml parsing. Make sure to trim error message to avoid erroneously adding an error when there is none. Fix problem with adding system includes for variants.
timkelly
parents: 1621
diff changeset
   133
    					configurationErrorMessage = configNode.getTextContent().trim();
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   134
    					break;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   135
    				}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   136
    				
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   137
    				String outputpath = aliasAttribs.getNamedItem("outputpath").getNodeValue();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   138
    				if (outputpath != null){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   139
    					outputPathString = outputpath;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   140
    				}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   141
    				
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   142
    				NodeList configChillens = configNode.getChildNodes();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   143
    				for (int ii = 0; ii < configChillens.getLength(); ii++){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   144
    					Node dataNode = configChillens.item(ii);
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   145
    					if (dataNode.getNodeName().equals("metadata")){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   146
    	    				// get <metadata>
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   147
    						NodeList metaDataChillens = dataNode.getChildNodes();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   148
    						for (int iii = 0; iii < metaDataChillens.getLength(); iii++){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   149
    							Node metaChild = metaDataChillens.item(iii);
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   150
    							NamedNodeMap attribs = metaChild.getAttributes();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   151
    							try {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   152
									if (metaChild.getNodeName().equals("macro")){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   153
										String name = attribs.getNamedItem("name").getNodeValue();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   154
										String value = "";
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   155
										Node valueNode = attribs.getNamedItem("value");
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   156
										if (valueNode != null) {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   157
											value = valueNode.getNodeValue();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   158
										}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   159
										metaDataMacros.put(name, value);
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   160
									} else if (metaChild.getNodeName().equals("include")){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   161
										String path = attribs.getNamedItem("path").getNodeValue();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   162
										metaDataIncludes.add(path);
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   163
									} else if (metaChild.getNodeName().equals("preinclude")){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   164
										metaDataVariantHRH = attribs.getNamedItem("file").getNodeValue();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   165
									}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   166
								} catch (Exception e) {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   167
									// skip it
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   168
									e.printStackTrace();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   169
								}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   170
    						}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   171
    					} else if (dataNode.getNodeName().equals("build")){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   172
    	    				// get <build>
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   173
    						NodeList buildChillens = dataNode.getChildNodes();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   174
    						for (int iii = 0; iii < buildChillens.getLength(); iii++){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   175
    							Node buildChild = buildChillens.item(iii);
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   176
    							NamedNodeMap attribs = buildChild.getAttributes();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   177
    							try {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   178
									if (buildChild.getNodeName().equals("macro")){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   179
										String name = attribs.getNamedItem("name").getNodeValue();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   180
										String value = "";
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   181
										Node valueNode = attribs.getNamedItem("value");
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   182
										if (valueNode != null) {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   183
											value = valueNode.getNodeValue();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   184
										}
1906
6f11f5393a5c for gcce and armv5 based targets for sbsv2, if the compiler prefix does not exist on disk for a particular configuraiton, attempt to perform
timkelly
parents: 1871
diff changeset
   185
										if (name.equals("__PRODUCT_INCLUDE__")){
6f11f5393a5c for gcce and armv5 based targets for sbsv2, if the compiler prefix does not exist on disk for a particular configuraiton, attempt to perform
timkelly
parents: 1871
diff changeset
   186
											File f = new File(value.replaceAll("\"", ""));
6f11f5393a5c for gcce and armv5 based targets for sbsv2, if the compiler prefix does not exist on disk for a particular configuraiton, attempt to perform
timkelly
parents: 1871
diff changeset
   187
											if (!f.exists())
6f11f5393a5c for gcce and armv5 based targets for sbsv2, if the compiler prefix does not exist on disk for a particular configuraiton, attempt to perform
timkelly
parents: 1871
diff changeset
   188
												continue; // Don't add a product include for non-existent HRH
6f11f5393a5c for gcce and armv5 based targets for sbsv2, if the compiler prefix does not exist on disk for a particular configuraiton, attempt to perform
timkelly
parents: 1871
diff changeset
   189
										}
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   190
										buildMacros.put(name, value);
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   191
									} else if (buildChild.getNodeName().equals("preinclude")){
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   192
										buildPrefix = attribs.getNamedItem("file").getNodeValue();
1736
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1681
diff changeset
   193
									} else if (buildChild.getNodeName().equals("targettype")){
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1681
diff changeset
   194
										String targettype = attribs.getNamedItem("name").getNodeValue();
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1681
diff changeset
   195
										if (targettype != null && targettype.length() > 0){
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1681
diff changeset
   196
											targettypes.add(targettype);
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1681
diff changeset
   197
										}
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   198
									}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   199
								} catch (Exception e) {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   200
									// skip it
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   201
									e.printStackTrace();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   202
								}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   203
    						}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   204
    					}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   205
    				}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   206
    				
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   207
    				break;
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   208
    			}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   209
    		}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   210
    		
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   211
    	} catch (Exception e) {
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   212
    		e.printStackTrace();
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   213
    		Logging.log(SDKCorePlugin.getDefault(), Logging.newStatus(SDKCorePlugin.getDefault(), e));
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   214
    	}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   215
	}
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   216
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents:
diff changeset
   217
}