JuliaComputing / FemtoCleaner.jl

The code behind femtocleaner
https://github.com/apps/femtocleaner
Other
64 stars 9 forks source link

Doesn't work for online repository #113

Open aminya opened 5 years ago

aminya commented 5 years ago

I added a pull request to solve the issue for running it offline, but this does not work online. https://github.com/JuliaComputing/FemtoCleaner.jl/pull/112

JoshuaPurtell commented 5 years ago

It seems like online support has been discontinued? Which is unfortunate, this would be very helpful

aminya commented 5 years ago

It seems like online support has been discontinued? Which is unfortunate, this would be very helpful

Yes. If you need to run this anyway follow my instructions in my pull-request: https://github.com/aminya/FemtoCleaner.jl#running-femtocleaner-locally

JoshuaPurtell commented 5 years ago

This is very helpful, thank you. Does it only upgrade from 0.6.x to 0.7? Is there a way to upgrade to 1.1.x?

aminya commented 5 years ago

This is very helpful, thank you. Does it only upgrade from 0.6.x to 0.7? Is there a way to upgrade to 1.1.x?

TBH, the developers should answer this. But what I understood is that you set the Julia version in REQUIRE file, and it updates the package based on another package which is Deprecated.jl. So whatever Deprecated.jl has should be fixed by FemtoCleaner

hurak commented 5 years ago

I have followed the instructions for running FemtoCleaner locally within Julia 0.6.4 to no success:

julia> Pkg.clone("https://github.com/Keno/AbstractTrees.jl")
INFO: Cloning AbstractTrees from https://github.com/Keno/AbstractTrees.jl
INFO: Computing changes...
WARNING: julia is fixed at 0.6.4 conflicting with requirement for AbstractTrees: [0.7.0,∞)
INFO: Removing BinaryProvider v0.3.3
INFO: Removing GitHub v4.1.0
INFO: Removing HTTP v0.6.15
INFO: Removing IniFile v0.4.0
INFO: Removing JSON v0.17.2
INFO: Removing MbedTLS v0.5.14
INFO: Removing Nullables v0.0.8
INFO: Removing Revise v0.1.1
INFO: Removing SHA v0.5.7
INFO: Removing Tokenize v0.4.2
INFO: Package database updated

julia> Pkg.checkout("AbstractTrees.jl","kf/for06")
INFO: Checking out AbstractTrees kf/for06...
INFO: Pulling AbstractTrees latest kf/for06...
INFO: No packages to install, update or remove

julia> Pkg.clone("https://github.com/JuliaComputing/Deprecations.jl")
INFO: Cloning Deprecations from https://github.com/JuliaComputing/Deprecations.jl
INFO: Computing changes...
INFO: Installing CSTParser v0.3.5
INFO: Installing Tokenize v0.4.2

julia> Pkg.clone("https://github.com/JuliaComputing/FemtoCleaner.jl")
INFO: Cloning FemtoCleaner from https://github.com/JuliaComputing/FemtoCleaner.jl
INFO: Computing changes...
INFO: Installing BinaryProvider v0.3.3
INFO: Installing DataStructures v0.8.4
INFO: Installing GitHub v4.1.0
INFO: Installing HTTP v0.6.15
INFO: Installing IniFile v0.4.0
INFO: Installing JSON v0.17.2
INFO: Installing MbedTLS v0.5.14
INFO: Installing Nullables v0.0.8
INFO: Installing Revise v0.1.1
INFO: Installing SHA v0.5.7
INFO: Building MbedTLS

julia> using FemtoCleaner

julia> FemtoCleaner.cleanrepo("/home/hurak/PolynomialMatrices.jl/"; show_diff = true, delete_local = true)
ERROR: UndefVarError: cleanrepo not defined
aminya commented 5 years ago

Did you give your repository path and not the Julia file? The repository path should have a REQUIRE file stating the required Julia version. Also, try the end / and see if it works

julia> Pkg.checkout("AbstractTrees.jl","kf/for06") INFO: Checking out AbstractTrees kf/for06... INFO: Pulling AbstractTrees latest kf/for06... INFO: No packages to install, update or remove

And, for some reason, it has not installed AbstractTrees! Let me reinstall this on a clean Julia.

hurak commented 5 years ago

Amin, thank you for the response.

