core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/ISBSv2BuildInfo.java
author wpaul
Mon, 23 Aug 2010 18:14:52 -0500
branchC3_BUILDER_WORK
changeset 1871 4d38e1ac1cff
parent 1811 b1772bf1197b
permissions -rw-r--r--
fixed incorrect use of @Override. cleaned up a few warnings.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     1
/*
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     3
* All rights reserved.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     4
* This component and the accompanying materials are made available
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     6
* which accompanies this distribution, and is available
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     8
*
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     9
* Initial Contributors:
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    11
*
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    12
*/
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    13
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    14
package com.nokia.carbide.cpp.internal.api.sdk;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    15
1568
508bfdb3a934 Added caching of Raptor query data for aliases, products and configs.
stechong
parents: 1471
diff changeset
    16
import java.util.Map;
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    17
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    18
import org.eclipse.core.runtime.IPath;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    19
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    20
import com.nokia.carbide.cpp.sdk.core.ISDKBuildInfo;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    21
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    22
/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    23
 * Interface for SBSv2 specific build information.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    24
 *
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    25
 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    26
public interface ISBSv2BuildInfo extends ISDKBuildInfo {
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    27
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    28
	/**
1811
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    29
	 * Returns the list of all platform/metadata macros for a given build alias (sbs configuration).
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    30
	 * <p>
1811
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    31
	 * These are the &lt;metadata/&gt; macros from a query to Raptor with 'sbs --query=config[<config>].
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    32
	 * These are the macros that can be used in MMP and INF files.
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    33
	 * </p>
1811
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    34
	 * @param sbs build alias
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    35
	 * @return a map of macros and value pairs, which may be empty.
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    36
	 */
1811
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    37
	Map<String, String> getMetadataMacros(String buildAlias);
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    38
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    39
	/**
1811
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    40
	 * Returns the list of all build macros fro a given build alias (sbs configuration).
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    41
	 * <p>
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    42
	 * These are the &lt;build/&gt; macros from a query to Raptor with 'sbs --query=config[<config>].
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    43
	 * These are the macros that can be used in C/C++ files.
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    44
	 * </p>
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    45
	 * @param buildAlias
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    46
	 * @return a map of macros and value pairs, which may be empty.
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    47
	 */
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    48
	public Map<String, String> getBuildMacros(String buildAlias);
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    49
	
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    50
	/**
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    51
	 * Get the full path to the prefix file defined under \epoc32\tools\variant\variant.cfg
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    52
	 * @return A path object, or null if the variant.cfg does not exist. This routine does not check to see if the returned path exists.
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    53
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    54
	public IPath getPrefixFromVariantCfg();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    55
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    56
	/**
1811
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    57
	 * Get the macro for the given target type, e.g. "__EXE__" or "__DLL__"
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    58
	 * @param targettype
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    59
	 * @return list of macro strings, may be empty
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    60
	 */
1811
b1772bf1197b major refactor to wrap retieval of macros all around ISymbianBuildContext, to avoid need to access internal apis. Added getTargetTypeMacro(String targettype),
timkelly
parents: 1621
diff changeset
    61
	String getTargetTypeMacro(String targettype);
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    62
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    63
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    64
	 * Tells whether or not the plug-in installer has sniffed this SDK for eclipse plug-ins to install.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    65
	 * @return true if the SDK was scanned.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    66
	 * @since 2.0
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    67
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    68
	boolean isPreviouslyScanned();
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    69
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    70
	void setPreviouslyScanned(boolean wasScanned);
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    71
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    72
}