450 } |
450 } |
451 |
451 |
452 public IPath getTargetOutputDirectory() { |
452 public IPath getTargetOutputDirectory() { |
453 String releasePlatform = ""; |
453 String releasePlatform = ""; |
454 ISymbianSDK sdk = getSDK(); |
454 ISymbianSDK sdk = getSDK(); |
455 ISBSv1BuildInfo sbsv1BuildInfo = (ISBSv1BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV1_BUILDER); |
|
456 if (context instanceof ISBSv1BuildContext){ |
455 if (context instanceof ISBSv1BuildContext){ |
457 ISBSv1BuildContext v1Context = (ISBSv1BuildContext)context; |
456 ISBSv1BuildContext v1Context = (ISBSv1BuildContext)context; |
458 if (sbsv1BuildInfo != null) { |
457 ISBSv1BuildInfo sbsv1BuildInfo = (ISBSv1BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV1_BUILDER); |
459 releasePlatform = sbsv1BuildInfo.getBSFCatalog(sdk).getReleasePlatform(v1Context.getBasePlatformForVariation()); |
458 releasePlatform = sbsv1BuildInfo.getBSFCatalog().getReleasePlatform(v1Context.getBasePlatformForVariation()); |
460 } |
459 } else if (CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(getCarbideProject().getProject())){ |
461 } |
|
462 if (CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(getCarbideProject().getProject())){ |
|
463 // Test is this is an SBSv2 build binary variant (changes the output directory) |
460 // Test is this is an SBSv2 build binary variant (changes the output directory) |
464 ISBSv2BuildConfigInfo sbsv2Info = getSBSv2BuildConfigInfo(); |
461 ISBSv2BuildConfigInfo sbsv2Info = getSBSv2BuildConfigInfo(); |
465 if ( sbsv2Info != null && SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT)) != null && !releasePlatform.contains(".") ){ |
462 if ( sbsv2Info != null && SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT)) != null && !releasePlatform.contains(".") ){ |
466 releasePlatform = releasePlatform + SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT)); |
463 releasePlatform = releasePlatform + SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT)); |
467 } |
464 } |
468 } |
465 } |
469 IPath releaseRoot; |
466 return sdk.getReleaseRoot().append(releasePlatform.toLowerCase()).append(getTargetString().toLowerCase()); |
470 if (sbsv1BuildInfo != null) { |
|
471 releaseRoot = sbsv1BuildInfo.getReleaseRoot(sdk); |
|
472 } else { |
|
473 releaseRoot = new Path(sdk.getEPOCROOT()).append("epoc32/release"); |
|
474 } |
|
475 return releaseRoot.append(releasePlatform.toLowerCase()).append(getTargetString().toLowerCase()); |
|
476 } |
467 } |
477 |
468 |
478 public boolean getRebuildNeeded() { |
469 public boolean getRebuildNeeded() { |
479 return rebuildNeeded; |
470 return rebuildNeeded; |
480 } |
471 } |