Skip to content

Commit f10b868

Browse files
committed
[chore] update BUILDING guide
1 parent d045c15 commit f10b868

File tree

1 file changed

+10
-32
lines changed

1 file changed

+10
-32
lines changed

BUILDING.md

Lines changed: 10 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,19 @@ If you're coming from a Ruby world and do not have Maven setup, you can alternat
1010

1111
### Building
1212

13-
The usual `mvn package` builds a .gem that includes the JRuby extension .jar
13+
The usual `./mvnw package -Dmaven.test.skip=true` builds a .gem that includes the JRuby extension .jar
1414

15+
There's a rake target as well that shells out: `jruby -S rake jar`
1516

1617
### Testing
1718

18-
Tests `mvn test` are run by default with Maven using JRuby plugins.
19-
When the ext .jar is build (`rake jar` or `mvn package -Dmaven.test.skip=true`)
20-
one can run a tests Ruby-style e.g. `jruby -Ilib:. src/test/ruby/test_bn.rb`
19+
NOTE: the ext .jar needs to be build (see the Building section above on `rake jar`)
2120

21+
The full unit test suite can be boostraped using Rake: `jruby -S rake test`
22+
23+
Tests can also be run individually e.g. `jruby -Ilib:src/test/ruby src/test/ruby/test_bn.rb`
24+
25+
NOTE: make sure to **-Ilib** otherwise you end up using the OpenSSL default gem shipped with JRuby.
2226

2327
### Releasing
2428

@@ -28,39 +32,13 @@ one can run a tests Ruby-style e.g. `jruby -Ilib:. src/test/ruby/test_bn.rb`
2832
make sure [pom.xml](pom.xml) is regenerated e.g. using `rmvn validate`
2933
and `git commit` the changes
3034

31-
* (optional) signing artifacts is preferred thus find your GPG key
32-
33-
* `mvn -Prelease -DupdateReleaseInfo=true -Dgpg.keyname=A7A374B9 clean deploy`
34-
35-
* (advised) examine and close the repository to push it to Sonatype's staging
36-
37-
* (advised) run JRuby's full suite using the staged new jruby-openssl gem
38-
e.g. https://github.com/jruby/jruby/commit/1df6315e9145195f19ad862be5e3a5
39-
40-
* (advised) release the staging repository at Sonatype's if all is well
41-
42-
* (optional) update JRuby to bundle new jruby-openssl gem (remove staging)
43-
e.g. https://github.com/jruby/jruby/commit/8750e736491825eec1d1954a07d492
35+
* `mvn -Prelease -DupdateReleaseInfo=true clean package`
4436

4537
* gem push the build gem from pkg/ e.g. `gem push pkg/jruby-openssl-0.9.15.gem`
4638

4739
* tag the release e.g. `git tag v0.9.15`
4840

4941
* update `VERSION` to next SNAPSHOT (e.g. `"0.9.16.dev"`) and commit
50-
make sure [pom.xml](pom.xml) is regenerated (`rmvn validate`)
42+
make sure [pom.xml](pom.xml) is regenerated (`./mvnw validate`)
5143

5244
* `git push origin master --tags`
53-
54-
* (advised) ... take the rest of the day off!
55-
56-
57-
#### Manually Deploying
58-
59-
When a release went by only pushing to http://rubygems.org/ one can still push
60-
to Sonatype's Maven repos, rename *jruby-openssl-x.x.x-java.gem* (when it is
61-
downloaded from https://rubygems.org/gems/jruby-openssl) to follow Maven's
62-
naming conventions (stripping the *-java* suffix) and "mvn deploy" by hand :
63-
64-
```
65-
mvn deploy:deploy-file -Dfile=jruby-openssl-0.9.15.gem -DpomFile=pom.xml -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/
66-
```

0 commit comments

Comments
 (0)