builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideBuildConfiguration.java
author timkelly
Mon, 20 Apr 2009 10:53:36 -0500
changeset 102 7d51a76036fb
parent 2 d760517a8095
child 109 2a4136280275
permissions -rw-r--r--
Fix bug 8902. Add api to set SBSv1 build args.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
cawthron
parents:
diff changeset
     1
/*
cawthron
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
cawthron
parents:
diff changeset
     3
* All rights reserved.
cawthron
parents:
diff changeset
     4
* This component and the accompanying materials are made available
cawthron
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
cawthron
parents:
diff changeset
     6
* which accompanies this distribution, and is available
cawthron
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
cawthron
parents:
diff changeset
     8
*
cawthron
parents:
diff changeset
     9
* Initial Contributors:
cawthron
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
cawthron
parents:
diff changeset
    11
*
cawthron
parents:
diff changeset
    12
* Contributors:
cawthron
parents:
diff changeset
    13
*
cawthron
parents:
diff changeset
    14
* Description: 
cawthron
parents:
diff changeset
    15
*
cawthron
parents:
diff changeset
    16
*/
cawthron
parents:
diff changeset
    17
package com.nokia.carbide.cdt.builder.project;
cawthron
parents:
diff changeset
    18
cawthron
parents:
diff changeset
    19
import java.util.List;
cawthron
parents:
diff changeset
    20
cawthron
parents:
diff changeset
    21
import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
cawthron
parents:
diff changeset
    22
cawthron
parents:
diff changeset
    23
/**
cawthron
parents:
diff changeset
    24
 * An ICarbideBuildConfiguration interface represents on buildable target for a project. A single
cawthron
parents:
diff changeset
    25
 * Carbide.c++ project (ICarbideProjectInfo) contains 1 to N ICarbideBuildConfigation objects.
cawthron
parents:
diff changeset
    26
 *
cawthron
parents:
diff changeset
    27
 */
cawthron
parents:
diff changeset
    28
public interface ICarbideBuildConfiguration extends ISymbianBuildContext {
cawthron
parents:
diff changeset
    29
cawthron
parents:
diff changeset
    30
	/** Integer identifier for the set of parser to be used for building the WINSCW platform */
cawthron
parents:
diff changeset
    31
    public static final int ERROR_PARSERS_WINSCW = 1;
cawthron
parents:
diff changeset
    32
    /** Integer identifier for the set of parser to be used for building the GCCE platform */
cawthron
parents:
diff changeset
    33
    public static final int ERROR_PARSERS_GCCE = 2;
cawthron
parents:
diff changeset
    34
    /** Integer identifier for the set of parser to be used for building the ARMVx platforms */
cawthron
parents:
diff changeset
    35
    public static final int ERROR_PARSERS_ARMVx = 3;
cawthron
parents:
diff changeset
    36
    /** Integer identifier for the set of parser to be used for building with makesis, makekeys, and signsis */
cawthron
parents:
diff changeset
    37
    public static final int ERROR_PARSERS_SIS_BUILDER = 4;
cawthron
parents:
diff changeset
    38
    /** Integer identifier for the set of parser to be used for building the ARMI, THUMB, and ARM4 platforms */
cawthron
parents:
diff changeset
    39
    public static final int ERROR_PARSERS_ARM_EKA1 = 5;
cawthron
parents:
diff changeset
    40
    /** Integer identifier for the set of parser to be used when calling bldmake bldfiles platform */
cawthron
parents:
diff changeset
    41
    public static final int ERROR_PARSERS_BLDMAKE_MAKE = 6;
cawthron
parents:
diff changeset
    42
    /** Integer identifier for the set of parser to be used for building ROM images */
cawthron
parents:
diff changeset
    43
    public static final int ERROR_PARSERS_ROM_BUILDER = 7;
cawthron
parents:
diff changeset
    44
    /** Integer identifier to use all available parsers */
cawthron
parents:
diff changeset
    45
    public static final int ERROR_PARSERS_ALL = 99;
cawthron
parents:
diff changeset
    46
	
cawthron
parents:
diff changeset
    47
	/**
cawthron
parents:
diff changeset
    48
	 * Get a list of error parser ID's
cawthron
parents:
diff changeset
    49
	 * @return A full list of error parser IDs. Returns an empty array if none are specified
cawthron
parents:
diff changeset
    50
	 */
cawthron
parents:
diff changeset
    51
	String[] getErrorParserList();
cawthron
parents:
diff changeset
    52
cawthron
parents:
diff changeset
    53
	/**
cawthron
parents:
diff changeset
    54
	 * Writes this configuration to the .settings\file. If the data does no exist it will
cawthron
parents:
diff changeset
    55
	 * be created. Otherwise the configuration data will be updated.
cawthron
parents:
diff changeset
    56
	 * @param refreshFileSystem - Set to true if eclipse needs to know about changes to the file system. Set to false if there's possibility thata the ressource tree is locked on the project (e.g. the project is being created)
cawthron
parents:
diff changeset
    57
	 * @return true on success, false otherwise.
cawthron
parents:
diff changeset
    58
	 */
cawthron
parents:
diff changeset
    59
	boolean saveConfiguration(boolean refreshFileSystem);
cawthron
parents:
diff changeset
    60
	
cawthron
parents:
diff changeset
    61
	/** 
cawthron
parents:
diff changeset
    62
	 * Get the modifiable list of SIS builder info. Contains pref settings used to generated SIS files from PKG files
cawthron
parents:
diff changeset
    63
	 * @return ISiSBuilderInfo list, which may be empty
cawthron
parents:
diff changeset
    64
	 */
cawthron
parents:
diff changeset
    65
	List<ISISBuilderInfo> getSISBuilderInfoList();
cawthron
parents:
diff changeset
    66
	
cawthron
parents:
diff changeset
    67
	/**
102
7d51a76036fb Fix bug 8902. Add api to set SBSv1 build args.
timkelly
parents: 2
diff changeset
    68
	 * Get the (abld)build arguments info.  Contains pref settings from the Arguments tab.
7d51a76036fb Fix bug 8902. Add api to set SBSv1 build args.
timkelly
parents: 2
diff changeset
    69
	 * This only applies when building with SBSv1 (bldmake, abld)
2
cawthron
parents:
diff changeset
    70
	 * @return IBuildArgumentsInfo instance, never null
cawthron
parents:
diff changeset
    71
	 */
cawthron
parents:
diff changeset
    72
	IBuildArgumentsInfo getBuildArgumentsInfo();
cawthron
parents:
diff changeset
    73
	
cawthron
parents:
diff changeset
    74
	/**
102
7d51a76036fb Fix bug 8902. Add api to set SBSv1 build args.
timkelly
parents: 2
diff changeset
    75
	 * Set the build arguments info for SBSv2 build arguments
7d51a76036fb Fix bug 8902. Add api to set SBSv1 build args.
timkelly
parents: 2
diff changeset
    76
	 * @return IBuildArgumentsInfo instance, never null
7d51a76036fb Fix bug 8902. Add api to set SBSv1 build args.
timkelly
parents: 2
diff changeset
    77
	 */
7d51a76036fb Fix bug 8902. Add api to set SBSv1 build args.
timkelly
parents: 2
diff changeset
    78
	void setBuildArgumentsInfo(IBuildArgumentsInfo bldArgInfo);
7d51a76036fb Fix bug 8902. Add api to set SBSv1 build args.
timkelly
parents: 2
diff changeset
    79
	
7d51a76036fb Fix bug 8902. Add api to set SBSv1 build args.
timkelly
parents: 2
diff changeset
    80
	/**
2
cawthron
parents:
diff changeset
    81
	 * Get the parent Carbide project of this configuration.
cawthron
parents:
diff changeset
    82
	 * @return ICarbideProjectInfo
cawthron
parents:
diff changeset
    83
	 */
cawthron
parents:
diff changeset
    84
	ICarbideProjectInfo getCarbideProject();
cawthron
parents:
diff changeset
    85
	
cawthron
parents:
diff changeset
    86
	/**
cawthron
parents:
diff changeset
    87
	 * Get the environment variables for this configuration.
cawthron
parents:
diff changeset
    88
	 * @return IEnvironmentVarsInfo object.
cawthron
parents:
diff changeset
    89
	 */
cawthron
parents:
diff changeset
    90
	IEnvironmentVarsInfo getEnvironmentVarsInfo();
cawthron
parents:
diff changeset
    91
	
cawthron
parents:
diff changeset
    92
	/**
cawthron
parents:
diff changeset
    93
	 * Get the id that specifies the array of error parsers to use for a given build platform.
cawthron
parents:
diff changeset
    94
	 * @return The integer ID of the parser to be use.
cawthron
parents:
diff changeset
    95
	 * @see CarbideCPPBuilder.getParserIds(int id)
cawthron
parents:
diff changeset
    96
	 */
cawthron
parents:
diff changeset
    97
	int getErrorParserId();
cawthron
parents:
diff changeset
    98
	
cawthron
parents:
diff changeset
    99
	/**
cawthron
parents:
diff changeset
   100
	 * Returns the list of all built in macros for this configuration
cawthron
parents:
diff changeset
   101
	 * <p>
cawthron
parents:
diff changeset
   102
	 * Macros will be just a name, e.g. "_DEBUG", "__SYMBIAN32__", etc..
cawthron
parents:
diff changeset
   103
	 * </p>
cawthron
parents:
diff changeset
   104
	 *
cawthron
parents:
diff changeset
   105
	 * @return a list of macros which may be empty.
cawthron
parents:
diff changeset
   106
	 */
cawthron
parents:
diff changeset
   107
	List<String> getBuiltinMacros();
cawthron
parents:
diff changeset
   108
	
cawthron
parents:
diff changeset
   109
	/**
cawthron
parents:
diff changeset
   110
	 * Returns the ROM builder info from the ROM Builder tab.
cawthron
parents:
diff changeset
   111
	 * @return
cawthron
parents:
diff changeset
   112
	 */
cawthron
parents:
diff changeset
   113
	IROMBuilderInfo getROMBuildInfo();
cawthron
parents:
diff changeset
   114
cawthron
parents:
diff changeset
   115
}