Skip to content

Commit

Permalink
Keep only the root and core project (#1021)
Browse files Browse the repository at this point in the history
This attempts to simplifiy our Julia project and build setup.

Where possible, existing projects are moved into the root project like
in #1014. All core dependencies are now also direct root dependencies to
make using the root project more convenient for development.

While working on this I realized that we can remove the `libribasim` and
`ribasim_cli` projects entirely. `libribasim` is now a module of the
Ribasim package, and `ribasim_cli` already was just a tiny wrapper
around `Ribasim.main`. The content of the README.md files from those two
folders now reside in the `build_lib` and `build_app` docstring.

Since that left only the `create_binaries` folder under `/build`, I
collapsed that level out. `create_binaries` is no longer a package, but
the code is still used, but now simply directly included in `build.jl`.
  • Loading branch information
visr authored Feb 1, 2024
1 parent db6e94c commit 4c4bb52
Show file tree
Hide file tree
Showing 34 changed files with 191 additions and 253 deletions.
5 changes: 1 addition & 4 deletions .github/workflows/core_compat_helper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,8 @@ jobs:
run: |
import CompatHelper
CompatHelper.main(; subdirs=[
".",
"core",
"docs",
"build/create_binaries",
"build/libribasim",
"build/ribasim_cli"
])
shell: julia --color=yes {0}
env:
Expand Down
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ docs/build/
docs/site/

/generated_testmodels
build/create_binaries/ribasim_cli/
build/create_binaries/libribasim/
build/ribasim_cli/
build/libribasim/

JuliaSysimage.dll
LocalPreferences.toml
Expand Down Expand Up @@ -147,7 +147,7 @@ dmypy.json
.pyre/

/.luarc.json
build/ribasim_cli/tests/temp/
build/tests/temp/
python/ribasim_api/tests/temp/
report.xml
/utils/juliaup
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<description />
<settings>
<options>
<option name="artifactRules" value="ribasim\build\create_binaries\libribasim =&gt; libribasim.zip" />
<option name="artifactRules" value="ribasim\build\libribasim =&gt; libribasim.zip" />
<option name="cleanBuild" value="true" />
<option name="executionTimeoutMin" value="120" />
<option name="publishArtifactCondition" value="SUCCESSFUL" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<description />
<settings>
<options>
<option name="artifactRules" value="ribasim\build/create_binaries/ribasim_cli =&gt; ribasim_cli_linux.zip" />
<option name="artifactRules" value="ribasim\build/ribasim_cli =&gt; ribasim_cli_linux.zip" />
<option name="cleanBuild" value="true" />
<option name="executionTimeoutMin" value="120" />
</options>
Expand Down Expand Up @@ -42,7 +42,7 @@ pixi run build-ribasim-cli]]></param>
<runner id="RUNNER_1932" name="Get version from Ribasim" type="simpleRunner">
<parameters>
<param name="script.content" value="./ribasim --version" />
<param name="teamcity.build.workingDir" value="ribasim/build/create_binaries/ribasim_cli/bin" />
<param name="teamcity.build.workingDir" value="ribasim/build/ribasim_cli/bin" />
<param name="teamcity.step.mode" value="default" />
<param name="use.custom.script" value="true" />
</parameters>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ pixi run test-ribasim-api]]></param>
<artifact-dependencies>
<dependency id="ARTIFACT_DEPENDENCY_570" sourceBuildTypeId="Ribasim_Linux_BuildLibribasim" cleanDestination="true">
<revisionRule name="sameChainOrLastFinished" revision="latest.sameChainOrLastFinished" />
<artifact sourcePath="libribasim.zip!** =&gt; ribasim/build/create_binaries/libribasim&#xD;&#xA;" />
<artifact sourcePath="libribasim.zip!** =&gt; ribasim/build/libribasim&#xD;&#xA;" />
</dependency>
</artifact-dependencies>
<dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<description />
<settings>
<options>
<option name="artifactRules" value="ribasim\build\ribasim_cli\tests\temp =&gt; test_output.zip" />
<option name="artifactRules" value="ribasim\build\tests\temp =&gt; test_output.zip" />
<option name="cleanBuild" value="true" />
</options>
<parameters>
Expand Down Expand Up @@ -93,7 +93,7 @@ pixi run test-ribasim-cli]]></param>
<artifact-dependencies>
<dependency id="ARTIFACT_DEPENDENCY_570" sourceBuildTypeId="Ribasim_Linux_BuildRibasimCli" cleanDestination="true">
<revisionRule name="sameChainOrLastFinished" revision="latest.sameChainOrLastFinished" />
<artifact sourcePath="ribasim_cli_linux.zip!** =&gt; ribasim/build/create_binaries/ribasim_cli&#xD;&#xA;" />
<artifact sourcePath="ribasim_cli_linux.zip!** =&gt; ribasim/build/ribasim_cli&#xD;&#xA;" />
</dependency>
</artifact-dependencies>
<dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<description />
<settings>
<options>
<option name="artifactRules" value="ribasim\build\create_binaries\libribasim =&gt; libribasim.zip" />
<option name="artifactRules" value="ribasim\build\libribasim =&gt; libribasim.zip" />
<option name="cleanBuild" value="true" />
<option name="executionTimeoutMin" value="120" />
<option name="publishArtifactCondition" value="SUCCESSFUL" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<description />
<settings>
<options>
<option name="artifactRules" value="ribasim\build/create_binaries/ribasim_cli =&gt; ribasim_cli_windows.zip" />
<option name="artifactRules" value="ribasim\build/ribasim_cli =&gt; ribasim_cli_windows.zip" />
<option name="cleanBuild" value="true" />
<option name="executionTimeoutMin" value="120" />
</options>
Expand All @@ -30,7 +30,7 @@ pixi run build-ribasim-cli]]></param>
<runner id="RUNNER_1932" name="Get version from Ribasim" type="simpleRunner">
<parameters>
<param name="script.content" value="ribasim --version" />
<param name="teamcity.build.workingDir" value="ribasim/build/create_binaries/ribasim_cli" />
<param name="teamcity.build.workingDir" value="ribasim/build/ribasim_cli" />
<param name="teamcity.step.mode" value="default" />
<param name="use.custom.script" value="true" />
</parameters>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
<artifact-dependencies>
<dependency id="ARTIFACT_DEPENDENCY_570" sourceBuildTypeId="Ribasim_Windows_BuildLibribasim" cleanDestination="true">
<revisionRule name="sameChainOrLastFinished" revision="latest.sameChainOrLastFinished" />
<artifact sourcePath="libribasim.zip!** =&gt; ribasim/build/create_binaries/libribasim&#xD;&#xA;" />
<artifact sourcePath="libribasim.zip!** =&gt; ribasim/build/libribasim&#xD;&#xA;" />
</dependency>
</artifact-dependencies>
<dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<description />
<settings>
<options>
<option name="artifactRules" value="ribasim\build\ribasim_cli\tests\temp =&gt; test_output.zip" />
<option name="artifactRules" value="ribasim\build\tests\temp =&gt; test_output.zip" />
<option name="cleanBuild" value="true" />
</options>
<parameters>
Expand Down Expand Up @@ -82,7 +82,7 @@
<artifact-dependencies>
<dependency id="ARTIFACT_DEPENDENCY_570" sourceBuildTypeId="Ribasim_Windows_BuildRibasimCli" cleanDestination="true">
<revisionRule name="sameChainOrLastFinished" revision="latest.sameChainOrLastFinished" />
<artifact sourcePath="ribasim_cli_windows.zip!** =&gt; ribasim/build/create_binaries/ribasim_cli&#xD;&#xA;" />
<artifact sourcePath="ribasim_cli_windows.zip!** =&gt; ribasim/build/ribasim_cli&#xD;&#xA;" />
</dependency>
</artifact-dependencies>
<dependencies>
Expand Down
82 changes: 33 additions & 49 deletions Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

