diff --git a/.gitignore b/.gitignore index 8b7142dd..1bac5f19 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ examples/meetup/.ipynb_checkpoints/* deps/plotly-latest.min.js deps/build.log deps/deps.jl +Manifest.toml diff --git a/.travis.yml b/.travis.yml index e236fe4f..fc303b0f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,57 +4,17 @@ os: - linux # - osx julia: - # - 1.0 + - 1.1 - nightly -# matrix: -# allow_failures: -# - julia: nightly - -# # before install: -# # - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi -# # - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install wkhtmltopdf; fi - -# ref: http://askubuntu.com/a/556672 for the wkhtmltopdf apt repository info + +matrix: + allow_failures: + - julia: nightly sudo: required before_install: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then pwd ; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./test/install_wkhtmltoimage.sh ; fi -# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo add-apt-repository -y ppa:pov/wkhtmltopdf ; fi -# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -qq update ; fi -# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -y wkhtmltopdf ; fi -# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then wkhtmltopdf -V ; fi -# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then wkhtmltoimage -V ; fi -# echo 'exec xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf "$@"' | sudo tee /usr/local/bin/wkhtmltopdf.sh >/dev/null -# sudo chmod a+x /usr/local/bin/wkhtmltopdf.sh - -# # borrowed from Blink.jl's travis file -# matrix: -# include: -# - os: linux -# julia: 0.4 -# env: TESTCMD="xvfb-run julia" -# - os: osx -# julia: 0.4 -# env: TESTCMD="julia" - - notifications: email: true -# uncomment the following lines to override the default test script -# script: - # - if [[ -a .git/shallow ]]; then git fetch --unshallow; fi - # - julia -e 'import Pkg; Pkg.add(Pkg.PackageSpec(path=pwd())); Pkg.build("Plots")' - # - julia test/travis_commands.jl - # - julia -e 'Pkg.clone("ImageMagick"); Pkg.build("ImageMagick")' - # - julia -e 'Pkg.clone("GR"); Pkg.build("GR")' - # # - julia -e 'Pkg.clone("https://github.com/tbreloff/ImageMagick.jl.git"); Pkg.checkout("ImageMagick","tb_write"); Pkg.build("ImageMagick")' - # - julia -e 'Pkg.clone("https://github.com/tbreloff/ExamplePlots.jl.git");' - # # - julia -e 'Pkg.clone("https://github.com/JunoLab/Blink.jl.git"); Pkg.build("Blink"); import Blink; Blink.AtomShell.install()' - # # - julia -e 'Pkg.clone("https://github.com/spencerlyon2/PlotlyJS.jl.git")' - # - julia -e 'ENV["PYTHON"] = ""; Pkg.add("PyPlot"); Pkg.build("PyPlot")' - # - # # - $TESTCMD -e 'Pkg.test("Plots"; coverage=false)' - # - julia -e 'Pkg.test("Plots"; coverage=false)' - # # - julia -e 'cd(Pkg.dir("Plots")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(process_folder()); Codecov.submit(process_folder())' diff --git a/Project.toml b/Project.toml new file mode 100644 index 00000000..e59e581a --- /dev/null +++ b/Project.toml @@ -0,0 +1,55 @@ +name = "Plots" +uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" + +[deps] +Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +Contour = "d38c429a-6771-53c6-b99e-75d170b6e991" +Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" +FixedPointNumbers = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" +GeometryTypes = "4d00f742-c7ba-57c2-abde-4428a4b178cb" +JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +Measures = "442fdcdd-2543-5da2-b0f3-8c86c306513e" +NaNMath = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +PlotReferenceImages = "c5e800db-1e6b-5f72-915a-308d267b7a19" +PlotThemes = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" +PlotUtils = "995b91a9-d308-5afd-9ec6-746e21dbc043" +Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" +REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" +Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" +Reexport = "189a3867-3050-52da-a836-e630ba90ab69" +Requires = "ae029012-a4dd-5104-9daa-d747884805df" +Showoff = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" +SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[compat] +FixedPointNumbers = "≥ 0.3.0" +GR = "≥ 0.31.0" +PlotThemes = "≥ 0.1.3" +PlotUtils = "≥ 0.4.1" +RecipesBase = "≥ 0.6.0" +StatsBase = "≥ 0.14.0" +julia = "≥ 1.0.0" + +[extras] +FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" +ImageMagick = "6218d12a-5da1-5696-b52f-db25d2ecc6d1" +Images = "916415d5-f1e6-5110-898d-aaa5f9f070e0" +LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b" +Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228" +VisualRegressionTests = "34922c18-7c2a-561c-bac1-01e79b2c4c92" + +[targets] +test = ["Pkg", "GR", "Test", "Random", "StatsPlots", "VisualRegressionTests", "LaTeXStrings", "Images", "ImageMagick", "RDatasets", "FileIO", "UnicodePlots"] diff --git a/test/REQUIRE b/test/REQUIRE deleted file mode 100644 index 06f37166..00000000 --- a/test/REQUIRE +++ /dev/null @@ -1,10 +0,0 @@ -StatsPlots -Images -ImageMagick -@osx QuartzImageIO -FileIO -GR 0.31.0 -RDatasets -VisualRegressionTests -UnicodePlots -LaTeXStrings diff --git a/test/add_packages.jl b/test/add_packages.jl deleted file mode 100644 index 4e27bb30..00000000 --- a/test/add_packages.jl +++ /dev/null @@ -1,46 +0,0 @@ -using Pkg - -# need this to use Conda -# ENV["PYTHON"] = "" - -to_add = [ - # PackageSpec(url="https://github.com/JuliaStats/KernelDensity.jl.git"), - PackageSpec(name="PlotUtils", rev="master"), - PackageSpec(name="RecipesBase", rev="master"), - # PackageSpec(name="Blink", rev="master"), - # PackageSpec(name="Rsvg", rev="master"), - # PackageSpec(name="PlotlyJS", rev="master"), - # PackageSpec(name="VisualRegressionTests", rev="master"), - # PackageSpec("PyPlot"), - # PackageSpec("InspectDR"), -] - -if isinteractive() - Pkg.develop(PackageSpec(url="https://github.com/JuliaPlots/PlotReferenceImages.jl.git")) - append!(to_add, [ - PackageSpec(name="FileIO"), - PackageSpec(name="ImageMagick"), - PackageSpec(name="UnicodePlots"), - PackageSpec(name="VisualRegressionTests"), - PackageSpec(name="Gtk"), - # PlotlyJS: - # PackageSpec(name="PlotlyJS"), - # PackageSpec(name="Blink"), - # PackageSpec(name="ORCA"), - # PyPlot: - # PackageSpec(name="PyPlot"), - # PackageSpec(name="PyCall"), - # PackageSpec(name="LaTeXStrings"), - ]) -else - push!(to_add, PackageSpec(url="https://github.com/JuliaPlots/PlotReferenceImages.jl.git")) -end - -Pkg.add(to_add) - -Pkg.build("ImageMagick") -# Pkg.build("GR") -# Pkg.build("Blink") -# import Blink -# Blink.AtomShell.install() -# Pkg.build("PyPlot") diff --git a/test/runtests.jl b/test/runtests.jl index 906c5804..924aa2ea 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,8 +1,13 @@ module PlotsTests -include("add_packages.jl") +using Pkg + +# This should be fine since it's run in it's own test env? +pkg"add https://github.com/JuliaPlots/PlotReferenceImages.jl.git" + include("imgcomp.jl") + # don't actually show the plots Random.seed!(1234) default(show=false, reuse=true) diff --git a/test/snoop.jl b/test/snoop.jl deleted file mode 100644 index cf137d63..00000000 --- a/test/snoop.jl +++ /dev/null @@ -1,36 +0,0 @@ -import SnoopCompile - -### Log the compiles -# This only needs to be run once (to generate "/tmp/plots_compiles.csv") - -# SnoopCompile.@snoop "/tmp/plots_compiles.csv" begin -# include(joinpath(dirname(@__FILE__), "runtests.jl")) -# end - -# ---------------------------------------------------------- - -### Parse the compiles and generate precompilation scripts -# This can be run repeatedly to tweak the scripts - -# IMPORTANT: we must have the module(s) defined for the parcelation -# step, otherwise we will get no precompiles for the Plots module -using Plots - -data = SnoopCompile.read("/tmp/plots_compiles.csv") - -# The Plots tests are run inside a module PlotsTest, so all -# the precompiles get credited to PlotsTest. Credit them to Plots instead. -subst = Dict("PlotsTests"=>"Plots") - -# Blacklist helps fix problems: -# - MIME uses type-parameters with symbols like :image/png, which is -# not parseable -blacklist = ["MIME"] - -# Use these two lines if you want to create precompile functions for -# individual packages -pc, discards = SnoopCompile.parcel(data[end:-1:1,2], subst=subst, blacklist=blacklist) -SnoopCompile.write("/tmp/precompile", pc) - -pdir = joinpath(dirname(@__FILE__), "..") -run(`cp /tmp/precompile/precompile_Plots.jl $pdir/src/precompile.jl`)