Skip to content

Commit fd4283c

Browse files
committed
Merge branch 'master' into nl/isconcrete
2 parents 471791d + fe09a7b commit fd4283c

File tree

965 files changed

+82869
-39132
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

965 files changed

+82869
-39132
lines changed

.travis.yml

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,33 @@
11
language: cpp
22
sudo: false
3+
dist: trusty
34
matrix:
45
include:
56
- os: linux
67
env: ARCH="i686"
7-
compiler: "g++-5 -m32"
8+
compiler: "g++ -m32"
89
addons:
910
apt:
10-
sources:
11-
- ubuntu-toolchain-r-test
1211
packages:
12+
- libssl1.0.0
1313
- bar
1414
- time
15-
- binutils
16-
- gcc-5
17-
- g++-5
18-
- gcc-5-multilib
19-
- g++-5-multilib
15+
- gcc-multilib
16+
- g++-multilib
2017
- make:i386
2118
- libssl-dev:i386
22-
- gfortran-5
23-
- gfortran-5-multilib
19+
- gfortran
20+
- gfortran-multilib
2421
- os: linux
2522
env: ARCH="x86_64"
26-
compiler: "g++-5 -m64"
23+
compiler: "g++ -m64"
2724
addons:
2825
apt:
29-
sources:
30-
- ubuntu-toolchain-r-test
3126
packages:
27+
- libssl1.0.0
3228
- bar
3329
- time
34-
- g++-5
35-
- gfortran-5
30+
- gfortran
3631
- os: osx
3732
env: ARCH="x86_64"
3833
osx_image: xcode8
@@ -44,7 +39,8 @@ cache:
4439
branches:
4540
only:
4641
- master
47-
- /release-.*/
42+
- /^release-.*/
43+
- /^v\d+\.\d+\.\d+$/
4844
notifications:
4945
email: false
5046
irc:
@@ -60,12 +56,6 @@ before_install:
6056
- make check-whitespace
6157
- if [ `uname` = "Linux" ]; then
6258
contrib/travis_fastfail.sh || exit 1;
63-
mkdir -p $HOME/bin;
64-
ln -s /usr/bin/gcc-5 $HOME/bin/gcc;
65-
ln -s /usr/bin/g++-5 $HOME/bin/g++;
66-
ln -s /usr/bin/gfortran-5 $HOME/bin/gfortran;
67-
ln -s /usr/bin/gcc-5 $HOME/bin/x86_64-linux-gnu-gcc;
68-
ln -s /usr/bin/g++-5 $HOME/bin/x86_64-linux-gnu-g++;
6959
gcc --version;
7060
BAR="bar -i 30";
7161
BUILDOPTS="-j3 VERBOSE=1 FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1";
@@ -83,7 +73,7 @@ before_install:
8373
BUILDOPTS="-j3 USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm39-julia)/bin/llvm-config LLVM_SIZE=$(brew --prefix llvm39-julia)/bin/llvm-size";
8474
BUILDOPTS="$BUILDOPTS VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1";
8575
BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas";
86-
for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND; do
76+
for lib in LLVM SUITESPARSE ARPACK BLAS LAPACK GMP MPFR PCRE LIBUNWIND; do
8777
BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
8878
done;
8979
export LDFLAGS="-L$(brew --prefix openblas-julia)/lib -L$(brew --prefix suite-sparse-julia)/lib";
@@ -96,6 +86,7 @@ before_install:
9686
script:
9787
- echo BUILDOPTS=$BUILDOPTS
9888
- export BUILDOPTS
89+
# compile / install dependencies
9990
- contrib/download_cmake.sh
10091
- make -C moreutils mispipe
10192
- make $BUILDOPTS -C base version_git.jl.phony
@@ -113,6 +104,7 @@ script:
113104
cat deps.log;
114105
echo "-- end of deps build log -----------------------------------------------";
115106
false; }
107+
# compile / install Julia
116108
- make $BUILDOPTS NO_GIT=1 prefix=/tmp/julia install | moreutils/ts -s "%.s"
117109
- make $BUILDOPTS NO_GIT=1 build-stats
118110
- du -sk /tmp/julia/*
@@ -122,14 +114,25 @@ script:
122114
done;
123115
fi
124116
- cd .. && mv julia julia2
117+
# run tests
125118
- /tmp/julia/bin/julia --precompiled=no -e 'true' &&
126119
/tmp/julia/bin/julia-debug --precompiled=no -e 'true'
127120
- /tmp/julia/bin/julia -e 'versioninfo()'
121+
- pushd /tmp/julia/share/julia/test
128122
- export JULIA_CPU_CORES=2 && export JULIA_TEST_MAXRSS_MB=600 &&
129-
cd /tmp/julia/share/julia/test &&
130123
/tmp/julia/bin/julia --check-bounds=yes runtests.jl $TESTSTORUN &&
131-
/tmp/julia/bin/julia --check-bounds=yes runtests.jl libgit2-online pkg
132-
- cd `dirname $TRAVIS_BUILD_DIR` && mv julia2 julia &&
124+
/tmp/julia/bin/julia --check-bounds=yes runtests.jl libgit2-online download pkg
125+
- popd
126+
# test that the embedding code works on our installation
127+
- mkdir /tmp/embedding-test &&
128+
make check -C /tmp/julia/share/doc/julia/examples/embedding \
129+
JULIA="DYLD_FALLBACK_LIBRARY_PATH='$DYLD_FALLBACK_LIBRARY_PATH' /tmp/julia/bin/julia" \
130+
BIN=/tmp/embedding-test \
131+
"$(cd julia2 && make print-CC)"
132+
# restore initial state and prepare for travis caching
133+
- mv julia2 julia &&
133134
rm -f julia/deps/scratch/libgit2-*/CMakeFiles/CMakeOutput.log
134135
# uncomment the following if failures are suspected to be due to the out-of-memory killer
135136
# - dmesg
137+
after_success:
138+
- cd julia && make -C doc deploy