julia_version = "1.10.0"
manifest_format = "2.0"
project_hash = "1a68754569dae741c9232c9ae2db3512f52c2b80"
project_hash = "7e18cea33bf679231c5c94c6b99a1b635f9a1b61"

[[deps.ADTypes]]
git-tree-sha1 = "41c37aa88889c171f1300ceac1313c06e891d245"
Expand Down Expand Up @@ -150,9 +150,9 @@ version = "0.2.4"

[[deps.ChainRulesCore]]
deps = ["Compat", "LinearAlgebra"]
git-tree-sha1 = "c1deebd76f7a443d527fc0430d5758b8b2112ed8"
git-tree-sha1 = "1287e3872d646eed95198457873249bd9f0caed2"
uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
version = "1.19.1"
version = "1.20.1"
weakdeps = ["SparseArrays"]

[deps.ChainRulesCore.extensions]
Expand All @@ -172,9 +172,9 @@ version = "1.3.5"

[[deps.CodecBzip2]]
deps = ["Bzip2_jll", "Libdl", "TranscodingStreams"]
git-tree-sha1 = "c0ae2a86b162fb5d7acc65269b469ff5b8a73594"
git-tree-sha1 = "9b1ca1aa6ce3f71b3d1840c538a8210a043625eb"
uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd"
version = "0.8.1"
version = "0.8.2"

