Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

139 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plexus Interactivity

Maven Central GitHub CI Reproducible Builds License

Asks the user a question on the console. This is what an interactive Maven plugin uses to prompt — the archetype plugin's "Define value for property…" comes from here.

Prompter handles the common cases: a plain question, a question with a default, a question restricted to a list of allowed answers, and a password prompt that does not echo. InputHandler and OutputHandler are the lower-level pieces underneath.

Status

Maintained, quietly. The API is small and settled; expect dependency updates rather than new features.

Using it

<dependency>
  <groupId>org.codehaus.plexus</groupId>
  <artifactId>plexus-interactivity-api</artifactId>
  <version>1.5.1</version>
</dependency>

Check the badge above for the current version. Note the artifact is plexus-interactivity-api; plexus-interactivity is the aggregator.

@Inject
Prompter prompter;

String name = prompter.prompt( "Project name" );
String scope = prompter.prompt( "Scope", List.of( "compile", "test" ), "compile" );
String secret = prompter.promptForPassword( "Password" );

A plugin that prompts should check MavenSession.getRequest().isInteractiveMode() first, so it does not hang a batch-mode build.

Requirements

Java 8 or later.

Documentation

Contributing

See CONTRIBUTING.md. In short: mvn verify builds, and run mvn spotless:apply before pushing or CI will fail on formatting.

Please report security vulnerabilities privately — see SECURITY.md, not a public issue.

About

Prompts the user on the console

Topics

Resources

Contributing

Security policy

Stars

4 stars

Watchers

4 watching

Forks

Releases

Used by

Contributors

Languages