Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixes for nightly: Statistics stdlib #583

Merged
merged 4 commits into from
Jul 16, 2018
Merged

fixes for nightly: Statistics stdlib #583

merged 4 commits into from
Jul 16, 2018

Conversation

stevengj
Copy link
Member

@stevengj stevengj commented Jun 29, 2018

This fixes Compat to work with Julia nightly by adding Compat.Statistics (for JuliaLang/julia#27834) and the init keyword for mapreduce and reduce (for JuliaLang/julia#27711). Hopefully tests should pass again now!

I didn't add the init keyword support for *foldl and *foldr yet due to lack of time — they can always be added in a separate PR — but the reduce and mapreduce changes are urgent to work around JuliaLang/julia#27871

@stevengj
Copy link
Member Author

@KristofferC, any advice on the

ERROR: The following package names could not be resolved:
 * Compat (not found in project or manifest)
Please specify by known `name=uuid`.

error that AppVeyor is showing on nightly?

(I have to admit I find the name-resolution errors in the new package system rather frustrating.)

@KristofferC
Copy link
Sponsor Member

KristofferC commented Jun 30, 2018

The problem seems to be related to that the registry doesn't get downloaded at all

Compare on Linux (where the registry get downloaded):


17.79s$ julia --color=yes -e "Pkg.build(\"${JL_PKG}\")"
WARNING: Base.Pkg is deprecated, run `using Pkg` instead
 in module Main
   Cloning default registries into /Users/travis/.julia/registries
   Cloning registry Uncurated from "https://github.com/JuliaRegistries/Uncurated.git"

but on the mac builder

julia --color=yes -e "Pkg.build(\"${JL_PKG}\")"
WARNING: Base.Pkg is deprecated, run `using Pkg` instead
 in module Main
ERROR: The following package names could not be resolved:
 * Compat (not found in project or manifest)
Please specify by known `name=uuid`.

This could happen if there is an old, empty .julia/registry laying around (JuliaLang/Pkg.jl#448) but not sure why that would be the case here.

Even so, Compat should definitely have been resolved because the name + uuid of Compat is in the Project file.

I will try debug it.

@KristofferC
Copy link
Sponsor Member

Seems like something is wrong with how the current project is detected: #584 (comment).

@stevengj stevengj mentioned this pull request Jun 30, 2018
@@ -1716,7 +1747,7 @@ if VERSION < v"0.7.0-DEV.4585"
end

if VERSION < v"0.7.0-DEV.4064"
for f in (:mean, :cumsum, :cumprod, :sum, :prod, :maximum, :minimum, :all, :any, :median)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we remove these we'll break any packages which depend on this, right? I'm afraid we'll have to keep them, at least on Julia 0.6. That's what we have done for several other features which have changed over the 0.7 development period.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I guess we'll need to replace this loop with a loop that imports them from Compat.Statistics.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While keeping them to avoid breaking packages that have already adapted to the keyword, we should erase them from the README though, to encourage use of Compat.Statistics instead.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll just change the mentions in the README to Compat.Statistics.mean etcetera.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be fixed now

@fredrikekre
Copy link
Member

I think this will break Compat on 0.7-beta as has happened with StatsBase and StaticArrays.

@stevengj
Copy link
Member Author

stevengj commented Jul 5, 2018

@fredrikekre, because of the Statistics module in Project.toml, which doesn't exist yet on 0.7-beta?

@fredrikekre
Copy link
Member

Yes exactly. It will end up in the registry as a deps, like for StaticArrays: https://github.com/JuliaRegistries/Uncurated/blob/b4b9bbbd0a7a4aef7d5aa1ecb802f54694f5cf53/S/StaticArrays/Deps.toml#L15

So I think if this is merged and released, then Compat will only work on 0.6, 0.7-pre-pkg3 and 0.7-post-Statistics-stdlib.

@martinholters
Copy link
Member

Ah, that is quite unfortunate. So we postpone this one until -rc1 is out and support for -beta may be considered less important? Or what's the best way forward? If we need to wait, pulling 9d264ec (init for reduce/mapreduce) out into its own PR might be worthwhile.

@fredrikekre
Copy link
Member

So we postpone this one until -rc1 is out and support for -beta may be considered less important?

Yes, something like that. And then we can just as well avoid all the tricky version ifs and import Statistics for 0.7-.

This was referenced Jul 6, 2018
@aviks
Copy link
Member

aviks commented Jul 14, 2018

beta2 is out. Can this be merged now?

@martinholters
Copy link
Member

Let's rerun CI and see...

@martinholters
Copy link
Member

Hmm, why does close and reopen not work? Rebase and push instead?

@martinholters
Copy link
Member

Took the liberty and rebased this.

@martinholters
Copy link
Member

Ok, CI is happy with this. Go?

@martinholters martinholters changed the title fixes for nightly: Statistics stdlib and init keyword fixes for nightly: Statistics stdlib Jul 16, 2018
@stevengj stevengj merged commit 3804559 into master Jul 16, 2018
@stevengj
Copy link
Member Author

Thanks!

@stevengj stevengj deleted the updates branch July 16, 2018 14:53
martinholters added a commit that referenced this pull request Oct 4, 2019
martinholters added a commit that referenced this pull request Oct 8, 2019
martinholters added a commit that referenced this pull request Oct 13, 2019
* Bump required Julia version to 1.0

* Remove compatibility support code for:
  * `at-__MODULE__` (from #363)
  * `devnull`, `stdin`, `stdout`, and `stderr` from #499
  * `at-nospecialize` (from #385 and #409)
  * `isabstracttype` and `isconcretetype` (from #477)
  * `invokelatest` from #424
  * array-like access to `Cmd` from #379
  * `Val(n)` and `ntuple`/`reshape` with `Val` from #381 and #399
  * `logdet(::Any)` fallback from #382
  * `chol(::UniformScaling)` from #382
  * `pushfirst!`, `popfirst!` from #444
  * `fieldcount` from #386
  * `read(obj, ::Type{String})` from #385 and #580
  * `InexactError`, `DomainError`, and `OverflowError` constructors from #393
  * `corrected` kw arg to `cov` from #401
  * `adjoint` from #401
  * `partialsort` from #401
  * `pairs` from #428
  * `AbstractRange` from #400
  * `rtoldefault` from #401
  * `Dates.Period` rounding from #462
  * `IterativeEigensolvers` from #435
  * `occursin` from #520
  * `Char` concatenation from #406
  * `BitSet` from #407
  * `diagm` and `spdiagm` with pairs from #408
  * `Array` c'tors from `UniformScaling` from #412 and #438
  * `IOContext` ctor taking pairs from #427
  * `undef` from #417 and #514
  * `get` on `ENV` from #430
  * `ComplexF...` from #431
  * `tr` from #614
  * `textwidth` from #644
  * `isnumeric` from #543
  * `AbstractDict` from #435
  * `axes` #435 and #442
  * `Nothing` and `Cvoid` from #435
  * `Compat.SuiteSparse` from #435
  * `invpermute!` from #445
  * `replace` with a pair from #445
  * `copyto!` from #448
  * `contains` from #452
  * `CartesianIndices` and `LinearIndices` from #446, #455, and #524
  * `findall` from #466 (and #467).
  * `argmin` and `argmax` from #470, #472, and #622
  * `parentmodule` from #461
  * `codeunits` from #474
  * `nameof` from #471
  * `GC` from #477
  * `AbstractDisplay` from #482
  * `bytesavailable` from #483
  * `firstindex` and `lastindex` from #480 and #494
  * `printstyled` from #481
  * `hasmethod` from #486
  * `objectid` from #486
  * `Compat.find*` from #484 and #513
  * `repr` and `showable` from #497
  * `Compat.names` from #493 and #505
  * `Compat.round` and friends #500, #530, and #537
  * `IOBuffer` from #501 and #504
  * `range` with kw args and `LinRange` from #511
  * `cp` and `mv` from #512
  * `indexin` from #515
  * `isuppercase` and friends from #516
  * `dims` and `init` kwargs from #518, #528, #590, #592, and #613
  * `selectdim` from #522 and #531
  * `repeat` from #625
  * `fetch(::Task)` from #549
  * `isletter` from #542
  * `isbitstype` from #560
  * `at-cfunction` from #553 and #566
  * `codeunit` and `thisind` and friends from #573
  * `something` from #562
  * `permutedims` from #582
  * `atan` from #574
  * `split` and `rsplit` from #572
  * `mapslices` from #588
  * `floatmin` and `floatmax` from #607
  * `dropdims` from #618
  * required keyword arguments from #586
  * `CartesianRange` in `at-compat` from #377
  * `finalizer` from #416
  * `readline`, `eachline`, and `readuntil` from #477, #541, and #575
  * curried `isequal`, `==`, and `in` from #517
  * `Some` from #435 and #563
  * `at-warn` and friends from #458

* Remove old deprecations

* Deprecate:
  * `Compat.Sockets` from #545 and #594
  * `TypeUtils` from #304
  * `macros_have_sourceloc` from #355
  * `Compat.Sys` from #380, #433, and #552
  * `Compat.MathConstants` from #401
  * `Compat.Test`, `Compat.SharedArrays`, `Compat.Mmap`, and `Compat.DelimitedFiles` from #404
  * `Compat.Dates` from #413
  * `Compat.Libdl` from #465 (and #467)
  * `AbstractDateTime` from #443
  * `Compat.Printf` from #435
  * `Compat.LinearAlgebra` from #463
  * `Compat.SparseArrays` from #459
  * `Compat.Random` from #460, #601, and #647
  * `Compat.Markdown` from #492
  * `Compat.REPL` from #469
  * `Compat.Serialization` from #473
  * `Compat.Statistics` from #583
  * `Fix2` from #517
  * `Compat.Base64` from #418
  * `Compat.Unicode` from #432 and #507
  * `notnothing` from #435 and #563
  * `Compat.IteratorSize` and `Compat.IteratorEltype` from #451
  * `enable_debug(::Bool)` from #458
  * `Compat.Distributed` from #477
  * `Compat.Pkg` from #485
  * `Compat.InteractiveUtils` from #485
  * `Compat.LibGit2` from #487
  * `Compat.UUIDs` from #490
  * `Compat.qr` from #534
  * `Compat.rmul!` from #546
  * `Compat.norm` abd friends from #577

* Remove obsolete README entry, missed in #385

* Remove obsolete tests (e.g. missed in #372)

* Remove obsolete `VERSION` conditionals and some minor clean-up
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants