Conversation
- Require rake/ant/tasks/raketasks (the rake-ant gem's path); the old ant/tasks/raketasks path has raised LoadError since JRuby 9.2. - Stop adding the current directory's lib to the load path. - RakeImport passed its argument list as a single nested element, so -f never reached Rake. - Add unit tests against a stub RakeWrapper and an integration test that runs a real build.xml through the rake-ant gem. - Add CI workflow, Maven wrapper, README and .gitignore. - pom: 1.0.0-SNAPSHOT, Central metadata, release.version 8, and a release profile (sources, javadoc, GPG signing, central-publishing plugin). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
| * The Ruby library that defines <code>RakeWrapper</code>. It ships in the rake-ant gem. | ||
| */ | ||
| protected String rakeTasksLibrary() { | ||
| return "rake/ant/tasks/raketasks"; |
There was a problem hiding this comment.
@headius this implies this project needs rake-ant, hence why I was wondering if we should just have this in there vs a new repo.
There was a problem hiding this comment.
I guess our options are
- Mixed project that pushes a gem for rake-ant and an artifact for jruby-ant, similar to how JRuby pushes a jruby-jars gem that's equivalent to jruby-core + jruby-stdlib Maven artifacts.
- Two separate projects that ship each other to their target.
I don't think anything in rake-ant depends on the Java-based taskdex, though, so perhaps it would be sufficient to have this artifact ship with rake-ant (using mavengem and jruby-maven-plugins to include the contents).
headius
left a comment
There was a problem hiding this comment.
Open question about the best way to include the rake-ant sources, but I think pulling them down via mavengems is the best option.
| ./mvnw verify -Drake.ant.lib=/path/to/rake-ant/lib # also runs the real Ant -> Rake test | ||
| ``` | ||
|
|
||
| Releases: `./mvnw -Prelease deploy` attaches sources and javadoc, signs with GPG and uploads to |
There was a problem hiding this comment.
Releases will use the Maven release plugin, via the release:prepare and release:perform cycle, so this separate of tasks into the release profile may not be the simplest way.
- Resolve rake-ant 1.0.6 from rubygems.org with the mavengem wagon, install it with gem-maven-plugin and copy its lib into the jar. The integration test and CI no longer need a separate rake-ant checkout. - The mavengem repository is in a profile that is only active in this project, so it does not leak to consumers of jruby-ant. - Configure maven-release-plugin (releaseProfiles=release, goals=deploy) and document release:prepare / release:perform. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Pushed 5bd29d6 to address the review:
🤖 Generated with Claude Code |
Follow-up to jruby/jruby#9766, where the `org.jruby.ant` tasks were moved here.
Fixes
Tests and CI
pom
For @headius
🤖 Generated with Claude Code