OpenLiberty / OpenLiberty/liberty-tools-eclipse

Forcing a user's command to always start with pre-pended "mvn/mvnw liberty:dev" is too inflexible, prevents running a goal before liberty:dev or overriding LMP version

Open
#111 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

cross-ide-consistency design enhancement high priority
Dominant language
Java
Stars
16
Forks
20
Avg merge
2d 9h
Merged PRs (30d)
16

Description

Currently a Liberty Tools Eclipse can NOT achieve something like:

mvn resources:copy-resources liberty:dev
mvn io.openliberty.tools:liberty-maven-plugin:3.7.1:dev
gradle :ear:libertyDev

(Note in 3., there are currently other issues with EAR/multi-project loose apps in LGP, but leaving aside whether it will "work", I'm noting you can't even invoke such a command).

By adding the parameters typed by the user to the end of the command invocation: mvn io.openliberty.tools:liberty-maven-plugin:dev ...<typed parms>... we make impossible something like mvn some:goal liberty:dev .

We could either:

  • allow for typing the full command (after mvn, including liberty:dev)
    • possibly being smart enough to look for a user-typed liberty:dev and only add one if we don't see one
  • abandon this use case for m2e, or some other approach

RELATED

  • This also prevents us overriding the LMP version via: mvn io.openliberty.tools:liberty-maven-plugin:3.7.2:dev ...
  • Slightly unrelated topic but what about allowing the user to type 'mvn' to override the use of the 'mvnw' wrapper. Could this be a good thing?

UPDATED PROPOSAL

  • Parse the command line and look for an existing dev goal/task
    • If one is detected, don't add the dev goal/task to the generated command

However, we reject the idea of allowing an override of mvn vs. mvnw.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating where Liberty Tools Eclipse constructs the Maven and Gradle command lines, then trace how user-typed parameters are appended. Implement the updated proposal so an existing Liberty dev goal or task is detected and not duplicated, while retaining the decision not to allow mvn versus mvnw overrides; verify the affected command-generation behavior with the project's tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.