Conversation
|
The archive of the sources generated specifically for TruffleRuby could be moved to a separate job if that would be cleaner. |
|
Could Loader.java and Nodes.java simply be in |
This path avoids the sources getting wiped out during `mvn clean`, since they are not generated during the maven build. This patch also moves the generated WASM build under src/main/wasm since it is really a source file and not a test file. It will not be included in the built artifact.
The JNI bindings are only used by TruffleRuby, so there's no real value in publishing them to Maven. This avoids us being blocked on figuring out a reliable way to build and publish native artifacts to Maven, something that has never really had a good answer. Instead, we will push the "api" and "wasm" modules for now for JRuby's internal parser use, and prepare to push a second "wasm" module to be used by the gem (with full non-semantic data). The remaining artifacts will be the FFI-based gem (opt-in for JRuby users and built at install time) and the raw native library (bound by JRuby using JNR or Panama and to be built and installed by a JRuby-specific gem a la jruby-prism-parser.
|
After removing the native module altogether along with the archive of sources for TruffleRuby, this boiled down to just some template-generation tweaks. The updated plan for published artifacts (from a JRuby perspective):
Of these, the first two are working as published Maven modules today and JRuby 10.1 will ship with support for them. Additional Ruby artifacts built around these:
Of these, only the jruby-prism-parser gem exists but it has never been merged into the main prism repository. The WASM-based gem is WIP in #4017. The native gem for JRuby will be a rework of the existing FFI gem. @kddnewton This is ready to be merged. |
Based on review comments from #4031 I've made a few additional tweaks.
src/main/java-templatesso they are not deleted bymvn clean.src/main/wasmsince it is an input to the build (and not a test resource as before).