roaster icon indicating copy to clipboard operation
roaster copied to clipboard

How to use roaster in modularized project ?

Open Rizen59 opened this issue 2 years ago • 1 comments

Hi, I'm trying to use roaster in a modularized project

<properties>
  <version.roaster>2.29.0.Final</version.roaster>
</properties>

<dependency>
  <groupId>org.jboss.forge.roaster</groupId>
  <artifactId>roaster-api</artifactId>
  <version>${version.roaster}</version>
</dependency>
<dependency>
  <groupId>org.jboss.forge.roaster</groupId>
  <artifactId>roaster-jdt</artifactId>
  <version>${version.roaster}</version>
  <scope>runtime</scope>
</dependency>

If roaster-jdt is used in scope runtime it cannot be added in module-info.java In scope compile, add in module-info.java

requires roaster.api;
requires roaster.jdt;

The result will be:

[WARNING] Can't extract module name from roaster-jdt-2.29.0.Final.jar: Provider class org.jboss.forge.roaster._shade.org.eclipse.osgi.launch.EquinoxFactory not in JAR file roaster-jdt-2.29.0.Final.jar
[WARNING] ****************************************************************************************************************************************************
[WARNING] * Required filename-based automodules detected: [roaster-api-2.29.0.Final.jar]. Please don't publish this project to a public artifact repository! *
[WARNING] ****************************************************************************************************************************************************

Did I missed something? Maybe the project could be modularized for a futur version.

Rizen59 avatar Mar 07 '24 10:03 Rizen59

Interested in providing a PR?

Maybe we can use the moditect maven plugin to generate the module-info.java

gastaldi avatar Mar 07 '24 12:03 gastaldi