[
https://issues.apache.org/jira/browse/GOBBLIN-1226?focusedWorklogId=471857&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-471857
]
ASF GitHub Bot logged work on GOBBLIN-1226:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 18/Aug/20 07:40
Start Date: 18/Aug/20 07:40
Worklog Time Spent: 10m
Work Description: hkoosha commented on pull request #3072:
URL:
https://github.com/apache/incubator-gobblin/pull/3072#issuecomment-675314005
Well, one problem could be that lombok may liberally use any dependency as
they wish, no matter how outdated. Then including lombok in Gobblin's runtime
means needlessly pulling those transitive dependencies into classpath.
Why needlessly? because one of lombok promises is: zero runtime dependency.
No code path within lombok is accessed during runtime. No other third-party
library is used within lombok's generated code either. The generated code is
just pure vanilla java.
All those lombok annotations we add to the code, and lombok.* package
references are all removed during AST transformation.
So why include it's jar and its transitive dependencies at all?
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 471857)
Time Spent: 1h 40m (was: 1.5h)
> Lombok should not leak into runtime dependencies.
> -------------------------------------------------
>
> Key: GOBBLIN-1226
> URL: https://issues.apache.org/jira/browse/GOBBLIN-1226
> Project: Apache Gobblin
> Issue Type: Bug
> Reporter: Koosha Hosseiny
> Priority: Trivial
> Time Spent: 1h 40m
> Remaining Estimate: 0h
>
> Lombok is a cool tool (although IMHO not worth it's troubles, considering
> generated code is harder to debug, incompatibilities in bytecode, line
> version mismatch in debugger, etc, etc) which promises to have zero runtime
> dependencies.
> It is also *strongly* advised by its developers that it should be present on
> the classpath only during compilation/code generation and _not at all_,
> during runtime. (I don't have an exact reference at hand but it can be
> searched in the lombok google forum).
> Lombok in runtime's classpath is considered not only a bad practice but wrong
> usage of lombok.
> The issue it caused me was that it brings an older version of guava into path.
> I propose the `compile ...lombok` in `build.gradle` be changed to
> `compileOnly`. This has zero effects on any current project using gobblin.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)