Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
public final class Plugin {
  // Existing
  private final ArtifactId artifactId;
  private final PluginClass pluginClass;
  private final PluginProperties properties;
  // new field 
  
  /* macros used at this plugin 
   * Examples : 
   * for the field value ${hostname}:${port}/${path}, the set would be[hostname, port, path]
   * for the field value ${secure(accessKey)}, the set would be [accessKey]
   * for the field value ${key1:${key2}}, the set would be [key2, key1:${key2}]
   * for the field value \${u-name}, the set would be empty as macro is escaped    
   * for the field value ${key1\${key2}}, the set would be [key1\${key2}] so the user understands key2 is not a macro and will provide value for the key, "key1${key2}"
   */
   private final Set<String> macros;
   Plugin(ArtifactId artifactId, PluginClass pluginClass, PluginProperties, @Nullable Set<String> macros) {
	...
  }
  ...
}

...