Skip to content

Commit ee32247

Browse files
committed
Merge branch 'master' of github.com:JuliaRobotics/DistributedFactorGraphs.jl into 815/cgdfg_createsession
2 parents 04d7320 + 8fe55c8 commit ee32247

Some content is hidden

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

52 files changed

+764
-804
lines changed

.github/workflows/CompatHelper.yml

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,45 @@
11
name: CompatHelper
2-
32
on:
43
schedule:
5-
- cron: '00 00 * * *'
6-
4+
- cron: 0 0 * * *
5+
workflow_dispatch:
6+
permissions:
7+
contents: write
8+
pull-requests: write
79
jobs:
810
CompatHelper:
9-
runs-on: ${{ matrix.os }}
10-
strategy:
11-
matrix:
12-
julia-version: [1.2.0]
13-
julia-arch: [x86]
14-
os: [ubuntu-latest]
11+
runs-on: ubuntu-latest
1512
steps:
16-
- uses: julia-actions/setup-julia@latest
13+
- name: Check if Julia is already available in the PATH
14+
id: julia_in_path
15+
run: which julia
16+
continue-on-error: true
17+
- name: Install Julia, but only if it is not already available in the PATH
18+
uses: julia-actions/setup-julia@v1
1719
with:
18-
version: ${{ matrix.julia-version }}
19-
- name: Pkg.add("CompatHelper")
20-
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
21-
- name: CompatHelper.main()
20+
version: '1'
21+
# arch: ${{ runner.arch }}
22+
if: steps.julia_in_path.outcome != 'success'
23+
- name: "Add the General registry via Git"
24+
run: |
25+
import Pkg
26+
ENV["JULIA_PKG_SERVER"] = ""
27+
Pkg.Registry.add("General")
28+
shell: julia --color=yes {0}
29+
- name: "Install CompatHelper"
30+
run: |
31+
import Pkg
32+
name = "CompatHelper"
33+
uuid = "aa819f21-2bde-4658-8897-bab36330d9b7"
34+
version = "3"
35+
Pkg.add(; name, uuid, version)
36+
shell: julia --color=yes {0}
37+
- name: "Run CompatHelper"
38+
run: |
39+
import CompatHelper
40+
CompatHelper.main()
41+
shell: julia --color=yes {0}
2242
env:
2343
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24-
run: julia -e 'using CompatHelper; CompatHelper.main()'
44+
COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }}
45+
# COMPATHELPER_PRIV: ${{ secrets.COMPATHELPER_PRIV }}

.github/workflows/ci.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ name: CI
22
on:
33
pull_request:
44
push:
5-
branch:
5+
branches:
66
- master
7-
- release**
7+
- release/*
88
tags:
99
- v**
10-
10+
workflow_dispatch:
1111
jobs:
1212
test:
1313
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
@@ -19,6 +19,7 @@ jobs:
1919
matrix:
2020
version:
2121
- '1.6'
22+
- '1.8'
2223
- 'nightly'
2324
os:
2425
- ubuntu-latest
@@ -81,6 +82,7 @@ jobs:
8182
matrix:
8283
version:
8384
- '1.6'
85+
- '1.8'
8486
os:
8587
- ubuntu-latest
8688
arch:
@@ -123,6 +125,8 @@ jobs:
123125
${{ runner.os }}-
124126
125127
- name: Julia Build Pkg
128+
env:
129+
DFG_USE_CGDFG: true
126130
uses: julia-actions/julia-buildpkg@latest
127131

128132
- name: Git Test Credentials
@@ -157,7 +161,7 @@ jobs:
157161
- name: Setup julia
158162
uses: julia-actions/setup-julia@v1
159163
with:
160-
version: 1.6
164+
version: 1.8
161165
arch: x64
162166

163167
- name: Build Docs
@@ -167,4 +171,4 @@ jobs:
167171
run: |
168172
julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
169173
julia --project=docs/ docs/make.jl
170-
174+

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
*.jl.cov
22
*.jl.*.cov
33
*.jl.mem
4+
*.mem
45
deps/deps.jl
56
docs/build
67
Manifest.toml

.travis.yml

Lines changed: 0 additions & 81 deletions
This file was deleted.

LICENSE

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
Copyright (c) 2017-2021 NavAbility
2-
3-
NOTICE: this license will be relaxed to be much more permissive soon.
1+
Copyright (c) 2017-2022 NavAbility
42

53
The source code in this repository is separated into two parts
6-
that are licensed separately. The CloudGraphDFG library/driver
4+
that are licensed separately. The Neo4jDFG library/driver
75
is licensed separately. For more details see:
8-
https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/blob/develop/src/CloudGraphsDFG/LICENSE
6+
https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/blob/develop/src/Neo4jDFG/LICENSE
97

10-
DistributedFactorGraphs.jl, is not licensed for hosted, webservice or cloud
8+
DistributedFactorGraphs' Neo4jDFG Driver is not licensed for hosted, webservice or cloud
119
solutions (public or private). Please contact NavAbility via email at
1210
<[email protected]> for clarification or additional licensing options.
1311
NavAbility reserves all rights regarding, and to deny use of the software
@@ -18,9 +16,9 @@ Other general use or modification of the software beyond that of
1816
webservices or clouds (private or public) is permitted
1917
according to terms defined by Apache 2.0 or other library specifc licenses.
2018

21-
Copyright 2017-2021 NavAbility
19+
Copyright 2017-2022 NavAbility
2220

23-
Licensed under a Market Limited version of the Apache License, Version 2.0 (the "License");
21+
Licensed under the Apache License, Version 2.0 (the "License");
2422
you may not use this file except in compliance with the License.
2523

2624
Unless required by applicable law or agreed to in writing, software

NEWS.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
Listing news on any major breaking changes in DFG. For regular changes, see integrated Github.com project milestones for DFG.
22

3+
# v0.18.0
4+
5+
- Unpack of GenericFactorNodeData with `reconstrFactorData` now gets `dfg::AbstractDFG` and `varOrder::Vector{Symbol}`, deprecating previous use of `convert` without the graph context (#832).
6+
- Switch to GraphsDFG, deprecating archived LightGraphs.jl (#826).
7+
- Workaround: packed factor data `.fnc` encoded as base64 to avoid escape character problems (#834).
8+
- Towards distributions serialized via JSON, getting away from custom strings (#848).
9+
- `LocalDFG` replaces `DefaultDFG` (#844).
10+
- Optimized creation of CGDFG / `createDfgSessionIfNotExist` (#839, #815).
11+
- `plotDFG` replaces `dfgplot` (#841, #844).
12+
- `Neo4jDFG` replaces `CloudGraphsDFG` (#836).
13+
314
# v0.16.0
415

5-
- `{Packed}VariableNodeData.infoPerCoord::Vector{Float64}` replaces previous `.inferdim::Float64`. The change should have legacy support to help facilitate the transition. This datastore is likely to only become part of critical computations downstream in IncrementalInference.jl v0.26, even though the previous `.inferdim` data values are being populated there. (#804)
16+
- `{Packed}VariableNodeData.infoPerCoord::Vector{Float64}` replaces previous `.inferdim::Float64`. The change should have legacy support to help facilitate the transition. This datastore is likely to only become part of critical computations downstream in IncrementalInference.jl v0.26, even though the previous `.inferdim` data values are being populated there. (#804)

Project.toml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "DistributedFactorGraphs"
22
uuid = "b5cc3c7e-6572-11e9-2517-99fb8daf2f04"
3-
version = "0.18.0"
3+
version = "0.18.5"
44

55
[deps]
66
Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
@@ -15,7 +15,9 @@ LightGraphs = "093fc24a-ae57-5d10-9952-331d41423f4d"
1515
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
1616
ManifoldsBase = "3362f125-f0bb-47a3-aa74-596ffd7ef2fb"
1717
Neo4j = "d2adbeaf-5838-5367-8a2f-e46d570981db"
18+
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
1819
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
20+
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
1921
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
2022
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
2123
SHA = "ea8e919c-243c-51af-8825-aaa63cd721ce"
@@ -26,22 +28,25 @@ UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
2628
Unmarshal = "cbff2730-442d-58d7-89d1-8e530c41eb02"
2729

2830
[compat]
29-
Colors = "0.8, 0.9, 0.10, 0.11, 0.12"
30-
Distributions = "0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 0.24, 0.25, 1"
31-
DocStringExtensions = "0.8, 0.9, 0.10, 1"
31+
Colors = "0.10, 0.11, 0.12"
32+
Distributions = "0.23, 0.24, 0.25"
33+
DocStringExtensions = "0.8, 0.9"
34+
GraphPlot = "0.5.0"
3235
Graphs = "1.4"
3336
JSON = "0.21"
3437
JSON2 = "0.3.1"
3538
LightGraphs = "1.2, 1.3"
36-
ManifoldsBase = "0.11, 0.12"
39+
ManifoldsBase = "0.11, 0.12, 0.13"
3740
Neo4j = "2"
41+
OrderedCollections = "1.4"
3842
Pkg = "1.4, 1.5"
39-
Reexport = "0.2, 0.3, 0.4, 0.5, 1"
40-
Requires = "0.5, 1"
43+
RecursiveArrayTools = "2"
44+
Reexport = "1"
45+
Requires = "1"
4146
TensorCast = "0.3.3, 0.4"
4247
TimeZones = "1.3.1"
4348
Unmarshal = "0.4"
44-
julia = "1.4"
49+
julia = "1.6"
4550

4651
[extras]
4752
GraphPlot = "a2cc645c-3eea-5389-862e-a155d0052231"

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
Click on badges to follow links:
44

5-
| Release v0.16 | Dev | Coverage | Documentation |
5+
| Release v0.18 | Dev | Coverage | Documentation |
66
|---------------|-----|----------|---------------|
77
| [![Build Status][dfg-ci-stb-img]][dfg-ci-stb-url] | [![CI][dfg-ci-dev-img]][dfg-ci-dev-url] <br> [![Average time to resolve an issue](https://isitmaintained.com/badge/resolution/JuliaRobotics/DistributedFactorGraphs.jl.svg)](https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/issues) | [![codecov.io][dfg-cov-img]][dfg-cov-url] <br> [![Percentage of issues still open](https://isitmaintained.com/badge/open/JuliaRobotics/DistributedFactorGraphs.jl.svg)](https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/issues) | [![docs](https://img.shields.io/badge/DFGDocs-latest-blue.svg)](http://juliarobotics.github.io/DistributedFactorGraphs.jl/latest/) <br> [![docs](https://img.shields.io/badge/CaesarDocs-latest-blue.svg)](http://juliarobotics.github.io/Caesar.jl/latest/)
88

99

1010
[dfg-ci-dev-img]: https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/actions/workflows/ci.yml/badge.svg
1111
[dfg-ci-dev-url]: https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/actions/workflows/ci.yml
12-
[dfg-ci-stb-img]: https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/actions/workflows/ci.yml/badge.svg?branch=release%2Fv0.16
12+
[dfg-ci-stb-img]: https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/actions/workflows/ci.yml/badge.svg?branch=release%2Fv0.18
1313
[dfg-ci-stb-url]: https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/actions/workflows/ci.yml
1414
[dfg-cov-img]: https://codecov.io/github/JuliaRobotics/DistributedFactorGraphs.jl/coverage.svg?branch=master
1515
[dfg-cov-url]: https://codecov.io/github/JuliaRobotics/DistributedFactorGraphs.jl?branch=master

attic/DataStoreTests.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ using UUIDs
99

1010
include("testBlocks.jl")
1111

12-
testDFGAPI = CloudGraphsDFG
12+
testDFGAPI = Neo4jDFG
1313
end
1414
# Build a basic graph.
1515

@@ -19,7 +19,7 @@ dfg = testDFGAPI{NoSolverParams}()
1919
# struct TestInferenceVariable1 <: InferenceVariable end
2020
# v1 = DFGVariable(:a, TestInferenceVariable1())
2121
# v2 = DFGVariable(:b, TestInferenceVariable1())
22-
# f1 = DFGFactor{TestFunctorInferenceType1}(:f1, [:a,:b]);
22+
# f1 = DFGFactor{TestAbstractFactor1}(:f1, [:a,:b]);
2323
# #add tags for filters
2424
# union!(v1.tags, [:VARIABLE, :POSE])
2525
# union!(v2.tags, [:VARIABLE, :LANDMARK])

attic/MetaGraphsDFG/DFGPlots.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ using GraphPlot
99
using DistributedFactorGraphs, DistributedFactorGraphs.DFGPlots
1010
# ... Make graph...
1111
# Using GraphViz plotting
12-
dfgplot(fg)
12+
plotDFG(fg)
1313
# Save to PDFG
1414
using Compose
15-
draw(PDF("/tmp/graph.pdf", 16cm, 16cm), dfgplot(fg))
15+
draw(PDF("/tmp/graph.pdf", 16cm, 16cm), plotDFG(fg))
1616
```
1717
1818
More information at [GraphPlot.jl](https://github.com/JuliaGraphs/GraphPlot.jl)
1919
"""
20-
function dfgplot(dfg::DistributedFactorGraphs.MetaGraphsDFG, p::DFGPlotProps = DFGPlotProps())
20+
function plotDFG(dfg::DistributedFactorGraphs.MetaGraphsDFG, p::DFGPlotProps = DFGPlotProps())
2121
@info "Deprecated, please use GraphsDFG or LightDFG."
2222
nodesize = [has_prop(dfg.g,i,:factor) ? p.nodesize.fac : p.nodesize.var for i=vertices(dfg.g)]
2323
if p.drawlabels

0 commit comments

Comments
 (0)