From 703c254ae803e9d182f012fa9d0267b6edf06baa Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Sun, 24 Nov 2024 13:22:56 +0100 Subject: [PATCH] Bump Julia compat to 1.10 --- .github/workflows/ci.yml | 2 +- .github/workflows/documenter.yml | 2 +- NEWS.md | 6 ++ Project.toml | 6 +- ext/ManifoldsBoundaryValueDiffEqExt.jl | 22 ++----- .../ManifoldsDistributionsExt.jl | 41 ++++--------- ext/ManifoldsHybridArraysExt.jl | 26 ++------ ext/ManifoldsNLsolveExt.jl | 15 +---- ...nifoldsOrdinaryDiffEqDiffEqCallbacksExt.jl | 43 ++++--------- ext/ManifoldsOrdinaryDiffEqExt.jl | 32 +++------- ext/ManifoldsRecipesBaseExt.jl | 18 ++---- .../ManifoldsRecursiveArrayToolsExt.jl | 61 ------------------- ext/ManifoldsTestExt/ManifoldsTestExt.jl | 28 ++------- src/Manifolds.jl | 44 ------------- 14 files changed, 65 insertions(+), 281 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5c84ec3e40..1df7b9acb3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - julia-version: ["1.6", "1.10", "~1.11.0-0"] + julia-version: ["lts", "1", "pre"] os: [ubuntu-latest, macOS-latest] group: - 'test_manifolds' diff --git a/.github/workflows/documenter.yml b/.github/workflows/documenter.yml index 0ac7acf6cf..4a12740352 100644 --- a/.github/workflows/documenter.yml +++ b/.github/workflows/documenter.yml @@ -17,7 +17,7 @@ jobs: version: "1.4.551" - uses: julia-actions/setup-julia@latest with: - version: "1.10" + version: "1" - name: Julia Cache uses: julia-actions/cache@v2 - name: Cache Quarto diff --git a/NEWS.md b/NEWS.md index 4517fcd054..10c2479bd9 100644 --- a/NEWS.md +++ b/NEWS.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.10.8] – unreleased + +### Changed + +* Minimum Julia version is now 1.10 (the LTS which replaced 1.6) + ## [0.10.7] – 2024-11-16 ### Added diff --git a/Project.toml b/Project.toml index 033aa9bfa1..3ab0bb342e 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "Manifolds" uuid = "1cead3c2-87b3-11e9-0ccd-23c62b72b94e" authors = ["Seth Axen ", "Mateusz Baran ", "Ronny Bergmann ", "Antoine Levitt "] -version = "0.10.7" +version = "0.10.8" [deps] Einsum = "b7d42ee7-0b51-5a75-98ca-779d3107e4c0" @@ -14,7 +14,6 @@ Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" MatrixEquations = "99c1a7ee-ab34-5fd5-8076-27c950a045f4" Quaternions = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -Requires = "ae029012-a4dd-5104-9daa-d747884805df" SimpleWeightedGraphs = "47aef6b3-ad0c-573a-a1e2-d07658019622" SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" @@ -67,13 +66,12 @@ Quaternions = "0.5, 0.6, 0.7" Random = "1.6" RecipesBase = "1.1" RecursiveArrayTools = "2, 3" -Requires = "0.5, 1" SimpleWeightedGraphs = "1.2" SpecialFunctions = "0.8, 0.9, 0.10, 1.0, 2" StaticArrays = "1.4.3" Statistics = "1.6" StatsBase = "0.32, 0.33, 0.34" -julia = "1.6" +julia = "1.10" [extras] BoundaryValueDiffEq = "764a87c0-6b3e-53db-9096-fe964310641d" diff --git a/ext/ManifoldsBoundaryValueDiffEqExt.jl b/ext/ManifoldsBoundaryValueDiffEqExt.jl index 64a03ff01a..fd0aeac821 100644 --- a/ext/ManifoldsBoundaryValueDiffEqExt.jl +++ b/ext/ManifoldsBoundaryValueDiffEqExt.jl @@ -1,24 +1,12 @@ module ManifoldsBoundaryValueDiffEqExt -if isdefined(Base, :get_extension) - using Manifolds - using ManifoldsBase +using Manifolds +using ManifoldsBase - using Manifolds: affine_connection - import Manifolds: solve_chart_log_bvp, estimate_distance_from_bvp +using Manifolds: affine_connection +import Manifolds: solve_chart_log_bvp, estimate_distance_from_bvp - using BoundaryValueDiffEq -else - # imports need to be relative for Requires.jl-based workflows: - # https://github.com/JuliaArrays/ArrayInterface.jl/pull/387 - using ..Manifolds - using ..ManifoldsBase - - using ..Manifolds: affine_connection - import ..Manifolds: solve_chart_log_bvp, estimate_distance_from_bvp - - using ..BoundaryValueDiffEq -end +using BoundaryValueDiffEq function chart_log_problem!(du, u, params, t) M, A, i = params diff --git a/ext/ManifoldsDistributionsExt/ManifoldsDistributionsExt.jl b/ext/ManifoldsDistributionsExt/ManifoldsDistributionsExt.jl index d068a23e5a..7b97813b82 100644 --- a/ext/ManifoldsDistributionsExt/ManifoldsDistributionsExt.jl +++ b/ext/ManifoldsDistributionsExt/ManifoldsDistributionsExt.jl @@ -1,38 +1,19 @@ module ManifoldsDistributionsExt -if isdefined(Base, :get_extension) - using Manifolds - using Distributions - using Random - using LinearAlgebra +using Manifolds +using Distributions +using Random +using LinearAlgebra - import Manifolds: - normal_rotation_distribution, - normal_tvector_distribution, - projected_distribution, - uniform_distribution +import Manifolds: + normal_rotation_distribution, + normal_tvector_distribution, + projected_distribution, + uniform_distribution - using Manifolds: get_iterator, get_parameter, _read, _write +using Manifolds: get_iterator, get_parameter, _read, _write - using RecursiveArrayTools: ArrayPartition -else - # imports need to be relative for Requires.jl-based workflows: - # https://github.com/JuliaArrays/ArrayInterface.jl/pull/387 - using ..Manifolds - using ..Distributions - using ..Random - using ..LinearAlgebra - - import ..Manifolds: - normal_rotation_distribution, - normal_tvector_distribution, - projected_distribution, - uniform_distribution - - using ..Manifolds: get_iterator, get_parameter, _read, _write - - using ..RecursiveArrayTools: ArrayPartition -end +using RecursiveArrayTools: ArrayPartition include("distributions.jl") include("distributions_for_manifolds.jl") diff --git a/ext/ManifoldsHybridArraysExt.jl b/ext/ManifoldsHybridArraysExt.jl index ed7b2ada04..7ca6f41faf 100644 --- a/ext/ManifoldsHybridArraysExt.jl +++ b/ext/ManifoldsHybridArraysExt.jl @@ -1,28 +1,14 @@ module ManifoldsHybridArraysExt -if isdefined(Base, :get_extension) - using Manifolds - using ManifoldsBase +using Manifolds +using ManifoldsBase - using Manifolds: PowerManifoldMultidimensional - using Manifolds: rep_size_to_colons +using Manifolds: PowerManifoldMultidimensional +using Manifolds: rep_size_to_colons - using HybridArrays +using HybridArrays - import Manifolds: _read -else - # imports need to be relative for Requires.jl-based workflows: - # https://github.com/JuliaArrays/ArrayInterface.jl/pull/387 - using ..Manifolds - using ..ManifoldsBase - - using ..Manifolds: PowerManifoldMultidimensional - using ..Manifolds: rep_size_to_colons - - using ..HybridArrays - - import ..Manifolds: _read -end +import Manifolds: _read Base.@propagate_inbounds @inline function _read( ::PowerManifoldMultidimensional, diff --git a/ext/ManifoldsNLsolveExt.jl b/ext/ManifoldsNLsolveExt.jl index 7661526f59..b5d2f13d9a 100644 --- a/ext/ManifoldsNLsolveExt.jl +++ b/ext/ManifoldsNLsolveExt.jl @@ -1,18 +1,9 @@ module ManifoldsNLsolveExt -if isdefined(Base, :get_extension) - using Manifolds - using ManifoldsBase +using Manifolds +using ManifoldsBase - using NLsolve: NLsolve -else - # imports need to be relative for Requires.jl-based workflows: - # https://github.com/JuliaArrays/ArrayInterface.jl/pull/387 - using ..Manifolds - using ..ManifoldsBase - - using ..NLsolve: NLsolve -end +using NLsolve: NLsolve @doc raw""" inverse_retract(M, p, q method::NLSolveInverseRetraction; kwargs...) diff --git a/ext/ManifoldsOrdinaryDiffEqDiffEqCallbacksExt.jl b/ext/ManifoldsOrdinaryDiffEqDiffEqCallbacksExt.jl index da3971d753..07b34da436 100644 --- a/ext/ManifoldsOrdinaryDiffEqDiffEqCallbacksExt.jl +++ b/ext/ManifoldsOrdinaryDiffEqDiffEqCallbacksExt.jl @@ -1,38 +1,19 @@ module ManifoldsOrdinaryDiffEqDiffEqCallbacksExt -if isdefined(Base, :get_extension) - using Manifolds - using Manifolds: - IntegratorTerminatorNearChartBoundary, - affine_connection, - get_chart_index, - transition_map!, - transition_map_diff! - import Manifolds: solve_chart_exp_ode, solve_chart_parallel_transport_ode - using ManifoldsBase +using Manifolds +using Manifolds: + IntegratorTerminatorNearChartBoundary, + affine_connection, + get_chart_index, + transition_map!, + transition_map_diff! +import Manifolds: solve_chart_exp_ode, solve_chart_parallel_transport_ode +using ManifoldsBase - using DiffEqCallbacks - using OrdinaryDiffEq: OrdinaryDiffEq, SciMLBase, Rodas5, AutoVern9, ODEProblem, solve +using DiffEqCallbacks +using OrdinaryDiffEq: OrdinaryDiffEq, SciMLBase, Rodas5, AutoVern9, ODEProblem, solve - using RecursiveArrayTools: ArrayPartition -else - # imports need to be relative for Requires.jl-based workflows: - # https://github.com/JuliaArrays/ArrayInterface.jl/pull/387 - using ..Manifolds - using ..Manifolds: - IntegratorTerminatorNearChartBoundary, - affine_connection, - get_chart_index, - transition_map!, - transition_map_diff! - import ..Manifolds: solve_chart_exp_ode, solve_chart_parallel_transport_ode - using ..ManifoldsBase - - using ..DiffEqCallbacks - using ..OrdinaryDiffEq: OrdinaryDiffEq, SciMLBase, Rodas5, AutoVern9, ODEProblem, solve - - using ..RecursiveArrayTools: ArrayPartition -end +using RecursiveArrayTools: ArrayPartition """ (int_term::IntegratorTerminatorNearChartBoundary)(u, t, integrator) diff --git a/ext/ManifoldsOrdinaryDiffEqExt.jl b/ext/ManifoldsOrdinaryDiffEqExt.jl index c911f6c041..c964ec69b7 100644 --- a/ext/ManifoldsOrdinaryDiffEqExt.jl +++ b/ext/ManifoldsOrdinaryDiffEqExt.jl @@ -1,32 +1,16 @@ module ManifoldsOrdinaryDiffEqExt -if isdefined(Base, :get_extension) - using ManifoldsBase - using ManifoldsBase: TraitList +using ManifoldsBase +using ManifoldsBase: TraitList - using Manifolds - import Manifolds: exp!, solve_exp_ode - using Manifolds: @einsum +using Manifolds +import Manifolds: exp!, solve_exp_ode +using Manifolds: @einsum - using ManifoldDiff: default_differential_backend +using ManifoldDiff: default_differential_backend - using OrdinaryDiffEq: ODEProblem, AutoVern9, Rodas5, solve - using StaticArrays -else - # imports need to be relative for Requires.jl-based workflows: - # https://github.com/JuliaArrays/ArrayInterface.jl/pull/387 - using ..ManifoldsBase - using ..ManifoldsBase: TraitList - - using ..Manifolds - import ..Manifolds: exp!, solve_exp_ode - using ..Manifolds: @einsum - - using ..ManifoldDiff: default_differential_backend - - using ..OrdinaryDiffEq: ODEProblem, AutoVern9, Rodas5, solve - using ..StaticArrays -end +using OrdinaryDiffEq: ODEProblem, AutoVern9, Rodas5, solve +using StaticArrays function solve_exp_ode( M::AbstractManifold, diff --git a/ext/ManifoldsRecipesBaseExt.jl b/ext/ManifoldsRecipesBaseExt.jl index 65068c4553..d99ced5585 100644 --- a/ext/ManifoldsRecipesBaseExt.jl +++ b/ext/ManifoldsRecipesBaseExt.jl @@ -1,20 +1,10 @@ module ManifoldsRecipesBaseExt -if isdefined(Base, :get_extension) - using Manifolds - using Manifolds: TypeParameter +using Manifolds +using Manifolds: TypeParameter - using Colors: RGBA - using RecipesBase: @recipe, @series -else - # imports need to be relative for Requires.jl-based workflows: - # https://github.com/JuliaArrays/ArrayInterface.jl/pull/387 - using ..Manifolds - using ..Manifolds: TypeParameter - - using ..RecipesBase: @recipe, @series - using ..Colors: RGBA -end +using Colors: RGBA +using RecipesBase: @recipe, @series # # Defaults diff --git a/ext/ManifoldsRecursiveArrayToolsExt/ManifoldsRecursiveArrayToolsExt.jl b/ext/ManifoldsRecursiveArrayToolsExt/ManifoldsRecursiveArrayToolsExt.jl index 3065773cd7..696d6d7b99 100644 --- a/ext/ManifoldsRecursiveArrayToolsExt/ManifoldsRecursiveArrayToolsExt.jl +++ b/ext/ManifoldsRecursiveArrayToolsExt/ManifoldsRecursiveArrayToolsExt.jl @@ -1,6 +1,5 @@ module ManifoldsRecursiveArrayToolsExt -if isdefined(Base, :get_extension) using Manifolds using RecursiveArrayTools: ArrayPartition using StaticArrays @@ -57,66 +56,6 @@ if isdefined(Base, :get_extension) _vector_transport_direction, _vector_transport_to, vee -else - # imports need to be relative for Requires.jl-based workflows: - # https://github.com/JuliaArrays/ArrayInterface.jl/pull/387 - using ..Manifolds - using ..RecursiveArrayTools: ArrayPartition - using ..StaticArrays - using ..LinearAlgebra - - using ..Base.Iterators: repeated - - using ..Manifolds: - bundle_transport_tangent_direction, bundle_transport_tangent_to, _get_parameter - - using ..Manifolds: - ActionDirectionAndSide, - ColumnwiseMultiplicationAction, - FiberBundleBasisData, - FiberBundleProductVectorTransport, - LeftColumnwiseSpecialEuclideanAction, - LeftInvariantRepresentation, - PowerManifoldNestedReplacing, - SpecialEuclideanIdentity, - SpecialEuclideanInGeneralLinear, - TangentVectorRepresentation, - TypeParameter - - import ..Manifolds: - adjoint_Jacobi_field, - allocate, - allocate_result, - apply, - apply!, - apply_diff, - apply_diff!, - apply_diff_group!, - _common_product_translate_diff, - compose, - _compose, - exp_lie, - get_coordinates, - get_vector, - get_vectors, - hat, - identity_element, - inverse_apply, - inverse_apply_diff, - inverse_translate, - inverse_translate_diff, - isapprox, - jacobi_field, - lie_bracket, - optimal_alignment, - project, - translate, - translate_diff, - vector_representation, - _vector_transport_direction, - _vector_transport_to, - vee -end function allocate( ::PowerManifoldNestedReplacing, diff --git a/ext/ManifoldsTestExt/ManifoldsTestExt.jl b/ext/ManifoldsTestExt/ManifoldsTestExt.jl index 2555518509..eee169ad4c 100644 --- a/ext/ManifoldsTestExt/ManifoldsTestExt.jl +++ b/ext/ManifoldsTestExt/ManifoldsTestExt.jl @@ -1,30 +1,14 @@ module ManifoldsTestExt -if isdefined(Base, :get_extension) - using Manifolds - using ManifoldsBase +using Manifolds +using ManifoldsBase - import Manifolds: - test_manifold, test_group, test_action, test_parallel_transport, find_eps - using Manifolds: RieszRepresenterCotangentVector, get_chart_index +import Manifolds: test_manifold, test_group, test_action, test_parallel_transport, find_eps +using Manifolds: RieszRepresenterCotangentVector, get_chart_index - using Random: MersenneTwister, rand! +using Random: MersenneTwister, rand! - using Test: Test -else - # imports need to be relative for Requires.jl-based workflows: - # https://github.com/JuliaArrays/ArrayInterface.jl/pull/387 - using ..Manifolds - using ..ManifoldsBase - - import ..Manifolds: - test_manifold, test_group, test_action, test_parallel_transport, find_eps - using ..Manifolds: RieszRepresenterCotangentVector, get_chart_index - - using ..Random: MersenneTwister, rand! - - using ..Test: Test -end +using Test: Test include("tests_general.jl") include("tests_group.jl") diff --git a/src/Manifolds.jl b/src/Manifolds.jl index cf1aea2d0c..3fedaf634a 100644 --- a/src/Manifolds.jl +++ b/src/Manifolds.jl @@ -612,50 +612,6 @@ function __init__() end end - @static if !isdefined(Base, :get_extension) - @require OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" begin - include("../ext/ManifoldsOrdinaryDiffEqExt.jl") - end - - @require BoundaryValueDiffEq = "764a87c0-6b3e-53db-9096-fe964310641d" begin - include("../ext/ManifoldsBoundaryValueDiffEqExt.jl") - end - - @require NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" begin - include("../ext/ManifoldsNLsolveExt.jl") - end - - @require RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" begin - @require Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" begin - include("../ext/ManifoldsRecipesBaseExt.jl") - end - end - - @require Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" begin - include("../ext/ManifoldsTestExt/ManifoldsTestExt.jl") - end - - @require RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd" begin - include( - "../ext/ManifoldsRecursiveArrayToolsExt/ManifoldsRecursiveArrayToolsExt.jl", - ) - - @require Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" begin - include("../ext/ManifoldsDistributionsExt/ManifoldsDistributionsExt.jl") - end - - @require OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" begin - @require DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def" begin - include("../ext/ManifoldsOrdinaryDiffEqDiffEqCallbacksExt.jl") - end - end - end - - @require HybridArrays = "1baab800-613f-4b0a-84e4-9cd3431bfbb9" begin - include("../ext/ManifoldsHybridArraysExt.jl") - end - end - return nothing end