Package groovy.transform

# Annotation Interface SourceURI

@Documented @Retention(SOURCE) @Target({LOCAL_VARIABLE,FIELD}) public @interface SourceURI
Variable annotation used for getting the URI of the current script.

The type of the variable annotated with `@SourceURI` must be assignment compatible with `URI`. It will be used to hold a URI object that references the source for the current script.

By default the URI will be made absolute (which is to say it will have an authority) in the case where a relative path was used for the source of the script. If you want to leave relative URIs as relative, then set `allowRelative` to `true`.

Example usage:

     @groovy.transform.SourceURI def sourceURI

     assert sourceURI instanceof java.net.URI

Since:
  2.3.0

- ## Optional Element Summary

  Optional Elements
  Modifier and Type
  Optional Element
  Description
  `boolean`
  `allowRelative`
  Indicates whether relative source URIs should be preserved.

- ## Element Details

  - ### allowRelative

    boolean allowRelative
    Indicates whether relative source URIs should be preserved. Defaults to `false`, which converts relative URIs to absolute ones when possible.
    Returns:
      `true` to allow relative URIs
    Default:
      false