Did you give your repository path and not the Julia file? The repository path should have a REQUIRE file stating the required Julia version. Also, try the end / and see if it works

Yes, while calling FemtoCleaner in

FemtoCleaner.cleanrepo("/home/hurak/PolynomialMatrices.jl/"; show_diff = true, delete_local = true)

the PolynomialMatrices.jl is refering to a directory and the slash (/) was included at the end.

For your information, this is (a Julia package developed by somebody else) and it now appears abandoned/unmaintained. I just wanted to revive it.

For convenience, the content of REQUIRE is

julia 0.5
DataStructures 0.5.2
Polynomials 0.1.2
Compat 0.19.0

Thanks.

aminya commented 5 years ago

Amin, thank you for the response.

Did you give your repository path and not the Julia file? The repository path should have a REQUIRE file stating the required Julia version. Also, try the end / and see if it works

Yes, while calling FemtoCleaner in

FemtoCleaner.cleanrepo("/home/hurak/PolynomialMatrices.jl/"; show_diff = true, delete_local = true)

the PolynomialMatrices.jl is refering to a directory and the slash (/) was included at the end.

For your information, this is (a Julia package developed by somebody else) and it now appears abandoned/unmaintained. I just wanted to revive it.

For convenience, the content of REQUIRE is

julia 0.5
DataStructures 0.5.2
Polynomials 0.1.2
Compat 0.19.0

Thanks.

You should update REQUIRE to be julia 1.0

I couldn't find a solution to your problem but I ran Femtocleaner for that package. Here is the result: https://github.com/aminya/PolynomialMatrices.jl

I created a PR too: https://github.com/neveritt/PolynomialMatrices.jl/pull/29

hurak commented 5 years ago

Amin, thank you again for your response,

You should update REQUIRE to be julia 1.0

Sure.

I couldn't find a solution to your problem but I ran Femtocleaner for that package. Here is the result: https://github.com/aminya/PolynomialMatrices.jl

I created a PR too: neveritt/PolynomialMatrices.jl#29

That is very kind from you, thanks a million!

hurak commented 5 years ago

Amin, I have looked at the result you uploaded to

https://github.com/aminya/PolynomialMatrices.jl

and it appears to me that the conversion was not accomplished successfully. Have a look at the very first lines of type.jlfile (line 9) at https://github.com/aminya/PolynomialMatrices.jl/blob/master/src/type.jl. It reads

immutable PolyMatrix{T,M,W,N} <: AbstractArray{Polynomials.Poly{T},N}

However, replacing the depreceated immutable with struct is one of the necessary changes (Julia 0.7 NEWS), is not it? It appears other deprecated things remain as well (I ran the package in Julia 0.7, which gives the warnings).

aminya commented 5 years ago

Amin, I have looked at the result you uploaded to

https://github.com/aminya/PolynomialMatrices.jl

and it appears to me that the conversion was not accomplished successfully. Have a look at the very first lines of type.jlfile (line 9) at https://github.com/aminya/PolynomialMatrices.jl/blob/master/src/type.jl. It reads

immutable PolyMatrix{T,M,W,N} <: AbstractArray{Polynomials.Poly{T},N}

However, replacing the depreceated immutable with struct is one of the necessary changes (Julia 0.7 NEWS), is not it? It appears other deprecated things remain as well (I ran the package in Julia 0.7, which gives the warnings).

From what I faced and understood and mentioned in this issue, it only updates syntax up to 0.6.4, and you need to update 0.7 syntaxes manually! I recommend installing Julia 0.7 and try to add and use the package. It gives an error for different parts of the code. Fix them manually. Use Shift+Ctrl+F in Atom if you want to search for certain syntax.

hurak commented 5 years ago

Amin,

From what I faced and understood and mentioned in this issue, it only updates syntax up to 0.6.4, and you need to update 0.7 syntaxes manually!

I see... Somehow I automatically assumed (perhaps having been directed in some discussion) that FemtoCleaner is the tool for the 0.6->0.7 upgrade. My fault I did not check the specs and wasted your time. Sorry.

I recommend installing Julia 0.7 and try to add and use the package. It gives an error for different parts of the code. Fix them manually. Use Shift+Ctrl+F in Atom if you want to search for certain syntax.

Yeap. I am aware of this manual procedure using warnings (and suggestions) from Julia 0.7. It highlights several hundred lines. Well, I will only see if I go for the task... :-)