You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Endpoints can consist of multiple concatenated artifacts on the classpath; e.g.: org.codehaus.groovy:groovy-groovysh:org.codehaus.groovy.tools.shell.Main+commons-cli:commons-cli:1.3.1. But currently there is no way to specify dependency exclusions—i.e., to subtract elements from the classpath. Maven supports this via <exclusions> blocks under a <dependency>, so we simply need to think of a good syntax for excluding artifacts. Unfortunately, the nicest operator, -, will not work because the dash is heavily used in GAVs.
One option would be, instead of considering these concatenations and exclusions as elements of the endpoint itself, to make them separate CLI arguments. I almost did that initially, but it makes for "dirty" endpoints: supposing you want to run the same GAV+main with multiple different classpath modifications, the environment caching needs to take those modifications into account anyway, so they may as well be considered part of the endpoint proper.
So, assuming we want to keep these modifications as part of the endpoint itself, we should just choose a different character which never appears in GAVs or Java class names. Maybe ! since it rather universally means "not".
The text was updated successfully, but these errors were encountered:
Endpoints can consist of multiple concatenated artifacts on the classpath; e.g.:
org.codehaus.groovy:groovy-groovysh:org.codehaus.groovy.tools.shell.Main+commons-cli:commons-cli:1.3.1
. But currently there is no way to specify dependency exclusions—i.e., to subtract elements from the classpath. Maven supports this via<exclusions>
blocks under a<dependency>
, so we simply need to think of a good syntax for excluding artifacts. Unfortunately, the nicest operator,-
, will not work because the dash is heavily used in GAVs.One option would be, instead of considering these concatenations and exclusions as elements of the endpoint itself, to make them separate CLI arguments. I almost did that initially, but it makes for "dirty" endpoints: supposing you want to run the same GAV+main with multiple different classpath modifications, the environment caching needs to take those modifications into account anyway, so they may as well be considered part of the endpoint proper.
So, assuming we want to keep these modifications as part of the endpoint itself, we should just choose a different character which never appears in GAVs or Java class names. Maybe
!
since it rather universally means "not".The text was updated successfully, but these errors were encountered: