core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv1.java
branchC3_BUILDER_WORK
changeset 1755 e65ffeef96f7
parent 1739 5f659a59d04a
child 1764 df8e072f8f71
equal deleted inserted replaced
1749:0d2e2c9062b1 1755:e65ffeef96f7
    14 
    14 
    15 import java.io.File;
    15 import java.io.File;
    16 import java.util.Collections;
    16 import java.util.Collections;
    17 import java.util.List;
    17 import java.util.List;
    18 
    18 
       
    19 import org.eclipse.cdt.core.settings.model.ICStorageElement;
    19 import org.eclipse.core.runtime.IPath;
    20 import org.eclipse.core.runtime.IPath;
    20 import org.osgi.framework.Version;
    21 import org.osgi.framework.Version;
    21 
    22 
    22 import com.nokia.carbide.cpp.epoc.engine.preprocessor.IDefine;
    23 import com.nokia.carbide.cpp.epoc.engine.preprocessor.IDefine;
    23 import com.nokia.carbide.cpp.internal.sdk.core.model.SBSv1BuildInfo;
    24 import com.nokia.carbide.cpp.internal.sdk.core.model.SBSv1BuildInfo;
    45 	private static String SPACE_DISPLAY_TEXT = " "; //$NON-NLS-1$
    46 	private static String SPACE_DISPLAY_TEXT = " "; //$NON-NLS-1$
    46 	private static String SDK_NOT_INSTALLED = "SDK not installed"; //$NON-NLS-1$
    47 	private static String SDK_NOT_INSTALLED = "SDK not installed"; //$NON-NLS-1$
    47 	
    48 	
    48 	// a copy of bad SDK default to fall back
    49 	// a copy of bad SDK default to fall back
    49 	private static ISymbianSDK fallbackForBadSdk = SymbianMissingSDKFactory.createInstance("dummy_ID"); //$NON-NLS-1$
    50 	private static ISymbianSDK fallbackForBadSdk = SymbianMissingSDKFactory.createInstance("dummy_ID"); //$NON-NLS-1$
       
    51 	
       
    52 	// Preference data
       
    53 	protected BuildArgumentsInfo buildArgumentsInfo;
       
    54 	protected final static String ARGUMENTS_DATA_ID = "ARGUMENTS_DATA_ID"; //$NON-NLS-1$
    50 	
    55 	
    51 	public BuildContextSBSv1(ISymbianSDK theSDK, String thePlatform, String theTarget) {
    56 	public BuildContextSBSv1(ISymbianSDK theSDK, String thePlatform, String theTarget) {
    52 		sdkId = theSDK.getUniqueId();
    57 		sdkId = theSDK.getUniqueId();
    53 		platform = thePlatform.toUpperCase();
    58 		platform = thePlatform.toUpperCase();
    54 		target = theTarget.toUpperCase();
    59 		target = theTarget.toUpperCase();
   410 	 */
   415 	 */
   411 	public List<File> getCachedSystemIncludePaths() {
   416 	public List<File> getCachedSystemIncludePaths() {
   412 		return getCachedData().getSystemIncludePaths();
   417 		return getCachedData().getSystemIncludePaths();
   413 	}
   418 	}
   414 
   419 
       
   420 	@Override
       
   421 	public void loadConfigurationSettings(ICStorageElement se) {
       
   422 		if (se.getName().equals(ARGUMENTS_DATA_ID)) {
       
   423 			loadBuildArgsFromStorage(se);
       
   424 		}
       
   425 	}
       
   426 
       
   427 	@Override
       
   428 	public IBuildArgumentsInfo getBuildArgumentsInfo() {
       
   429 		return (IBuildArgumentsInfo)buildArgumentsInfo;
       
   430 	}
       
   431 	
       
   432 	@Override
       
   433 	public BuildArgumentsInfo getBuildArgumentsInfoCopy() {
       
   434 		return new BuildArgumentsInfo(buildArgumentsInfo);
       
   435 	}
       
   436 	
       
   437 	@Override
       
   438 	public void setBuildArgumentsInfo(BuildArgumentsInfo buildArgumentsInfo) {
       
   439 		this.buildArgumentsInfo = buildArgumentsInfo;
       
   440 	}
       
   441 	
       
   442 	@SuppressWarnings("deprecation")
       
   443 	private void loadBuildArgsFromStorage(ICStorageElement rootStorage) {
       
   444 		buildArgumentsInfo = new BuildArgumentsInfo(getSDK());
       
   445 		String value = rootStorage.getAttribute(BuildArgumentsInfo.BLDMAKEBLDFILESARGSSTORAGE);
       
   446 		if (value != null) {
       
   447 			buildArgumentsInfo.bldmakeBldFilesArgs = value;
       
   448 		}
       
   449 		
       
   450 		value = rootStorage.getAttribute(BuildArgumentsInfo.BLDMAKECLEANARGSSTORAGE);
       
   451 		if (value != null) {
       
   452 			buildArgumentsInfo.bldmakeCleanArgs = value;
       
   453 		}
       
   454 
       
   455 		value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDBUILDARGSSTORAGE);
       
   456 		if (value != null) {
       
   457 			buildArgumentsInfo.abldBuildArgs = value;
       
   458 		}
       
   459 
       
   460 		value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDEXPORTARGSSTORAGE);
       
   461 		if (value != null) {
       
   462 			buildArgumentsInfo.abldExportArgs = value;
       
   463 		}
       
   464 
       
   465 		value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDMAKEFILEARGSSTORAGE);
       
   466 		if (value != null) {
       
   467 			buildArgumentsInfo.abldMakefileArgs = value;
       
   468 		}
       
   469 
       
   470 		value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDLIBRARYARGSSTORAGE);
       
   471 		if (value != null) {
       
   472 			buildArgumentsInfo.abldLibraryArgs = value;
       
   473 		}
       
   474 
       
   475 		value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDRESOURCEARGSSTORAGE);
       
   476 		if (value != null) {
       
   477 			buildArgumentsInfo.abldResourceArgs = value;
       
   478 		}
       
   479 
       
   480 		value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDTARGETARGSSTORAGE);
       
   481 		if (value != null) {
       
   482 			buildArgumentsInfo.abldTargetArgs = value;
       
   483 		}
       
   484 
       
   485 		value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDFINALARGSSTORAGE);
       
   486 		if (value != null) {
       
   487 			buildArgumentsInfo.abldFinalArgs = value;
       
   488 		}
       
   489 
       
   490 		value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDCLEANARGSSTORAGE);
       
   491 		if (value != null) {
       
   492 			buildArgumentsInfo.abldCleanArgs = value;
       
   493 		}
       
   494 
       
   495 		value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDFREEZEARGSSTORAGE);
       
   496 		if (value != null) {
       
   497 			buildArgumentsInfo.abldFreezeArgs = value;
       
   498 		}
       
   499 	}
       
   500 	
       
   501 	public void saveBuildArgsToStorage(ICStorageElement rootStorage) {
       
   502 		if (buildArgumentsInfo == null){
       
   503 			buildArgumentsInfo = new BuildArgumentsInfo(getSDK());
       
   504 		}
       
   505 		
       
   506 		if (buildArgumentsInfo.bldmakeBldFilesArgs.trim().length() > 0) {
       
   507 			rootStorage.setAttribute(BuildArgumentsInfo.BLDMAKEBLDFILESARGSSTORAGE, buildArgumentsInfo.bldmakeBldFilesArgs);
       
   508 		}
       
   509 
       
   510 		if (buildArgumentsInfo.bldmakeCleanArgs.trim().length() > 0) {
       
   511 			rootStorage.setAttribute(BuildArgumentsInfo.BLDMAKECLEANARGSSTORAGE, buildArgumentsInfo.bldmakeCleanArgs);
       
   512 		}
       
   513 
       
   514 		if (buildArgumentsInfo.abldBuildArgs.trim().length() > 0) {
       
   515 			rootStorage.setAttribute(BuildArgumentsInfo.ABLDBUILDARGSSTORAGE, buildArgumentsInfo.abldBuildArgs);
       
   516 		}
       
   517 
       
   518 		if (buildArgumentsInfo.abldExportArgs.trim().length() > 0) {
       
   519 			rootStorage.setAttribute(BuildArgumentsInfo.ABLDEXPORTARGSSTORAGE, buildArgumentsInfo.abldExportArgs);
       
   520 		}
       
   521 
       
   522 		if (buildArgumentsInfo.abldMakefileArgs.trim().length() > 0) {
       
   523 			rootStorage.setAttribute(BuildArgumentsInfo.ABLDMAKEFILEARGSSTORAGE, buildArgumentsInfo.abldMakefileArgs);
       
   524 		}
       
   525 
       
   526 		if (buildArgumentsInfo.abldLibraryArgs.trim().length() > 0) {
       
   527 			rootStorage.setAttribute(BuildArgumentsInfo.ABLDLIBRARYARGSSTORAGE, buildArgumentsInfo.abldLibraryArgs);
       
   528 		}
       
   529 
       
   530 		if (buildArgumentsInfo.abldResourceArgs.trim().length() > 0) {
       
   531 			rootStorage.setAttribute(BuildArgumentsInfo.ABLDRESOURCEARGSSTORAGE, buildArgumentsInfo.abldResourceArgs);
       
   532 		}
       
   533 
       
   534 		if (buildArgumentsInfo.abldTargetArgs.trim().length() > 0) {
       
   535 			rootStorage.setAttribute(BuildArgumentsInfo.ABLDTARGETARGSSTORAGE, buildArgumentsInfo.abldTargetArgs);
       
   536 		}
       
   537 
       
   538 		if (buildArgumentsInfo.abldFinalArgs.trim().length() > 0) {
       
   539 			rootStorage.setAttribute(BuildArgumentsInfo.ABLDFINALARGSSTORAGE, buildArgumentsInfo.abldFinalArgs);
       
   540 		}
       
   541 
       
   542 		if (buildArgumentsInfo.abldCleanArgs.trim().length() > 0) {
       
   543 			rootStorage.setAttribute(BuildArgumentsInfo.ABLDCLEANARGSSTORAGE, buildArgumentsInfo.abldCleanArgs);
       
   544 		}
       
   545 
       
   546 		if (buildArgumentsInfo.abldFreezeArgs.trim().length() > 0) {
       
   547 			rootStorage.setAttribute(BuildArgumentsInfo.ABLDFREEZEARGSSTORAGE, buildArgumentsInfo.abldFreezeArgs);
       
   548 		}
       
   549 	}
       
   550 
       
   551 	@Override
       
   552 	public void saveConfigurationSettings(ICStorageElement se) {
       
   553 		saveBuildArgsToStorage(se.createChild(ARGUMENTS_DATA_ID)); 
       
   554 	}
       
   555 	
       
   556 	
       
   557 
   415 }
   558 }