Can't use Groovy AST code outside my project
So I made a Groovy AST Transformation called BuilderASTTransformation.groovy that generates some methods when applied to a class. I built the project with the AST into a .jar and added it into another project for testing.
In the second project I have a class
@ClosureBuilder(Student)
class StudentBuilder{ }
Student is a java class with fields and getters and setters.
I wrote a test for StudentBuilder and it works (but there is no autocomplete)
Working Test
I built this project into a .jar that I added in another project where I want to use the builder classes but intellij doesn't see the methods and it doesn't apply the AST transformation.
Same code I used for tests is used here:
Not Working
Any help?
java groovy abstract-syntax-tree
add a comment |
So I made a Groovy AST Transformation called BuilderASTTransformation.groovy that generates some methods when applied to a class. I built the project with the AST into a .jar and added it into another project for testing.
In the second project I have a class
@ClosureBuilder(Student)
class StudentBuilder{ }
Student is a java class with fields and getters and setters.
I wrote a test for StudentBuilder and it works (but there is no autocomplete)
Working Test
I built this project into a .jar that I added in another project where I want to use the builder classes but intellij doesn't see the methods and it doesn't apply the AST transformation.
Same code I used for tests is used here:
Not Working
Any help?
java groovy abstract-syntax-tree
Strange, because AST transforms have to be precompiled, so working from a separate project is usually easier. However AST transforms can be tricky. Without more info oh how your project is setup for both the AST, and the project that uses it, it will be hard to tell. It could be how you added the jar in your gradle build file. I typically publish my jar files to maven, and just include them as a dependency. Although it could be something else too...
– virtualdogbert
Nov 22 '18 at 17:39
add a comment |
So I made a Groovy AST Transformation called BuilderASTTransformation.groovy that generates some methods when applied to a class. I built the project with the AST into a .jar and added it into another project for testing.
In the second project I have a class
@ClosureBuilder(Student)
class StudentBuilder{ }
Student is a java class with fields and getters and setters.
I wrote a test for StudentBuilder and it works (but there is no autocomplete)
Working Test
I built this project into a .jar that I added in another project where I want to use the builder classes but intellij doesn't see the methods and it doesn't apply the AST transformation.
Same code I used for tests is used here:
Not Working
Any help?
java groovy abstract-syntax-tree
So I made a Groovy AST Transformation called BuilderASTTransformation.groovy that generates some methods when applied to a class. I built the project with the AST into a .jar and added it into another project for testing.
In the second project I have a class
@ClosureBuilder(Student)
class StudentBuilder{ }
Student is a java class with fields and getters and setters.
I wrote a test for StudentBuilder and it works (but there is no autocomplete)
Working Test
I built this project into a .jar that I added in another project where I want to use the builder classes but intellij doesn't see the methods and it doesn't apply the AST transformation.
Same code I used for tests is used here:
Not Working
Any help?
java groovy abstract-syntax-tree
java groovy abstract-syntax-tree
asked Nov 22 '18 at 11:24
Isvoran AndreiIsvoran Andrei
165
165
Strange, because AST transforms have to be precompiled, so working from a separate project is usually easier. However AST transforms can be tricky. Without more info oh how your project is setup for both the AST, and the project that uses it, it will be hard to tell. It could be how you added the jar in your gradle build file. I typically publish my jar files to maven, and just include them as a dependency. Although it could be something else too...
– virtualdogbert
Nov 22 '18 at 17:39
add a comment |
Strange, because AST transforms have to be precompiled, so working from a separate project is usually easier. However AST transforms can be tricky. Without more info oh how your project is setup for both the AST, and the project that uses it, it will be hard to tell. It could be how you added the jar in your gradle build file. I typically publish my jar files to maven, and just include them as a dependency. Although it could be something else too...
– virtualdogbert
Nov 22 '18 at 17:39
Strange, because AST transforms have to be precompiled, so working from a separate project is usually easier. However AST transforms can be tricky. Without more info oh how your project is setup for both the AST, and the project that uses it, it will be hard to tell. It could be how you added the jar in your gradle build file. I typically publish my jar files to maven, and just include them as a dependency. Although it could be something else too...
– virtualdogbert
Nov 22 '18 at 17:39
Strange, because AST transforms have to be precompiled, so working from a separate project is usually easier. However AST transforms can be tricky. Without more info oh how your project is setup for both the AST, and the project that uses it, it will be hard to tell. It could be how you added the jar in your gradle build file. I typically publish my jar files to maven, and just include them as a dependency. Although it could be something else too...
– virtualdogbert
Nov 22 '18 at 17:39
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53429907%2fcant-use-groovy-ast-code-outside-my-project%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53429907%2fcant-use-groovy-ast-code-outside-my-project%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Strange, because AST transforms have to be precompiled, so working from a separate project is usually easier. However AST transforms can be tricky. Without more info oh how your project is setup for both the AST, and the project that uses it, it will be hard to tell. It could be how you added the jar in your gradle build file. I typically publish my jar files to maven, and just include them as a dependency. Although it could be something else too...
– virtualdogbert
Nov 22 '18 at 17:39