Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'master' into truffle-head
Conflicts:
	core/pom.rb
	core/pom.xml
  • Loading branch information
chrisseaton committed Jan 22, 2015
2 parents e22fa40 + 5d71187 commit 52391a5
Show file tree
Hide file tree
Showing 457 changed files with 6,111 additions and 11,449 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -79,7 +79,7 @@ branches:
- /^test-.*$/
- /^ha-feature/

script: if [[ -v COMMAND ]]; then $COMMAND; else travis_retry mvn -q -Pbootstrap clean package ; mvn install -Dinvoker.skip=false $PHASE | egrep -v 'Download|\\[exec\\] [[:digit:]]+/[[:digit:]]+|^[[:space:]]*\\[exec\\][[:space:]]*$' ; [ ${PIPESTATUS[0]} == 0 ]; fi
script: if [[ -v COMMAND ]]; then $COMMAND; else travis_retry mvn -Pbootstrap clean install -Dinvoker.skip=false $PHASE | egrep -v 'Download|\\[exec\\] [[:digit:]]+/[[:digit:]]+|^[[:space:]]*\\[exec\\][[:space:]]*$' ; [ ${PIPESTATUS[0]} == 0 ]; fi
install: /bin/true
notifications:
irc:
Expand Down
54 changes: 12 additions & 42 deletions BUILDING.md
Expand Up @@ -11,37 +11,33 @@ Prerequisites:
JRuby uses Maven for building and bootstrapping itself, along with Rake,
RSpec, and MSpec for running integration tests.

Bootstrapping JRuby
-------------------
Building Commandline JRuby
--------------------------

The first time you enter a new source dump of JRuby (from a src zip or
from a git clone), you will want to fully bootstrap the environment. The
from a git clone), you need to build the lib/jruby.jar. The
command to execute is:

```
mvn
```

Or if you prefer to be more explicit, the default "package" goal can
Or if you prefer to be more explicit, the default "install" goal can
be specified:

```
mvn package
mvn install
```

This will do all of the following:

* Compile JRuby
* Compile JRuby-Truffle
* Build `lib/jruby.jar`, needed for running at command line
* It will install the default gems specifications `lib/ruby/gems/shared/specifications/default/` and the ruby files of those gems in `lib/ruby/stdlib/`.

The environment is now suitable for running Ruby applications.

Bootstrapping only needs to be done once at first entry into a JRuby
source dump or if you are updating JRuby from a git repository.

The list of the default gems can be found at the beginning of `lib/pom.rb`.

Running JRuby
-------------

Expand All @@ -53,19 +49,10 @@ rvm use system

*to make sure you do not use another Ruby's gems or execute another Ruby implementation.*

Once bootstrapped, JRuby can be run with the `bin/jruby` executable. If
the `jruby-launcher` gem installed successfully, this will be a native
After building lib/jruby.jar, JRuby can be run with the `bin/jruby` executable. If the `jruby-launcher` gem installed successfully, this will be a native
executable for your platform; otherwise, it will be a copy of the
`bin/jruby.bash` bash script.

Bootstrapping will install the following gems:

* `rspec`
* `jruby-launcher`

and dependencies of these gems. A list of the gem versions can be found in
`test/pom.xml` in the `dependencies` section.

RubyGems is installed by default, and available in `bin/gem`. It will
attempt to locate the `jruby` executable using `/usr/bin/env`, so you
will need the `bin` dir in your `PATH` environment or you will need to
Expand All @@ -81,7 +68,7 @@ Developing and Testing
JRuby employs a large suite of tests, so there are many ways you can
verify that JRuby is still fully functional.

### Bootstrapping
### Setup Testing