[[deps.CodecLz4]]
deps = ["Lz4_jll", "TranscodingStreams"]
Expand All @@ -184,9 +184,9 @@ version = "0.4.1"

[[deps.CodecZlib]]
deps = ["TranscodingStreams", "Zlib_jll"]
git-tree-sha1 = "cd67fc487743b2f0fd4380d4cbd3a24660d0eec8"
git-tree-sha1 = "59939d8a997469ee05c4b4944560a820f9ba0d73"
uuid = "944b1d66-785c-5afd-91f1-9de20f533193"
version = "0.7.3"
version = "0.7.4"

[[deps.CodecZstd]]
deps = ["TranscodingStreams", "Zstd_jll"]
Expand Down Expand Up @@ -355,9 +355,9 @@ uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"

[[deps.Dictionaries]]
deps = ["Indexing", "Random", "Serialization"]
git-tree-sha1 = "5bde104a45593207307e1481a58e0339d4643fca"
git-tree-sha1 = "8b73c5a704d74e78a114b785d648ceba1e5790a9"
uuid = "85a47980-9c8c-11e8-2b9f-f7ca1fa99fb4"
version = "0.3.26"
version = "0.4.0"

[[deps.DiffEqBase]]
deps = ["ArrayInterface", "DataStructures", "DocStringExtensions", "EnumX", "EnzymeCore", "FastBroadcast", "ForwardDiff", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "Parameters", "PreallocationTools", "PrecompileTools", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "Setfield", "SparseArrays", "Static", "StaticArraysCore", "Statistics", "Tricks", "TruncatedStacktraces"]
Expand Down Expand Up @@ -497,9 +497,9 @@ version = "0.3.2"

[[deps.FastLapackInterface]]
deps = ["LinearAlgebra"]
git-tree-sha1 = "b12f05108e405dadcc2aff0008db7f831374e051"
git-tree-sha1 = "d576a29bf8bcabf4b1deb9abe88a3d7f78306ab5"
uuid = "29a986be-02c6-4525-aec4-84b980013641"
version = "2.0.0"
version = "2.0.1"

[[deps.FileIO]]
deps = ["Pkg", "Requires", "UUIDs"]
Expand Down Expand Up @@ -939,9 +939,9 @@ version = "1.1.0"

[[deps.MathOptInterface]]
deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays", "SpecialFunctions", "Test", "Unicode"]
git-tree-sha1 = "e2ae8cf5ac6daf5a3959f7f6ded9c2028b61d09d"
git-tree-sha1 = "8b40681684df46785a0012d352982e22ac3be59e"
uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee"
version = "1.25.1"
version = "1.25.2"

[[deps.MatrixFactorizations]]
deps = ["ArrayLayouts", "LinearAlgebra", "Printf", "Random"]
Expand Down Expand Up @@ -1026,9 +1026,9 @@ version = "1.2.0"