CONTRIBUTING.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# Notes for Julia Contributors
22

3-
Hi! If you are new to the Julia community: welcome, and thanks for trying Julia. Please be sure to respect our [community standards](http://julialang.org/community/standards/) in all interactions.
3+
Hi! If you are new to the Julia community: welcome, and thanks for trying Julia. Please be sure to respect our [community standards](https://julialang.org/community/standards) in all interactions.
44

55
## Learning Julia
66

7-
[The learning page](http://julialang.org/learning/) has a great list of resources for new and experienced users alike. [This tutorial video](https://www.youtube.com/watch?v=vWkgEddb4-A) is one recommended starting point, as is the "[Invitation to Julia](https://www.youtube.com/watch?v=gQ1y5NUD_RI)" workshop video from JuliaCon 2015 ([slide materials here](https://github.com/dpsanders/invitation_to_julia)). The [Julia documentation](http://docs.Julialang.org/en/latest/) covers the language and core library features, and is [searchable](http://docs.Julialang.org/en/latest/search/). (note: Javascript required).
7+
[The learning page](https://julialang.org/learning) has a great list of resources for new and experienced users alike. [This tutorial video](https://www.youtube.com/watch?v=vWkgEddb4-A) is one recommended starting point, as is the "[Invitation to Julia](https://www.youtube.com/watch?v=gQ1y5NUD_RI)" workshop video from JuliaCon 2015 ([slide materials here](https://github.com/dpsanders/invitation_to_julia)). The [Julia documentation](https://docs.julialang.org/en/latest) covers the language and core library features, and is searchable.
88

99
## Before filing an issue
1010

1111
- Reporting a potential bug? Please read the "[How to file a bug report](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md#how-to-file-a-bug-report)" section to make sure that all necessary information is included.
1212

1313
- Contributing code? Be sure to review the [contributor checklist](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md#contributor-checklist) for helpful tips on the tools we use to build Julia.
1414

15-
- Library feature requests are generally not accepted on this issue tracker. New libraries should be developed as [packages](http://docs.julialang.org/en/release-0.4/manual/packages/#package-development). Discuss ideas for libraries at the [Julia Discourse forum](https://discourse.julialang.org/). Doing so will often lead to pointers to existing projects and bring together collaborators with common interests.
15+
- Library feature requests are generally not accepted on this issue tracker. New libraries should be developed as [packages](https://docs.julialang.org/en/latest/manual/packages#Package-Development-1). Discuss ideas for libraries at the [Julia Discourse forum](https://discourse.julialang.org). Doing so will often lead to pointers to existing projects and bring together collaborators with common interests.
1616

1717
## Contributor Checklist
1818

@@ -26,7 +26,7 @@ Hi! If you are new to the Julia community: welcome, and thanks for trying Julia.
2626

2727
* Learn to use [git](http://git-scm.com), the version control system used by GitHub and the Julia project. Try a tutorial such as the one [provided by GitHub](http://try.GitHub.io/levels/1/challenges/1).
2828

29-
* Review discussions on the [Julia Discourse forum](https://discourse.julialang.org/).
29+
* Review discussions on the [Julia Discourse forum](https://discourse.julialang.org).
3030

3131
* For more detailed tips, read the [submission guide](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md#submitting-contributions) below.
3232

@@ -37,26 +37,26 @@ Hi! If you are new to the Julia community: welcome, and thanks for trying Julia.
3737
A useful bug report filed as a GitHub issue provides information about how to reproduce the error.
3838

3939
1. Before opening a new [GitHub issue](https://github.com/JuliaLang/julia/issues):
40-
- Try searching the existing issues or the [Julia Discourse forum](https://discourse.julialang.org/) to see if someone else has already noticed the same problem.
40+
- Try searching the existing issues or the [Julia Discourse forum](https://discourse.julialang.org) to see if someone else has already noticed the same problem.
4141
- Try some simple debugging techniques to help isolate the problem.
4242
- Try running the code with the debug build of Julia with `make debug`, which produces the `usr/bin/julia-debug`.
4343
- Consider running `julia-debug` with a debugger such as `gdb` or `lldb`. Obtaining even a simple [backtrace](http://www.unknownroad.com/rtfm/gdbtut/gdbsegfault.html) is very useful.
44-
- If Julia segfaults, try following [these debugging tips](http://julia.readthedocs.org/en/latest/devdocs/backtraces/#segfaults-during-bootstrap-sysimg-jl) to help track down the specific origin of the bug.
44+
- If Julia segfaults, try following [these debugging tips](https://docs.julialang.org/en/latest/devdocs/backtraces.html#Reporting-and-analyzing-crashes-(segfaults)-1) to help track down the specific origin of the bug.
4545

4646
2. If the problem is caused by a Julia package rather than core Julia, file a bug report with the relevant package author rather than here.
4747

4848
3. When filing a bug report, provide where possible:
4949
- The full error message, including the backtrace.
5050
- A minimal working example, i.e. the smallest chunk of code that triggers the error. Ideally, this should be code that can be pasted into a REPL or run from a source file. If the code is larger than (say) 50 lines, consider putting it in a [gist](https://gist.github.com).
51-
- The version of Julia as provided by the `versioninfo()` command. Occasionally, the longer output produced by `versioninfo(true)` may be useful also, especially if the issue is related to a specific package.
51+
- The version of Julia as provided by the `versioninfo()` command. Occasionally, the longer output produced by `versioninfo(verbose = true)` may be useful also, especially if the issue is related to a specific package.
5252

53-
4. When pasting code blocks or output, put triple backquotes (\`\`\`) around the text so GitHub will format it nicely. Code statements should be surrounded by single backquotes (\`). Be aware that the `@` sign tags users on GitHub, so references to macros should always be in single backquotes. See [GitHub's guide on Markdown](https://guides.github.com/features/mastering-markdown/) for more formatting tricks.
53+
4. When pasting code blocks or output, put triple backquotes (\`\`\`) around the text so GitHub will format it nicely. Code statements should be surrounded by single backquotes (\`). Be aware that the `@` sign tags users on GitHub, so references to macros should always be in single backquotes. See [GitHub's guide on Markdown](https://guides.github.com/features/mastering-markdown) for more formatting tricks.
5454

5555
## Submitting contributions
5656

5757
### Contributing a Julia package
5858

59-
Julia has a built-in [package manager](https://github.com/JuliaLang/METADATA.jl) based on `git`. A number of [packages](http://pkg.julialang.org/) across many domains are already available for Julia. Developers are encouraged to provide their libraries as a Julia package. The Julia manual provides instructions on [creating Julia packages](http://docs.julialang.org/en/latest/manual/packages/).
59+
Julia has a built-in [package manager](https://github.com/JuliaLang/METADATA.jl) based on `git`. A number of [packages](http://pkg.julialang.org) across many domains are already available for Julia. Developers are encouraged to provide their libraries as a Julia package. The Julia manual provides instructions on [creating Julia packages](https://docs.julialang.org/en/latest/manual/packages).
6060

6161
For developers who need to wrap C libraries so that they can be called from Julia, the [Clang.jl](https://github.com/ihnorton/Clang.jl) package can help generate the wrappers automatically from the C header files.
6262

@@ -71,7 +71,7 @@ to port your package to latest Julia release.
7171

7272
However, porting a package to the latest release may cause the package to break on
7373
earlier Julia releases. To maintain compatibility across releases, use
74-
[`Compat.jl`](https://github.com/JuliaLang/Compat.jl/). Find the fix for your package
74+
[`Compat.jl`](https://github.com/JuliaLang/Compat.jl). Find the fix for your package
7575
from the README, and specify the minimum version of Compat that provides the fix
7676
in your REQUIRE file. To find the correct minimum version, refer to
7777
[this guide](https://github.com/JuliaLang/Compat.jl/#tagging-the-correct-minimum-version-of-compat).
@@ -84,7 +84,7 @@ There are never enough tests. Track [code coverage at Coveralls](https://coveral
8484

8585
2. Browse through the source files and find some untested functionality (highlighted in red) that you think you might be able to write a test for.
8686

87-
3. Write a test that exercises this functionality---you can add your test to one of the existing files, or start a new one, whichever seems most appropriate to you. If you're adding a new test file, make sure you include it in the list of tests in `test/choosetests.jl`. http://julia.readthedocs.org/en/latest/stdlib/test/ may be helpful in explaining how the testing infrastructure works.
87+
3. Write a test that exercises this functionality---you can add your test to one of the existing files, or start a new one, whichever seems most appropriate to you. If you're adding a new test file, make sure you include it in the list of tests in `test/choosetests.jl`. https://docs.julialang.org/en/latest/stdlib/test may be helpful in explaining how the testing infrastructure works.
8888

8989
4. Run `make test-all` to rebuild Julia and run your new test(s). If you had to fix a bug or add functionality in `base`, this will ensure that your test passes and that you have not introduced extraneous whitespace.
9090

@@ -112,7 +112,7 @@ from Julia's root directory. This will rebuild the Julia system image, then inst
112112
>
113113
> When making changes to any of Julia's documentation it is recommended that you run `make docs` to check the your changes are valid and do not produce any errors before opening a pull request.
114114
115-
Below are outlined the three most common types of documentation changes and the steps required to perform them. Please note that the following instructions do not cover the full range of features provided by Documenter.jl. Refer to [Documenter's documentation](https://juliadocs.github.io/Documenter.jl/stable/) if you encounter anything that is not covered by the sections below.
115+
Below are outlined the three most common types of documentation changes and the steps required to perform them. Please note that the following instructions do not cover the full range of features provided by Documenter.jl. Refer to [Documenter's documentation](https://juliadocs.github.io/Documenter.jl/stable) if you encounter anything that is not covered by the sections below.
116116

117117
#### Modifying files in `doc/src/`
118118

@@ -182,7 +182,7 @@ Examples written within docstrings can be used as testcases known as "doctests"
182182
"DOCSTRING TEST"
183183
```
184184

185-
A doctest needs to match an interactive REPL including the `julia>` prompt. To run doctests you need to run `make -C doc check` from the root directory.
185+
A doctest needs to match an interactive REPL including the `julia>` prompt. To run doctests you need to run `make -C doc check` from the root directory. It is recommended to add the header `# Examples` above the doctests.
186186

187187
#### News-worthy changes
188188

@@ -194,7 +194,7 @@ For new functionality and other substantial changes, add a brief summary to `NEW
194194

195195
The Julia community uses [GitHub issues](https://github.com/JuliaLang/julia/issues) to track and discuss problems, feature requests, and pull requests (PR). You can make pull requests for incomplete features to get code review. The convention is to prefix the pull request title with "WIP:" for Work In Progress, or "RFC:" for Request for Comments when work is completed and ready for merging. This will prevent accidental merging of work that is in progress.
196196

197-
Note: These instructions are for adding to or improving functionality in the base library. Before getting started, it can be helpful to discuss the proposed changes or additions on the [Julia Discourse forum](https://discourse.julialang.org/) or in a GitHub issue---it's possible your proposed change belongs in a package rather than the core language. Also, keep in mind that changing stuff in the base can potentially break a lot of things. Finally, because of the time required to build Julia, note that it's usually faster to develop your code in stand-alone files, get it working, and then migrate it into the base libraries.
197+
Note: These instructions are for adding to or improving functionality in the base library. Before getting started, it can be helpful to discuss the proposed changes or additions on the [Julia Discourse forum](https://discourse.julialang.org) or in a GitHub issue---it's possible your proposed change belongs in a package rather than the core language. Also, keep in mind that changing stuff in the base can potentially break a lot of things. Finally, because of the time required to build Julia, note that it's usually faster to develop your code in stand-alone files, get it working, and then migrate it into the base libraries.
198198

199199
Add new code to Julia's base libraries as follows:
200200

@@ -216,7 +216,7 @@ or with the `runtests.jl` script, e.g. to run `test/bitarray.jl` and `test/math.
216216

217217
./usr/bin/julia test/runtests.jl bitarray math
218218

219-
Make sure that [Travis](http://www.travis-ci.org) greenlights the pull request with a [`Good to merge` message](http://blog.travis-ci.com/2012-09-04-pull-requests-just-got-even-more-awesome/).
219+
Make sure that [Travis](http://www.travis-ci.org) greenlights the pull request with a [`Good to merge` message](http://blog.travis-ci.com/2012-09-04-pull-requests-just-got-even-more-awesome).
220220

221221
### Code Formatting Guidelines
222222

@@ -262,22 +262,22 @@ Make sure that [Travis](http://www.travis-ci.org) greenlights the pull request w
262262
## Resources
263263

264264
* Julia
265-
- **Homepage:** <http://julialang.org>
266-
- **Community:** <http://julialang.org/community/>
265+
- **Homepage:** <https://julialang.org>
266+
- **Community:** <https://julialang.org/community/>
267267
- **IRC:** <http://webchat.freenode.net/?channels=Julia>
268268
- **Source code:** <https://github.com/JuliaLang/julia>
269269
- **Git clone URL:** <git://github.com/JuliaLang/julia.git>
270-
- **Documentation:** <http://julialang.org/manual/>
270+
- **Documentation:** <https://julialang.org/manual/>
271271
- **Status:** <http://status.julialang.org/>
272272
- **Code coverage:** <https://coveralls.io/r/JuliaLang/julia>
273273

274274
* Design of Julia
275275
- [Julia: A Fresh Approach to Numerical Computing](http://arxiv.org/pdf/1411.1607v3.pdf)
276-
- [Julia: A Fast Dynamic Language for Technical Computing](http://julialang.org/images/julia-dynamic-2012-tr.pdf)
277-
- [All Julia Publications](http://julialang.org/publications/)
276+
- [Julia: A Fast Dynamic Language for Technical Computing](https://julialang.org/images/julia-dynamic-2012-tr.pdf)
277+
- [All Julia Publications](https://julialang.org/publications)
278278

279279
* Using GitHub
280280
- [Using Julia with GitHub (video)](http://www.youtube.com/watch?v=wnFYV3ZKtOg&feature=youtu.be)
281281
- [Using Julia on GitHub (notes for video)](https://gist.github.com/2712118#file_Julia_git_pull_request.md)
282-
- [General GitHub documentation](http://help.github.com/)
283-
- [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
282+
- [General GitHub documentation](http://help.github.com)
283+
- [GitHub pull request documentation](http://help.github.com/send-pull-requests)

0 commit comments

Comments
 (0)