In order to prepare JRuby for testing, you must bootstrap the dev
environment. This will do the following:
Expand All @@ -99,7 +86,6 @@ In case there is a problem with installing the jruby-launcher (due to missing co
mvn -Pbootstrap-no-launcher
```


This only needs to be run once to install these gems or if you update
one of the gems to a newer version or clean out all installed gems.

Expand All @@ -111,16 +97,6 @@ After changing Java code, you can recompile quickly by running:
mvn
```

If you only want to build JRuby core (everything that goes in jruby.jar), you can use
the following command:

```
mvn -pl core
```

This is generally the quickest way to build when you are just modifying JRuby core
classes.

### Day to Day Testing

For normal day-to-day testing, we recommend running the Ruby (MRI) tests
Expand Down Expand Up @@ -303,20 +279,14 @@ rake maven:dump_poms
```
or
```
rmvn validate -Pall
```

on master you need to run
```
rake maven:set_version
rmvn installe -Pall
```

manually rollback the poms in ./ext/ if their main versions have been changed
and then commit and tag everything respectively. Now deploy the maven
Now deploy the maven
artifact to sonatype oss.

```
mvn clean deploy -Psonatype-oss-release -Prelease
mvn clean deploy -Psonatype-oss-release
```

go to oss.sonatype.org and close the deployment which will check if all 'required' files are in place and then finally push the release to maven central and . . .
Expand Down Expand Up @@ -349,5 +319,5 @@ rake maven:dump_poms
```
or
```
rmvn validate -Pall
rmvn install -Pall
```
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
9.0.0.0.pre1
9.0.0.0-SNAPSHOT
20 changes: 3 additions & 17 deletions core/pom.rb
Expand Up @@ -64,8 +64,6 @@
jar 'bsf:bsf:2.4.0', :scope => 'provided'
jar 'com.jcraft:jzlib:1.1.3'
jar 'com.martiansoftware:nailgun-server:0.9.1'
jar 'com.oracle:truffle:0.7-SNAPSHOT'
jar 'com.oracle:truffle-dsl-processor:0.7-SNAPSHOT', :scope => 'provided'
jar 'junit:junit', :scope => 'test'
jar 'org.apache.ant:ant:${ant.version}', :scope => 'provided'
jar 'org.osgi:org.osgi.core:5.0.0', :scope => 'provided'
Expand Down Expand Up @@ -180,8 +178,7 @@
execute_goals( 'compile',
:id => 'default-compile',
:phase => 'compile',
'annotationProcessors' => [ 'org.jruby.anno.AnnotationBinder',
'com.oracle.truffle.dsl.processor.TruffleProcessor' ],
'annotationProcessors' => [ 'org.jruby.anno.AnnotationBinder' ],
'generatedSourcesDirectory' => 'target/generated-sources',
'compilerArgs' => [ '-XDignore.symbol.file=true',
'-J-Duser.language=en',
Expand Down Expand Up @@ -213,17 +210,6 @@
'failOnError' => 'false' )
end

plugin :shade do
execute_goals( 'shade',
:id => 'pack jruby.jar',
:phase => 'package',
'relocations' => [ { 'pattern' => 'org.objectweb',
'shadedPattern' => 'org.jruby.org.objectweb' } ],
'outputFile' => '${jruby.basedir}/lib/jruby.jar',
'transformers' => [ { '@implementation' => 'org.apache.maven.plugins.shade.resource.ManifestResourceTransformer',
'mainClass' => 'org.jruby.Main' } ] )
end

plugin( :surefire,
'forkCount' => '1',
'reuseForks' => 'false',
Expand Down Expand Up @@ -264,7 +250,7 @@
plugin :shade do
execute_goals( 'shade',
:id => 'pack jruby-core-noasm.jar',
:phase => 'verify',
:phase => 'package',
'shadedArtifactAttached' => 'true',
'shadedClassifierName' => 'noasm',
'artifactSet' => {
Expand All @@ -275,7 +261,7 @@
'shadedPattern' => 'org.jruby.org.objectweb' } ] )
execute_goals( 'shade',
:id => 'pack jruby-core-complete.jar',
:phase => 'verify',
:phase => 'package',
'shadedArtifactAttached' => 'true',
'shadedClassifierName' => 'complete',
'relocations' => [ { 'pattern' => 'org.objectweb',
Expand Down

0 comments on commit 52391a5

Please sign in to comment.