[[deps.NonlinearSolve]]
deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "DiffEqBase", "FastBroadcast", "FastClosures", "FiniteDiff", "ForwardDiff", "LazyArrays", "LineSearches", "LinearAlgebra", "LinearSolve", "MaybeInplace", "PrecompileTools", "Preferences", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SimpleNonlinearSolve", "SparseArrays", "SparseDiffTools", "StaticArraysCore", "TimerOutputs"]
git-tree-sha1 = "78bdd3a4a62865cf43c53d63783b0cbfddcdbbe6"
git-tree-sha1 = "323d2a61f4adc4dfe404bf332b59690253b4f4f2"
uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
version = "3.5.0"
version = "3.5.3"

[deps.NonlinearSolve.extensions]
NonlinearSolveBandedMatricesExt = "BandedMatrices"
Expand Down Expand Up @@ -1086,9 +1086,9 @@ version = "1.6.3"

[[deps.OrdinaryDiffEq]]
deps = ["ADTypes", "Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DocStringExtensions", "ExponentialUtilities", "FastBroadcast", "FastClosures", "FillArrays", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "IfElse", "InteractiveUtils", "LineSearches", "LinearAlgebra", "LinearSolve", "Logging", "MacroTools", "MuladdMacro", "NonlinearSolve", "Polyester", "PreallocationTools", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SimpleNonlinearSolve", "SimpleUnPack", "SparseArrays", "SparseDiffTools", "StaticArrayInterface", "StaticArrays", "TruncatedStacktraces"]
git-tree-sha1 = "7c6738f21fba2ccd07b7eaa9d23b437a8a97f1a1"
git-tree-sha1 = "c971a69e5eea2eba435b55e962c283f15502a0c8"
uuid = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
version = "6.69.0"
version = "6.70.0"

[[deps.PackageCompiler]]
deps = ["Artifacts", "Glob", "LazyArtifacts", "Libdl", "Pkg", "Printf", "RelocatableFolders", "TOML", "UUIDs", "p7zip_jll"]
Expand Down Expand Up @@ -1191,9 +1191,9 @@ uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"

[[deps.ReTestItems]]
deps = ["Dates", "Logging", "LoggingExtras", "Pkg", "Serialization", "Sockets", "Test", "TestEnv"]
git-tree-sha1 = "68a7d4fd86f12c2fc6dec60d566f033a10ffb5fb"
git-tree-sha1 = "32138ef9f7205330693b0e8e366370c470b2285d"
uuid = "817f1d60-ba6b-4fd5-9520-3cf149f6a823"
version = "1.23.0"
version = "1.23.1"

[[deps.RecipesBase]]
deps = ["PrecompileTools"]
Expand All @@ -1203,21 +1203,23 @@ version = "1.3.4"

[[deps.RecursiveArrayTools]]
deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "SparseArrays", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"]
git-tree-sha1 = "dd7fc1923fde0cc6cdff451352d17924b0704ca1"
git-tree-sha1 = "5a904ad526cc9a2c5b464f6642ce9dd230fd69b6"
uuid = "731186ca-8d62-57ce-b412-fbd966d074cd"
version = "3.5.4"
version = "3.7.0"

[deps.RecursiveArrayTools.extensions]
RecursiveArrayToolsFastBroadcastExt = "FastBroadcast"
RecursiveArrayToolsMeasurementsExt = "Measurements"
RecursiveArrayToolsMonteCarloMeasurementsExt = "MonteCarloMeasurements"
RecursiveArrayToolsReverseDiffExt = ["ReverseDiff", "Zygote"]
RecursiveArrayToolsTrackerExt = "Tracker"
RecursiveArrayToolsZygoteExt = "Zygote"

[deps.RecursiveArrayTools.weakdeps]
FastBroadcast = "7034ab61-46d4-4ed7-9d0f-46aef9175898"
Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca"
ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"

Expand Down Expand Up @@ -1285,15 +1287,15 @@ version = "1.6.0"

[[deps.SQLite_jll]]
deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"]
git-tree-sha1 = "81f7d934b52b2441f7b44520bd982fdb3607b0da"
git-tree-sha1 = "75e28667a36b5650b5cc4baa266c5760c3672275"
uuid = "76ed43ae-9a5d-5a62-8c75-30186b810ce8"
version = "3.43.0+0"
version = "3.45.0+0"

[[deps.SciMLBase]]
deps = ["ADTypes", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FillArrays", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "Printf", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables", "TruncatedStacktraces"]
git-tree-sha1 = "de41474ac529bf81598e064587421cc5ebc28fa0"
git-tree-sha1 = "e4344257d8a9dfc92e0fc113f0a5bababa8d2082"
uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
version = "2.20.0"
version = "2.22.0"

[deps.SciMLBase.extensions]
SciMLBaseChainRulesCoreExt = "ChainRulesCore"
Expand Down Expand Up @@ -1441,9 +1443,9 @@ weakdeps = ["OffsetArrays", "StaticArrays"]

[[deps.StaticArrays]]
deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"]
git-tree-sha1 = "f68dd04d131d9a8a8eb836173ee8f105c360b0c5"
git-tree-sha1 = "7b0e9c14c624e435076d19aea1e5cbdec2b9ca37"
uuid = "90137ffa-7385-5640-81b9-e52037218182"
version = "1.9.1"
version = "1.9.2"
weakdeps = ["ChainRulesCore", "Statistics"]

[deps.StaticArrays.extensions]
Expand Down Expand Up @@ -1500,9 +1502,9 @@ uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c"
version = "7.2.1+1"

[[deps.SymbolicIndexingInterface]]
git-tree-sha1 = "74502f408d99fc217a9d7cd901d9ffe45af892b1"
git-tree-sha1 = "b3103f4f50a3843e66297a2456921377c78f5e31"
uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5"
version = "0.3.3"
version = "0.3.5"

[[deps.TOML]]
deps = ["Dates"]
Expand All @@ -1511,9 +1513,9 @@ version = "1.0.3"

[[deps.TZJData]]
deps = ["Artifacts"]
git-tree-sha1 = "d39314cdbaf5b90a047db33858626f8d1cc973e1"
git-tree-sha1 = "b69f8338df046774bd975b13be9d297eca5efacb"
uuid = "dc5dba14-91b3-4cab-a142-028a31da12f7"
version = "1.0.0+2023c"
version = "1.1.0+2023d"

[[deps.TableTraits]]
deps = ["IteratorInterfaceExtensions"]
Expand Down Expand Up @@ -1656,23 +1658,11 @@ git-tree-sha1 = "49ce682769cd5de6c72dcf1b94ed7790cd08974c"
uuid = "3161d3a3-bdf6-5164-811a-617609db77b4"
version = "1.5.5+0"

[[deps.create_binaries]]
deps = ["Artifacts", "LibGit2", "PackageCompiler", "TOML", "TimeZones"]
path = "build/create_binaries"
uuid = "3cfb6a46-05f0-43df-bb16-bf763deb14b4"
version = "0.1.0"

[[deps.libblastrampoline_jll]]
deps = ["Artifacts", "Libdl"]
uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"
version = "5.8.0+1"

[[deps.libribasim]]
deps = ["BasicModelInterface", "Dates", "Ribasim", "TOML"]
path = "build/libribasim"
uuid = "f319f290-633d-4573-adfe-d6d5548b6388"
version = "0.1.0"

[[deps.libsodium_jll]]
deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
git-tree-sha1 = "848ab3d00fe39d6fbc2a8641048f8f272af1c51e"
Expand All @@ -1688,9 +1678,3 @@ version = "1.52.0+1"
deps = ["Artifacts", "Libdl"]
uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
version = "17.4.0+2"

[[deps.ribasim_cli]]
deps = ["Dates", "Logging", "Ribasim", "SciMLBase", "TOML", "TerminalLoggers"]
path = "build/ribasim_cli"
uuid = "e45c999e-e944-4589-a8e6-7d0b7a60140a"
version = "0.1.0"
Loading

0 comments on commit 4c4bb52

Please sign in to comment.