I've developed a few maven plugins and archetypes and one part that I've
always found difficult is providing "run", "debug", and "build" commands
for my projects that work well across multiple IDEs and command-line.

Each IDE seems to provide its own method for defining its most commonly
used tasks.

For example, I have a multi-module project format with submodules "ios",
"android", "javase", "javascript", and a few more.  These submodules are
enabled/disabled by adding -Dxxx.platform=ios or -Dxxx.platform=android
etc..   The default "run" and "debug" commands should enable the "common"
and "javase" modules, and the actual "exec" stuff is handled inside the
"javase" module.

There doesn't seem to be a way to bake this just into maven's pom.xml file
itself.  I always need an extra wrapper around it.

E.g. The regular "run" command, that should be bound to the IDE's run
project, would be:
"mvn" "verify" "-Psimulator" "-DskipTests" "-Dxxx.platform=javase" "-e"

Currently I provide a "run.sh" script, and some IntelliJ xml files with run
configurations, and a Netbeans actions xml file, and a bunch of eclipse
command files.  I'm now putting together some equivalents for VSCode.  But,
this is kind of ridiculous.

Maven itself is limited on what you can do with pom.xml properties.  What
would be ideal is some sort of well-supported Maven run configurations
standard that is well-supported across IDEs so that we could define a set
of "tasks" for a project that IDE could then provide to the user as a
menu.   Each task would include a label, description, and the maven command
that should be run.

Is there such a standard right now?

How do others deal with this issue?

Thanks for any suggestions

Steve

-- 
Steve Hannah
Web Lite Solutions Corp.

Reply via email to