HaxeFoundation / intellij-haxe

Haxe plugin for IntelliJ Platform based IDEs (IDEA, Android-Studio)
http://intellij-haxe.org
Apache License 2.0
222 stars 99 forks source link

Improvements to Build Dialog #348

Open indolering opened 8 years ago

indolering commented 8 years ago

There are a lot of problems with the build dialog ("File->Project Settings->Modules") and I thought it might be better to create a checklist instead of spawning 6 low-priority tickets.

EBatTiVo commented 8 years ago

@indolering

I assume you mean the "File->Project Settings->Modules" dialog when you use the term "build dialog."

Please describe what you mean for the item "Support multiple targets per module." (e.g. Compile for .java and .cpp; or Compile some files to one output, and other files in the same module to a different output; or Compile using HXML and NME; or something else).

Do you propose using arbitrary commands instead of those derived from the "Compile with:" radio buttons? (That seems to be what you mean by "Specifiy arbitrary executable commands.")

indolering commented 8 years ago

Please describe what you mean for the item "Support multiple targets per module."

The Haxe Compiler option should consist of default settings for all targets (executable name, output directory, main class, parameters) and a list that users can populate with different targets (JS, PHP, CPP, etc). Each target should allow the user to specify additional parameters and override the defaults (executable file name, parent directory name, output directory path, the main class, and an option to ignore the default parameters).

So, for example, if I want to produce a library for PHP, Node.js, and the browser; I should be able to configure a PHP target with the default settings, a JS target with a parent directory named "node", and a final JS target with a parent named "browser."

I'm ignorant of how NMML and OpenFL work, I assume that they are similar to HXML and allow for multiple targets.

Do you propose using arbitrary commands instead of those derived from the "Compile with:" radio buttons? (That seems to be what you mean by "Specifiy arbitrary executable commands.")

Right, so add an "other" option and clone the "external tools" screen:

image

Adding direct support for Make might be a good idea: compiling a library into multiple languages and then pushing to different package management systems requires something that can execute arbitrary commands. HXML isn't flexible enough and you don't want a project to become dependent on the IDE to build the project.

indolering commented 8 years ago

Note that I added "Push flash application debugging setting to a new tab." to the list : )

indolering commented 8 years ago

@EBatTiVo My apologies if I came off as demanding or ungrateful, I'm a UX guy so I figured you just needed some specs to build against. Feel free to edit the list down :p