You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2021/08/05 12:00:20 UTC

[jira] [Commented] (TINKERPOP-2411) Move GremlinDslProcessor to its own artifact

    [ https://issues.apache.org/jira/browse/TINKERPOP-2411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17393935#comment-17393935 ] 

ASF GitHub Bot commented on TINKERPOP-2411:
-------------------------------------------

spmallette merged pull request #1456:
URL: https://github.com/apache/tinkerpop/pull/1456


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@tinkerpop.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Move GremlinDslProcessor to its own artifact
> --------------------------------------------
>
>                 Key: TINKERPOP-2411
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2411
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.4.8
>            Reporter: Olivier Michallat
>            Assignee: Stephen Mallette
>            Priority: Minor
>              Labels: breaking
>             Fix For: 3.6.0
>
>
> Currently {{GremlinDslProcessor}} is located directly in the {{gremlin-core}} artifact. This has a few downsides:
>  * it pulls a runtime dependency to JavaPoet
>  * annotation processing is always on. The compiler will have to scan the classpath to check if {{GremlinDsl}} is used anywhere. I believe this is an additional step that would not happen if no processor was present.
> It's a good practice to place annotation processors in their own artifact. Then users can opt in, in one of two ways:
>  * place the JAR in their compile classpath, but not the runtime one (e.g. "provided" scope in Maven)
>  * or use the special {{-processorpath}} of javac ({{<annotationProcessorPaths>}} in the Maven compiler plugin config).
> Either way this provides a cleaner separation, the dependencies that are specific to the processing / code generation part are not retained at runtime.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)