Skip to content

Commit

Permalink
Add constants and javadoc for supported syntax
Browse files Browse the repository at this point in the history
Issue: junit-team#3717
Signed-off-by: yongjunhong <[email protected]>
  • Loading branch information
YongGoose committed Nov 19, 2024
1 parent eb1b5b3 commit f86c1d6
Showing 1 changed file with 70 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,76 @@
@API(status = STABLE, since = "5.0")
public final class Constants {

/**
* Property name used to include patterns for auto-detecting extensions: {@value}
*
* <h4>Pattern Matching Syntax</h4>
*
* <p>If the property value consists solely of an asterisk ({@code *}), all
* extensions will be included. Otherwise, the property value will be treated
* as a comma-separated list of patterns where each individual pattern will be
* matched against the fully qualified class name (<em>FQCN</em>) of each extension.
* Any dot ({@code .}) in a pattern will match against a dot ({@code .})
* or a dollar sign ({@code $}) in a FQCN. Any asterisk ({@code *}) will match
* against one or more characters in a FQCN. All other characters in a pattern
* will be matched one-to-one against a FQCN.
*
* <h4>Examples</h4>
*
* <ul>
* <li>{@code *}: includes all extensions.
* <li>{@code org.junit.*}: includes every extension under the {@code org.junit}
* base package and any of its subpackages.
* <li>{@code *.MyExtension}: includes every extension whose simple class name is
* exactly {@code MyExtension}.
* <li>{@code *System*}: includes every extension whose FQCN contains
* {@code System}.
* <li>{@code *System*, *Dev*}: includes every extension whose FQCN contains
* {@code System} or {@code Dev}.
* <li>{@code org.example.MyExtension, org.example.TheirExtension}: includes
* extensions whose FQCN is exactly {@code org.example.MyExtension} or
* {@code org.example.TheirExtension}.
* </ul>
*
* @see JupiterConfiguration#EXTENSIONS_AUTODETECTION_INCLUDE_PROPERTY_NAME
*/
public static final String EXTENSIONS_AUTODETECTION_INCLUDE_PROPERTY_NAME = JupiterConfiguration.EXTENSIONS_AUTODETECTION_INCLUDE_PROPERTY_NAME;

/**
* Property name used to exclude patterns for auto-detecting extensions: {@value}
*
* <h4>Pattern Matching Syntax</h4>
*
* <p>If the property value consists solely of an asterisk ({@code *}), all
* extensions will be excluded. Otherwise, the property value will be treated
* as a comma-separated list of patterns where each individual pattern will be
* matched against the fully qualified class name (<em>FQCN</em>) of each extension.
* Any dot ({@code .}) in a pattern will match against a dot ({@code .})
* or a dollar sign ({@code $}) in a FQCN. Any asterisk ({@code *}) will match
* against one or more characters in a FQCN. All other characters in a pattern
* will be matched one-to-one against a FQCN.
*
* <h4>Examples</h4>
*
* <ul>
* <li>{@code *}: excludes all extensions.
* <li>{@code org.junit.*}: excludes every extension under the {@code org.junit}
* base package and any of its subpackages.
* <li>{@code *.MyExtension}: excludes every extension whose simple class name is
* exactly {@code MyExtension}.
* <li>{@code *System*}: excludes every extension whose FQCN contains
* {@code System}.
* <li>{@code *System*, *Dev*}: excludes every extension whose FQCN contains
* {@code System} or {@code Dev}.
* <li>{@code org.example.MyExtension, org.example.TheirExtension}: excludes
* extensions whose FQCN is exactly {@code org.example.MyExtension} or
* {@code org.example.TheirExtension}.
* </ul>
*
* @see JupiterConfiguration#EXTENSIONS_AUTODETECTION_EXCLUDE_PROPERTY_NAME
*/
public static final String EXTENSIONS_AUTODETECTION_EXCLUDE_PROPERTY_NAME = JupiterConfiguration.EXTENSIONS_AUTODETECTION_EXCLUDE_PROPERTY_NAME;

/**
* Property name used to provide patterns for deactivating conditions: {@value}
*
Expand Down

0 comments on commit f86c1d6

Please sign in to comment.