This message was deleted.
# community-support
s
This message was deleted.
t
Fwiw, due to how GWT works, you should probably only ever use
api
, and never
implementation
(this might be a reason why you need to add
runtimeClasspath
). But given that your plugin is a custom one, it's hard to help you without seeing its code. So first make sure you fully understand what GWT needs to see/work on; then match those needs to what Gradle provides for Java projects, and model what's needed for cross-project dependencies. For example, among your projects, are there "shared" ones (between the client and the server)? How do you expose the sources to the client GWT projects? How about their dependencies? Are there transitive project dependencies? etc.
🙏 1
When I migrated a project from Maven to Gradle 4 years ago (was Gradle 5.6 at the time), I did use variants to share things between projects (such that I can declare GWT-specific dependencies –mainly to add third-party dependencies' sources–, and a consuming GWT project, depending on the variant it needs will get those additional dependencies as well as the source files)
🙏 1
a
Thank you so much. I'm no where using "implementation" configuration. My bad I didn't mention that explicitly. Given the humongous size of the project, initially the migration has been a lot painful and I couldn't proceed past configuration phase. I faced a lot of issues in several projects due to usage of implementation configuration. After getting advices in this channel(been a while), I then resorted to only using "api" configuration. The module descriptors live under src and not resources. The sourceset printed out from within plugin is "main". The GWT-specific dependencies are configured there inside a dependencies.gradle file in the root project and in our plugin we use them as :
Copy code
project.configurations{
  gwt
}
project.dependencies{
  gwt project.deps.external.gwt
  gwt project.deps.external.gwtDev
}
where the above declarations are as follows in the dependencies.gradle :
Copy code
gwt: [
"com.google.gwt:validation-api:1.0.0.GA",
"com.google.gwt:gwt-dev:${gwtVersion}",
"com.google.gwt:gwt-user:${gwtVersion}",
"com.company.abc.def:XYZ_GWT:${someVersion}"

          ],
          gwtDev: [
                  "com.google.gwt:gwt-dev:${gwtVersion}"
          ]
gwtVersion : 2.9.0 I'd love to use variants. But I was having a hard time trying to understand them and I'm not sure how feasible it would be for me right now to implement it across all projects. Our plugin code is pretty short one. I think I can share some generic bits of it. Please allow me a moment.
Based on your advice I think I need to do some homework and should create a sample multimodule GWT project to help my understanding and see if I can reproduce the issue using our same custom plugin. I believe this would somewhat help me zero-in on the culprit. Thank you so much. I will share my findings.