use of com.intellij.flex.model.bc.BuildConfigurationNature in project intellij-plugins by JetBrains.
the class AirPackageDialog method updateControlsEnabledState.
private void updateControlsEnabledState() {
boolean desktopPresent = false;
boolean androidPresent = false;
boolean iosPresent = false;
for (Pair<Module, FlexBuildConfiguration> moduleAndBC : getSelectedBCs()) {
final FlexBuildConfiguration bc = moduleAndBC.second;
final BuildConfigurationNature nature = bc.getNature();
if (nature.isDesktopPlatform())
desktopPresent = true;
if (nature.isMobilePlatform() && bc.getAndroidPackagingOptions().isEnabled())
androidPresent = true;
if (nature.isMobilePlatform() && bc.getIosPackagingOptions().isEnabled())
iosPresent = true;
if (desktopPresent && androidPresent && iosPresent)
break;
}
myDesktopTypeLabel.setEnabled(desktopPresent);
myDesktopTypeCombo.setEnabled(desktopPresent);
myAndroidTypeLabel.setEnabled(androidPresent);
myAndroidTypeCombo.setEnabled(androidPresent);
myApkCaptiveRuntimeCheckBox.setEnabled(androidPresent);
UIUtil.setEnabled(myApkDebugPortPanel, androidPresent, true);
//UIUtil.setEnabled(myApkDebugHostPanel, androidPresent, true);
myIosTypeLabel.setEnabled(iosPresent);
myIOSTypeCombo.setEnabled(iosPresent);
myIosFastPackagingCheckBox.setEnabled(iosPresent);
}
use of com.intellij.flex.model.bc.BuildConfigurationNature in project intellij-plugins by JetBrains.
the class FlexUnitRunConfiguration method getState.
@Override
public RunProfileState getState(@NotNull final Executor executor, @NotNull final ExecutionEnvironment env) throws ExecutionException {
final FlexBuildConfiguration bc;
try {
bc = myRunnerParameters.checkAndGetModuleAndBC(getProject()).second;
} catch (RuntimeConfigurationError e) {
throw new ExecutionException(e.getMessage());
}
final BuildConfigurationNature nature = bc.getNature();
if (nature.isDesktopPlatform() || nature.isMobilePlatform()) {
return new FlashRunConfiguration.AirRunState(getProject(), env, myRunnerParameters) {
@NotNull
@Override
public ExecutionResult execute(@NotNull Executor executor, @NotNull ProgramRunner runner) throws ExecutionException {
final ProcessHandler processHandler = startProcess();
final ExecutionConsole console = FlexBaseRunner.createFlexUnitRunnerConsole(getProject(), env, processHandler);
return new DefaultExecutionResult(console, processHandler);
}
};
}
return EmptyRunProfileState.INSTANCE;
}
use of com.intellij.flex.model.bc.BuildConfigurationNature in project intellij-plugins by JetBrains.
the class FlexBCConfigurator method addConfiguration.
public void addConfiguration(final Module module, final Runnable treeNodeNameUpdater) {
if (module == null) {
return;
}
final String title = FlexBundle.message("add.build.configuration.title", module.getName());
final AddBuildConfigurationDialog dialog = new AddBuildConfigurationDialog(module.getProject(), title, getUsedNames(module), BuildConfigurationNature.DEFAULT, true);
if (!dialog.showAndGet()) {
return;
}
final ModifiableFlexBuildConfiguration bc = myConfigEditor.createConfiguration(module);
final String bcName = dialog.getBCName();
final String fileName = PathUtil.suggestFileName(bcName);
final BuildConfigurationNature nature = dialog.getNature();
bc.setName(bcName);
bc.setNature(nature);
final ModifiableFlexBuildConfiguration someExistingConfig = myConfigEditor.getConfigurations(module)[0];
bc.setOutputFileName(fileName + (bc.getOutputType() == OutputType.Library ? ".swc" : ".swf"));
bc.setOutputFolder(someExistingConfig.getOutputFolder());
updatePackageFileName(bc, fileName);
if (nature.isApp() && nature.isMobilePlatform()) {
bc.getAndroidPackagingOptions().setEnabled(dialog.isAndroidEnabled());
bc.getIosPackagingOptions().setEnabled(dialog.isIOSEnabled());
}
final SdkEntry sdkEntry = someExistingConfig.getDependencies().getSdkEntry();
final SdkEntry newSdkEntry;
if (sdkEntry != null && FlexSdkUtils.findFlexOrFlexmojosSdk(sdkEntry.getName()) != null) {
newSdkEntry = Factory.createSdkEntry(sdkEntry.getName());
} else {
newSdkEntry = findAnySdk();
}
bc.getDependencies().setSdkEntry(newSdkEntry);
createConfigurableNode(bc, module, treeNodeNameUpdater);
}
use of com.intellij.flex.model.bc.BuildConfigurationNature in project intellij-plugins by JetBrains.
the class FlashRunConfiguration method getState.
@Override
public RunProfileState getState(@NotNull final Executor executor, @NotNull final ExecutionEnvironment env) throws ExecutionException {
final FlexBuildConfiguration config;
try {
config = myRunnerParameters.checkAndGetModuleAndBC(getProject()).second;
} catch (RuntimeConfigurationError e) {
throw new ExecutionException(e.getMessage());
}
final BuildConfigurationNature nature = config.getNature();
if (nature.isDesktopPlatform() || (nature.isMobilePlatform() && myRunnerParameters.getMobileRunTarget() == AirMobileRunTarget.Emulator)) {
return new AirRunState(getProject(), env, myRunnerParameters);
}
return EmptyRunProfileState.INSTANCE;
}
use of com.intellij.flex.model.bc.BuildConfigurationNature in project intellij-plugins by JetBrains.
the class FlexBCConfigurator method copy.
public void copy(final CompositeConfigurable configurable, final Runnable treeNodeNameUpdater) {
try {
configurable.apply();
} catch (ConfigurationException ignored) {
/**/
}
ModifiableFlexBuildConfiguration existingBC = myConfigurablesMap.getKeysByValue(configurable).get(0);
FlexBCConfigurable unwrapped = FlexBCConfigurable.unwrap(configurable);
final String title = FlexBundle.message("copy.build.configuration", existingBC.getName(), unwrapped.getModule().getName());
Module module = unwrapped.getModule();
AddBuildConfigurationDialog dialog = new AddBuildConfigurationDialog(module.getProject(), title, getUsedNames(module), existingBC.getNature(), true);
dialog.reset("", existingBC.getAndroidPackagingOptions().isEnabled(), existingBC.getIosPackagingOptions().isEnabled());
if (!dialog.showAndGet()) {
return;
}
final String newBCName = dialog.getBCName();
final String fileName = PathUtil.suggestFileName(newBCName);
final BuildConfigurationNature newNature = dialog.getNature();
ModifiableFlexBuildConfiguration newBC = myConfigEditor.copyConfiguration(existingBC, newNature);
newBC.setName(newBCName);
newBC.setOutputFileName(fileName + (newBC.getOutputType() == OutputType.Library ? ".swc" : ".swf"));
updatePackageFileName(newBC, fileName);
if (newNature.isApp() && newNature.isMobilePlatform()) {
newBC.getAndroidPackagingOptions().setEnabled(dialog.isAndroidEnabled());
newBC.getIosPackagingOptions().setEnabled(dialog.isIOSEnabled());
}
createConfigurableNode(newBC, unwrapped.getModule(), treeNodeNameUpdater);
}
Aggregations