Skip to content

Packaging prebuilt-feature sources into own Maven project - #21

Merged
Ivo Horák (horakivo) merged 13 commits into
prebuilt-pluginsfrom
jtulach/MavenProjectsForJavaClasses
Aug 4, 2026
Merged

Packaging prebuilt-feature sources into own Maven project#21
Ivo Horák (horakivo) merged 13 commits into
prebuilt-pluginsfrom
jtulach/MavenProjectsForJavaClasses

Conversation

@JaroslavTulach

@JaroslavTulach Jaroslav Tulach (JaroslavTulach) commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

The current layout of sources is really hard to operate on from an IDE. Not having sources organized into a project is surprising. The official build tool for this repository is Maven. Hence this PR package the sources into a Maven project with proper dependencies set. With these changes, I can open the sources in my IDE:

image

All dependencies are properly recognized.

TODO

  • update associated build-nmvn-prebuilt.sh accordingly
  • split the sources into two or more projects

Signed-off-by: Jaroslav Tulach <jaroslav.tulach@apidesign.org>
@JaroslavTulach

Jaroslav Tulach (JaroslavTulach) commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator Author
  • no CI started automatically
  • running this job manually
  • and it fails (as expected):
cp: cannot stat 'native/prebuilt-feature/target/prebuilt-feature-4.1.0-SNAPSHOT.jar': No such file or directory
!!! nmvn-spring-4.1.0: build failed
>>> Sanitizing realm jars + link probe ...
Error: Could not find or load main class nmvn.SanitizeRealmJars
Caused by: java.lang.ClassNotFoundException: nmvn.SanitizeRealmJars

@JaroslavTulach
Jaroslav Tulach (JaroslavTulach) force-pushed the jtulach/MavenProjectsForJavaClasses branch from 332aff3 to 161b81c Compare August 3, 2026 12:05
Signed-off-by: Jaroslav Tulach <jaroslav.tulach@apidesign.org>
@JaroslavTulach
Jaroslav Tulach (JaroslavTulach) force-pushed the jtulach/MavenProjectsForJavaClasses branch from 161b81c to 35d5f0e Compare August 3, 2026 12:13
Comment thread build-nmvn-prebuilt.sh
@JaroslavTulach

Jaroslav Tulach (JaroslavTulach) commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator Author

With ff14370 the Mac OS & Windows builds are green and others are likely to follow. Ivo Horák (@horakivo) please review. Another CI run after merge with prebuilt-plugins branch...

Comment thread native/pom.xml

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All code changes are done in this native Maven project and its subprojects. As such it should be pretty easy to merge with up stream easily. The differences against current upstream are shown here:

elide/native-maven$ git diff -r 49865f242b422cc950b9c0416dd7c2cc907c8a78...jtulach/MavenProjectsForJavaClasses   | grep ^diff | grep -v examples/
diff --git .github/workflows/release-spring-nmvn.yml .github/workflows/release-spring-nmvn.yml
diff --git .gitignore .gitignore
diff --git .mvn/wrapper/maven-wrapper.properties .mvn/wrapper/maven-wrapper.properties
diff --git benchmark-nmvn-examples.sh benchmark-nmvn-examples.sh
diff --git build-nmvn-catalog.sh build-nmvn-catalog.sh
diff --git build-nmvn-for-pom.sh build-nmvn-for-pom.sh
diff --git build-nmvn-generic.sh build-nmvn-generic.sh
diff --git build-nmvn-prebuilt.sh build-nmvn-prebuilt.sh
diff --git catalog/README.md catalog/README.md
diff --git catalog/catalog.json catalog/catalog.json
diff --git catalog/resolve_boot_catalog.py catalog/resolve_boot_catalog.py
diff --git graal-issue-crema-static-fields.md graal-issue-crema-static-fields.md
diff --git mvnw mvnw
diff --git mvnw.cmd mvnw.cmd
diff --git native/pom.xml native/pom.xml
diff --git native/prebuilt-feature/pom.xml native/prebuilt-feature/pom.xml
diff --git native/prebuilt-feature/src/main/java/nmvn/NmvnLauncher.java native/prebuilt-feature/src/main/java/nmvn/NmvnLauncher.java
diff --git native/prebuilt-feature/src/main/java/nmvn/PrebuiltPluginConfigurationModule.java native/prebuilt-feature/src/main/java/nmvn/PrebuiltPluginConfigurationModule.java
diff --git native/prebuilt-feature/src/main/java/nmvn/PrebuiltPluginDescriptorCache.java native/prebuilt-feature/src/main/java/nmvn/PrebuiltPluginDescriptorCache.java
diff --git native/prebuilt-feature/src/main/java/nmvn/PrebuiltPluginRealmCache.java native/prebuilt-feature/src/main/java/nmvn/PrebuiltPluginRealmCache.java
diff --git native/prebuilt-feature/src/main/java/nmvn/PrebuiltPluginRealms.java native/prebuilt-feature/src/main/java/nmvn/PrebuiltPluginRealms.java
diff --git native/prebuilt-feature/src/main/java/nmvn/PrebuiltReflectionDemand.java native/prebuilt-feature/src/main/java/nmvn/PrebuiltReflectionDemand.java
diff --git native/prebuilt-feature/src/main/java/nmvn/PrebuiltReflectionFeature.java native/prebuilt-feature/src/main/java/nmvn/PrebuiltReflectionFeature.java
diff --git native/prebuilt-feature/src/main/java/nmvn/PrebuiltRoutingLog.java native/prebuilt-feature/src/main/java/nmvn/PrebuiltRoutingLog.java
diff --git native/prebuilt-feature/src/main/resources/META-INF/sisu/javax.inject.Named native/prebuilt-feature/src/main/resources/META-INF/sisu/javax.inject.Named
diff --git native/sanitize/pom.xml native/sanitize/pom.xml
diff --git native/sanitize/src/main/java/org/apache/maven/sanitize/SanitizeRealmJars.java native/sanitize/src/main/java/org/apache/maven/sanitize/SanitizeRealmJars.java
diff --git nmvn nmvn
diff --git pom.xml pom.xml
diff --git reflection-min/reachability-metadata.json reflection-min/reachability-metadata.json

@horakivo
Ivo Horák (horakivo) merged commit ab5aedc into prebuilt-plugins Aug 4, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants