I'm trying to set scanner profile discovery command programmatically to something other than gcc, but couldn't get my setting to stick. Here is the code I'm using:
public class MyWizardHandler extends MBSWizardHandler { private static final String BUILD_INFO_PROVIDER_ID = "specsFile"; //$NON-NLS-1$ private static final String BUILD_COMMAND = "make"; //$NON-NLS-1$ private static final String BUILD_ARGUMENTS = ""; //$NON-NLS-1$ private static final String BUILD_TARGET = "all"; //$NON-NLS-1$ private static final String BUILD_TARGET_CLEAN = "clean"; //$NON-NLS-1$ private static final String GCC_PATH = "my_gcc"; //$NON-NLS-1$
private static final String[] BINARY_PARSERS = new String[] { "org.eclipse.cdt.core.GNU_ELF" //$NON-NLS-1$ }; private static final String[] ERROR_PARSERS = new String[] { "org.eclipse.cdt.core.MakeErrorParser", //$NON-NLS-1$ "org.eclipse.cdt.core.GCCErrorParser", //$NON-NLS-1$ "org.eclipse.cdt.core.GASErrorParser", //$NON-NLS-1$ "org.eclipse.cdt.core.GLDErrorParser" //$NON-NLS-1$ }; private static final String ROOT_VARIABLE = RootVariableManager.ROOT_VARIABLE;
private MyCppWizardPage myCppPage;
public MyWizardHandler(Composite parent, IWizard wizard) { super(Messages.MyCppWizard_name, parent, wizard); }
@Override public IWizardPage getSpecificPage() { if (myCppPage == null) { myCppPage = new MyCppWizardPage(); myCppPage.setWizard(getWizard()); } return myCppPage; }
@Override public boolean canFinish() { return getSpecificPage().isPageComplete(); }
@Override public void addTc(IToolChain toolchain) { // Don't accept any toolchains except the default one. if (toolchain == null) { full_tcs.put(Messages.MyCppWizard_crosstool_toolchain, null); } }
public boolean canCreateWithoutToolchain() { return true; }
@Override public IToolChain[] getSelectedToolChains() { // If no toolchain is selected by the user, use the default toolchain. if (full_tcs.isEmpty() || table.getSelection().length == 0) { return new IToolChain[] { null }; } else { return super.getSelectedToolChains(); } } }