Skip to content

Commit

Permalink
Merge pull request #446 from nfdi4plants/ro-crate-json
Browse files Browse the repository at this point in the history
Split ARCtrl project into language-specific project files
  • Loading branch information
HLWeil authored Oct 7, 2024
2 parents 9af0c63 + b8640a7 commit 9e43e81
Show file tree
Hide file tree
Showing 169 changed files with 6,834 additions and 1,531 deletions.
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"fable": {
"version": "4.16.0",
"version": "4.22.0",
"commands": [
"fable"
]
Expand Down
7 changes: 7 additions & 0 deletions ARCtrl.sln
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.github\workflows\build-test.yml = .github\workflows\build-test.yml
build.cmd = build.cmd
build.sh = build.sh
Directory.Build.props = Directory.Build.props
Directory.Packages.props = Directory.Packages.props
.config\dotnet-tools.json = .config\dotnet-tools.json
global.json = global.json
package.json = package.json
Expand All @@ -24,6 +26,11 @@ EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "ARCtrl.FileSystem", "src\FileSystem\ARCtrl.FileSystem.fsproj", "{F47E23C3-8415-4725-9E85-57271694DEB3}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{6DA2330B-D407-4FB1-AF05-B0184034EC44}"
ProjectSection(SolutionItems) = preProject
src\ARCtrl\ARCtrl.Javascript.fsproj = src\ARCtrl\ARCtrl.Javascript.fsproj
src\ARCtrl\ARCtrl.Python.fsproj = src\ARCtrl\ARCtrl.Python.fsproj
src\Package.Metadata.props = src\Package.Metadata.props
EndProjectSection
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Build", "build\Build.fsproj", "{5EAFB0CD-1168-4FCA-AA61-E96AD6C85819}"
EndProject
Expand Down
20 changes: 20 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<Project>
<!-- Make F# support Central Package Management -->
<PropertyGroup>
<DisableImplicitSystemValueTupleReference>true</DisableImplicitSystemValueTupleReference>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
</PropertyGroup>
<!-- Use lock files --><!--
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>
<PropertyGroup>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
<RestoreLockedMode Condition="'$(ContinuousIntegrationBuild)' == 'true'">true</RestoreLockedMode>
</PropertyGroup>-->
<PropertyGroup>
<!-- Make all the projects use the highest warning level -->
<WarningLevel>3</WarningLevel>
</PropertyGroup>

</Project>
22 changes: 22 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Fable.Core" Version="4.3.0" />
<PackageVersion Include="Fable.Package.SDK" Version="1.1.0" />
<PackageVersion Include="FSharp.Core" Version="[8.0.1,)" />
<PackageVersion Include="Thoth.Json.Core" Version="0.4.0" />
<PackageVersion Include="Thoth.Json.JavaScript" Version="0.3.0" />
<PackageVersion Include="Thoth.Json.Python" Version="0.4.0" />
<PackageVersion Include="Thoth.Json.Newtonsoft" Version="0.2.0" />
<PackageVersion Include="FsSpreadsheet" Version="6.3.0-alpha.4" />
<PackageVersion Include="YAMLicious" Version="0.0.1" />
<PackageVersion Include="DynamicObj" Version="4.0.0" />
<PackageVersion Include="Fable.SimpleHttp" Version="3.5.0" />
<PackageVersion Include="Fable.Fetch" Version="2.6.0" />
<PackageVersion Include="Fable.Node" Version="1.2.0" />
<PackageVersion Include="Fable.Pyxpecto" Version="1.2.0" />
<PackageVersion Include="NJsonSchema" Version="10.8.0" />
</ItemGroup>
</Project>
33 changes: 33 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,36 @@
### 2.1.0+99b2659 (Released 2024-10-2)
* Additions:
* [[#28cfd13](https://github.com/nfdi4plants/ARCtrl/commit/28cfd133152fa3cdc6606b4ccb7cda3c340e8f62)] add rocrate project
* [[#f71faea](https://github.com/nfdi4plants/ARCtrl/commit/f71faea334538425d5f92e81c650b1cdd46446ef)] rocrate datamodel wip based on inheritance and single interface
* [[#ef15f35](https://github.com/nfdi4plants/ARCtrl/commit/ef15f35779606a1bfcaecdadfc7532886466ec46)] implement first POC of ISA ROCrate profile
* [[#168ead8](https://github.com/nfdi4plants/ARCtrl/commit/168ead84ca93dc0fae911e760673ef6e33180447)] add test project
* [[#2cea57c](https://github.com/nfdi4plants/ARCtrl/commit/2cea57cc1415310e36f5931ef376ea183b85fb71)] update solution
* [[#ccd1805](https://github.com/nfdi4plants/ARCtrl/commit/ccd18053a83c80f4ca4b7a2ac7008a4a0cf3d348)] Unify Inheritance to ROCrateObject
* [[#95cab6f](https://github.com/nfdi4plants/ARCtrl/commit/95cab6f0f85f71a7adea887a25bd47c714e5af35)] wip ro-crate tests
* [[#9ef48d7](https://github.com/nfdi4plants/ARCtrl/commit/9ef48d75f5439d3a71ca943941b70c5af3ff9261)] only use primary constructor
* [[#9deffb7](https://github.com/nfdi4plants/ARCtrl/commit/9deffb7ea81f76c067de5618f2b3388303402191)] Add basic tests for I/S/A ROCrateObjects
* [[#4b4a2fc](https://github.com/nfdi4plants/ARCtrl/commit/4b4a2fcc3bd32b31ec5aa3b4f1127883f7af83fc)] temp workaround in tests for https://github.com/CSBiology/DynamicObj/issues/25
* [[#f67e78b](https://github.com/nfdi4plants/ARCtrl/commit/f67e78b068350a8e1aecf80fa8b9dd4646fb9ddd)] Use unblocking version of DynamicObj, introduce runTestProject target
* [[#4e91e9d](https://github.com/nfdi4plants/ARCtrl/commit/4e91e9dcc5b34747a2e4a16f33aee1a227eb08ef)] finish basic property tests for isa profile types
* [[#8b4368a](https://github.com/nfdi4plants/ARCtrl/commit/8b4368aed9a9705a78f95ec752143b1620fb0408)] Merge pull request #426 from nfdi4plants/ro-crate-data-model
* [[#fdc4773](https://github.com/nfdi4plants/ARCtrl/commit/fdc4773125fb37bf7140476460a117e575e420ae)] add tryGetColumnByHeaderBy member and static + tests
* [[#1a5c4d6](https://github.com/nfdi4plants/ARCtrl/commit/1a5c4d64cdd3c591a2c7af73c4bdb7a9261c5ffb)] Update ArcTable.Tests.fs
* [[#29d1bb2](https://github.com/nfdi4plants/ARCtrl/commit/29d1bb250a2fc6ee4253e8a94f820f03bf87a09d)] update to thoth.json.core 0.4.0 and use temporary FsSpreadsheet implementations for js and py
* [[#2e47979](https://github.com/nfdi4plants/ARCtrl/commit/2e479798a7812233b109da566db68246fc9df7a2)] start working on ro-crate-json parsing
* [[#f6afa53](https://github.com/nfdi4plants/ARCtrl/commit/f6afa53b83b8003f16c7881a8bd7ea958466c5fb)] first buildable version after fable restructure
* [[#755879d](https://github.com/nfdi4plants/ARCtrl/commit/755879dbf3d30d1305ae8645fdf84338ce89c26a)] move duplicate project references into props files
* [[#93030e9](https://github.com/nfdi4plants/ARCtrl/commit/93030e915329c23b4b4f8cddc5b622312de6cedb)] Make use of Fable.Package.SDK
* [[#99b2659](https://github.com/nfdi4plants/ARCtrl/commit/99b2659d1dd5c3815693f4df85691f9bead3e26d)] rename json IO implementations folder to reduce ambiguity in py and javascript packages
* Deletions:
* [[#c71b8a3](https://github.com/nfdi4plants/ARCtrl/commit/c71b8a301fbdf95531a9ba0d33f8e6d0d238adc9)] correct interface implementation on ROCrateObject, remove interface implementation from Dataset
* [[#c429686](https://github.com/nfdi4plants/ARCtrl/commit/c4296864a7443a990257f7eb47fed92458fa0a7b)] remove javascript and pyton packages from main solution
* [[#3586dee](https://github.com/nfdi4plants/ARCtrl/commit/3586dee6a736d3ad2ed9e79778e3ea136c638eac)] remove restorelockedmode flag
* Bugfixes:
* [[#9d526b8](https://github.com/nfdi4plants/ARCtrl/commit/9d526b82df1d7ac04283cbe23c9832f1d5818771)] add LabProcess tests, fix schematype of ROCrateObject base constructor
* [[#192812d](https://github.com/nfdi4plants/ARCtrl/commit/192812d43569270845883ca116de9931dea6ba62)] fix error messages of ROCrate testing utils
* [[#43d65db](https://github.com/nfdi4plants/ARCtrl/commit/43d65db3fb121a4832e771541880c1fe79cfe89c)] various test fixes for Fable logic transition
* [[#8552f9e](https://github.com/nfdi4plants/ARCtrl/commit/8552f9ea7b2183c4cb382049c71793918d4128b3)] fix fable ready packaging and/by update package tags

### 2.0.1+5e6cc32 (Released 2024-8-29)
* Bugfixes:
* [[#bfaaaf6](https://github.com/nfdi4plants/ARCtrl/commit/bfaaaf614a1a2dc788a1b7de17761b5867aa9fee)] fix single dot in paths being interpreted as folder
Expand Down
18 changes: 18 additions & 0 deletions build/Build.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="BlackFox.Fake.BuildTask" Version="0.1.3" />
<PackageVersion Include="Fake.Api.Github" Version="6.0.0" />
<PackageVersion Include="Fake.Core.Process" Version="6.0.0" />
<PackageVersion Include="Fake.Core.ReleaseNotes" Version="6.0.0" />
<PackageVersion Include="Fake.Core.Target" Version="6.0.0" />
<PackageVersion Include="Fake.DotNet.Cli" Version="6.0.0" />
<PackageVersion Include="Fake.DotNet.MSBuild" Version="6.0.0" />
<PackageVersion Include="Fake.IO.FileSystem" Version="6.0.0" />
<PackageVersion Include="Fake.JavaScript.Npm" Version="6.0.0" />
<PackageVersion Include="Fake.Tools.Git" Version="6.0.0" />
<PackageVersion Include="Fake.Extensions.Release" Version="0.3.0" />
</ItemGroup>
</Project>
26 changes: 15 additions & 11 deletions build/Build.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<OutputType>Exe</OutputType>
</PropertyGroup>
<ItemGroup>
<None Include="Build.Packages.props" />
<Content Include="release_package.json" />
<Compile Include="Helpers.fs" />
<Compile Include="MessagePrompts.fs" />
Expand All @@ -19,17 +20,20 @@
<Compile Include="ReleaseTasks.fs" />
<Compile Include="Build.fs" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="BlackFox.Fake.BuildTask" Version="0.1.3" />
<PackageReference Include="Fake.Api.Github" Version="6.0.0" />
<PackageReference Include="Fake.Core.Process" Version="6.0.0" />
<PackageReference Include="Fake.Core.ReleaseNotes" Version="6.0.0" />
<PackageReference Include="Fake.Core.Target" Version="6.0.0" />
<PackageReference Include="Fake.DotNet.Cli" Version="6.0.0" />
<PackageReference Include="Fake.DotNet.MSBuild" Version="6.0.0" />
<PackageReference Include="Fake.IO.FileSystem" Version="6.0.0" />
<PackageReference Include="Fake.JavaScript.Npm" Version="6.0.0" />
<PackageReference Include="Fake.Tools.Git" Version="6.0.0" />
<PackageReference Include="Fake.Extensions.Release" Version="0.3.0" />
<PackageReference Include="BlackFox.Fake.BuildTask" />
<PackageReference Include="Fake.Api.Github" />
<PackageReference Include="Fake.Core.Process" />
<PackageReference Include="Fake.Core.ReleaseNotes" />
<PackageReference Include="Fake.Core.Target" />
<PackageReference Include="Fake.DotNet.Cli" />
<PackageReference Include="Fake.DotNet.MSBuild" />
<PackageReference Include="Fake.IO.FileSystem" />
<PackageReference Include="Fake.JavaScript.Npm" />
<PackageReference Include="Fake.Tools.Git" />
<PackageReference Include="Fake.Extensions.Release" />
</ItemGroup>

<Import Project="Build.Packages.props" />
</Project>
8 changes: 5 additions & 3 deletions build/PackageTasks.fs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ module BundleDotNet =
System.IO.Directory.CreateDirectory(ProjectInfo.netPkgDir) |> ignore
!! "src/**/*.*proj"
-- "src/bin/*"
|> Seq.iter (Fake.DotNet.DotNet.pack (fun p ->
|> Seq.iter (Fake.DotNet.DotNet.pack (fun p ->
let msBuildParams =
{p.MSBuildParams with
Properties = ([
Expand Down Expand Up @@ -56,8 +56,10 @@ let packDotNetSwate = BuildTask.create "packDotNetSwate" [clean; build; RunTests

module BundleJs =
let bundle (versionTag: string) =
Fake.JavaScript.Npm.run "bundlejs" (fun o -> o)
run dotnet $"fable src/ARCtrl/ARCtrl.Javascript.fsproj -o {ProjectInfo.npmPkgDir}" ""

GenerateIndexJs.ARCtrl_generate ProjectInfo.npmPkgDir

Fake.IO.File.readAsString "build/release_package.json"
|> fun t ->
let t = t.Replace(ProjectInfo.stableVersionTag, versionTag)
Expand Down Expand Up @@ -86,7 +88,7 @@ let packJSPrerelease = BuildTask.create "PackJSPrerelease" [setPrereleaseTag; cl
module BundlePy =
let bundle (versionTag: string) =

run dotnet $"fable src/ARCtrl -o {ProjectInfo.pyPkgDir}/arctrl --lang python" ""
run dotnet $"fable src/ARCtrl/ARCtrl.Python.fsproj -o {ProjectInfo.pyPkgDir}/arctrl --lang python" ""
run python "-m poetry install --no-root" ProjectInfo.pyPkgDir
GenerateIndexPy.ARCtrl_generate (ProjectInfo.pyPkgDir + "/arctrl")

Expand Down
4 changes: 2 additions & 2 deletions build/TestTasks.fs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ module RunTests =
Trace.traceImportant "Start native JavaScript tests"
for path in ProjectInfo.jsTestProjects do
// transpile library for native access
run dotnet $"fable src/ARCtrl -o {path}/ARCtrl" ""
run dotnet $"fable src/ARCtrl/ARCtrl.Javascript.fsproj -o {path}/ARCtrl" ""
GenerateIndexJs.ARCtrl_generate($"{path}/ARCtrl")
run npx $"mocha {path} --timeout 20000" ""
}
Expand All @@ -40,7 +40,7 @@ module RunTests =
Trace.traceImportant "Start native Python tests"
for path in ProjectInfo.pyTestProjects do
// transpile library for native access
run dotnet $"fable src/ARCtrl -o {path}/ARCtrl --lang python" ""
run dotnet $"fable src/ARCtrl/ARCtrl.Python.fsproj -o {path}/ARCtrl --lang python" ""
GenerateIndexPy.ARCtrl_generate($"{path}/ARCtrl")
run python $"-m pytest {path}" ""
}
Expand Down
Loading

0 comments on commit 9e43e81

Please sign in to comment.