Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into graal-experiment
Browse files Browse the repository at this point in the history
headius committed Oct 25, 2017
2 parents ccf82e9 + c1d2963 commit 01be64d
Showing 2,453 changed files with 62,407 additions and 42,067 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -52,6 +52,7 @@ lib/native
lib/ruby/cext/
lib/ruby/gems
lib/ruby/stdlib/*.jar
lib/ruby/stdlib/ant*
lib/ruby/stdlib/did_you_mean*
lib/ruby/stdlib/gauntlet_rdoc.rb
lib/ruby/stdlib/jar*
@@ -64,7 +65,6 @@ lib/ruby/stdlib/openssl*
lib/ruby/stdlib/org/
lib/ruby/stdlib/ripper.jar
lib/ruby/stdlib/rubygems/defaults/jruby_native.rb
lib/ruby/stdlib/racc*
lib/ruby/stdlib/rake*
lib/ruby/stdlib/json*
lib/ruby/stdlib/rdoc*
39 changes: 18 additions & 21 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -7,33 +7,35 @@ cache:
- $HOME/.m2

before_install:
- unset _JAVA_OPTIONS
- rm ~/.m2/settings.xml
- export MAVEN_SKIP_RC=true
- mvn -Xmx32M -v | grep 1.7.0; if [ $? = 0 ]; then export MAVEN_OPTS="-XX:MaxPermSize=200M"; else export MAVEN_OPTS="-XX:MaxMetaspaceSize=200M -XX:CompressedClassSpaceSize=200M"; fi
- export MAVEN_OPTS="-Xmx512M $MAVEN_OPTS"
- mvn -Xmx32M -v | grep 1.7.0; if [ $? = 0 ]; then export MAVEN_OPTS="-XX:MaxPermSize=120M"; else export MAVEN_OPTS="-XX:CompressedClassSpaceSize=96M -XX:MaxMetaspaceSize=120M"; fi
- export MAVEN_OPTS="-Xmn52M -Xmx504M $MAVEN_OPTS"
- mvn -Xmx32M -v | grep 1.7.0; if [ $? = 0 ]; then export JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=96M"; else export JAVA_OPTS="$JAVA_OPTS -XX:CompressedClassSpaceSize=72M -XX:MaxMetaspaceSize=96M"; fi

before_script:
- unset GEM_PATH GEM_HOME IRBRC JRUBY_OPTS
- unset _JAVA_OPTIONS # travis/travis#8408
- export PATH="`pwd`/bin:$PATH"
- echo $HOME
- echo $JAVA_OPTS
- echo $MAVEN_OPTS

jdk:
- openjdk7
# - oraclejdk8
- oraclejdk8

os:
- linux

env:
global:
- JAVA_OPTS="-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xmn48M -Xmx512M"
- JAVA_OPTS="-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xmn36M -Xmx768M -XX:InitialCodeCacheSize=40M -XX:ReservedCodeCacheSize=120M -Djava.security.egd=file:/dev/./urandom"
- MALLOC_ARENA_MAX=2
matrix:
- PHASE='-Ptest'
- PHASE='-Prake -Dtask=test:jruby'
- PHASE='-Prake -Dtask=test:jruby:fullint'
#- PHASE='-Prake -Dtask=test:jruby:fullint' # included with OpenJDK bellow
- PHASE='-Prake -Dtask=test:jruby:jit'
- PHASE='-Prake -Dtask=test:jruby:aot'
- PHASE='-Prake -Dtask=test:mri'
@@ -53,20 +55,23 @@ env:

matrix:
include:
- env: PHASE='-Ptest'
jdk: openjdk8
- env: PHASE='-Prake -Dtask=test:jruby:fullint'
jdk: openjdk8
# these profile do no need to run for all JDKs
- env: PHASE='-Pdist'
jdk: oraclejdk8
jdk: openjdk8
- env: PHASE='-Pjruby-jars'
jdk: openjdk7
jdk: openjdk8
- env: PHASE='-Pmain'
jdk: oraclejdk8
- env: PHASE='-Pcomplete'
jdk: oraclejdk8
- env: PHASE='-Posgi'
jdk: openjdk7
jdk: oraclejdk8
- env: PHASE='-Pj2ee'
jdk: oraclejdk7
# These next two started crashing on JDK7 in March 2015, possibly due to JVM issues on Travis's Docker-based env
jdk: oraclejdk8
- env: PHASE='-Pjruby-jars,test -Dinvoker.test=extended'
jdk: oraclejdk8
- env: PHASE='-Pmain,test -Dinvoker.test=extended'
@@ -75,17 +80,9 @@ matrix:
jdk: oraclejdk8
- env: COMMAND=test/check_versions.sh
jdk: oraclejdk8
allow_failures:
- env: PHASE='-Pj2ee'
jdk: oraclejdk7
# NOTE: build seems to never start (waited for any to finish for more than a day) - probably a travis-ci bug
#- env: PHASE='-Pmain'
# sudo: required
# dist: trusty
# group: edge
# jdk: oraclejdk9

install: tool/travis-install.sh
install:
- ./mvnw $MAVEN_CLI_OPTS package -B -Dinvoker.skip -Dmaven.test.skip
script: tool/travis-script.sh

notifications:
49 changes: 24 additions & 25 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -180,9 +180,9 @@ mvn -Pdist -Dinvoker.skip=false

JRuby runs CI tests on TravisCI. See [.travis.yml](https://github.com/jruby/jruby/blob/master/.travis.yml).

#### maven integration tests - -Pjruby-complete or -Pmain
#### Maven integration tests - -Pjruby-complete or -Pmain

maven integration test will use the packed maven artifact to run the tests in a forked maven instance. these maven projects are locatated in
maven integration tests will use the packed maven artifact to run the tests in a forked maven instance. These maven projects are locatated in

```
maven/jruby/src/it
@@ -191,7 +191,7 @@ maven/jruby-jars/src/it
maven/jruby-dist/src/it
```

to trigger the tests with the build:
To trigger the tests with the build:

```
mvn -Pmain -Dinvoker.skip=false
@@ -200,8 +200,7 @@ mvn -Pdist -Dinvoker.skip=false
mvn -Pjruby-jars -Dinvoker.skip=false
```

to pick a particular test add the name of the directory inside the respective *src/it* folder, like (wildcards are possible):

To pick a particular test, add the name of the directory inside the respective *src/it* folder, like (wildcards are possible):

```
mvn -Pmain -Dinvoker.skip=false -Dinvoker.test=integrity
@@ -212,21 +211,21 @@ mvn -Pmain -Dinvoker.skip=false -Dinvoker.test=osgi*
Clean Build
-----------

To clean the build it is important to use the same profile for the clean as what you want to build. the best way to clean build something is, i.e. jruby-jars
To clean the build it is important to use the same profile for the clean as what you want to build. The best way to clean build something is, i.e. jruby-jars

```
mvn clean install -Pjruby-jars
```

this first cleans everything and then starts the new build in one go !
This first cleans everything and then starts the new build in one go!

Cleaning the build may be necessary after switching to a different
version of JRuby (for example, after switching git branches) to ensure
that everything is rebuilt properly.

NOTE: ```mvn clean``` just cleans the **jruby-core** artifact and the **./lib/jruby.jar** !
NOTE: ```mvn clean``` just cleans the **jruby-core** artifact and the **./lib/jruby.jar**!

clean everything:
Clean everything:

```
mvn -Pclean
@@ -235,67 +234,67 @@ mvn -Pclean
Distribution Packages
---------------------

all distribution packages need maven-3.3.x or the use of supplied maven wrapper. all examples below will show the use of the maven wrapper.
All distribution packages need maven-3.3.x or the use of supplied maven wrapper. All examples below will show the use of the maven wrapper.

###the tar.gz and zip distribution packages###
### The tar.gz and zip distribution packages

```
./mvnw -Pdist
```

the files will be found in ./maven/jruby-dist/target
The files will be in `./maven/jruby-dist/target`.

###jruby-complete.jar###
### `jruby-complete.jar`

```
./mvnw -Pcomplete
```

the file will be in ./maven/jruby-complete/target
The file will be in `./maven/jruby-complete/target`.

###jruby maven artifacts###
### jruby maven artifacts

```
./mvnw -Pmain
```

and those files will be installed in you maven local-repository ready to use with maven, ivy, buildr, etc
And those files will be installed in your maven local-repository ready to use with maven, ivy, buildr, etc.

###jruby jars gem###
### jruby jars gem

```
./mvnw -Pjruby-jars
```

the gem will be in ./maven/jruby-jars/pkg
The gem will be in `./maven/jruby-jars/pkg`.

### building ALL packages ###
### Building ALL packages

```
./mvnw -Pall
```

### cleaning the build ###
### Cleaning the build

this will also clean the **ext** directories, i.e. a new build will then use the latest code from there for **lib/ruby**
This will also clean the **ext** directories, i.e. a new build will then use the latest code from there for **lib/ruby**.

```
./mvnw -Pclean
```

## release ##
## Release

first set the new version in the file *VERSION* inside the root directory and then to deploy the maven artifact to sonatype oss execute:
First set the new version in the file *VERSION* inside the root directory and then to deploy the maven artifact to sonatype oss execute:

```
./mvnw 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 . . .
Go to https://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 . . .

### Start a new version

After the release set the new development version in *VERSION* and generate the pom.xml files
After the release, set the new development version in *VERSION* and generate the `pom.xml` files:

```
./mvnw
Loading

0 comments on commit 01be64d

Please sign in to comment.