You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (Jira)" <ji...@apache.org> on 2020/10/21 08:26:00 UTC
[jira] [Comment Edited] (GROOVY-9789) Stubbing: Mode of running
Groovyc to only output stubs
[ https://issues.apache.org/jira/browse/GROOVY-9789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17218184#comment-17218184 ]
Paul King edited comment on GROOVY-9789 at 10/21/20, 8:25 AM:
--------------------------------------------------------------
This is relatively easy to do programmatically but not something currently supported from the command line. For programmatic usage, you'd need something like [1], but with the phase on the referenced line changed to SEMANTIC_ANALYSIS. You'd also need to keep the stubs as per [2].
To enable this from the command line, the FileSystemCompiler would need to know about a finishing phase and the unit.compile() statements at [3] would need to be made aware of that phase. But I haven't actually tried those changes myself.
[1] https://github.com/apache/groovy/blob/master/src/test/groovy/bugs/Groovy6086Bug.groovy#L63
[2] https://github.com/apache/groovy/blob/master/src/test/groovy/bugs/Groovy9031.groovy#L33
[3] https://github.com/apache/groovy/blob/master/src/main/java/org/codehaus/groovy/tools/FileSystemCompiler.java#L309-L317
You could probably also achieve something similar to the programmatic approach using ASTTest.
was (Author: paulk):
This is relatively easy to do programmatically but not something currently supported from the command line. For programmatic usage, you'd need something like [1], but with the phase on the referenced line changed to SEMANTIC_ANALYSIS. You'd also need to keep the stubs as per [2].
To enable this from the command line, the FileSystemCompiler would need to know about a finishing phase and the unit.compile() statements at [3] would need to be made aware of that phase. But I haven't actually tried those changes myself.
[1] https://github.com/apache/groovy/blob/master/src/test/groovy/bugs/Groovy6086Bug.groovy#L63
[2] https://github.com/apache/groovy/blob/master/src/test/groovy/bugs/Groovy9031.groovy#L33
[3] https://github.com/apache/groovy/blob/master/src/main/java/org/codehaus/groovy/tools/FileSystemCompiler.java#L309-L317
> Stubbing: Mode of running Groovyc to only output stubs
> ------------------------------------------------------
>
> Key: GROOVY-9789
> URL: https://issues.apache.org/jira/browse/GROOVY-9789
> Project: Groovy
> Issue Type: Improvement
> Components: Compiler
> Reporter: Endre Stølsvik
> Priority: Major
>
> So, I'd love if I could instruct groovyc to only perform the Java stubbing part (and stop there).
> The rationale for this is described in this StackOverflow question: [https://stackoverflow.com/q/53759596/39334]
> Basically, *I want to have three-way joint/mixed compilation between Java, Groovy and Kotlin.* And I figure that if I first could get the java stubs of all groovy files, I could manage to do this in four steps as described in the SO question.
> If this logic holds, it would probably hold for other languages too, so it could conceivably be a nice feature to have not only for my scenario with Java+Groovy+Kotlin.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)