diff --git a/README.md b/README.md index 0459d88a..b83e13c4 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ | Version | Downloads | | :--------|-----------:| -|Nuget|Nuget| +|Nuget|Nuget| |NPM|NPM| |PyPI|PyPI| diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 6ac1e809..11b3e280 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,3 +1,103 @@ +### 2.0.0+66beafa (Released 2024-4-5) +* Additions: + * [[#66beafa](https://github.com/nfdi4plants/ARCtrl/commit/66beafac306e18d56ef2c5edc969e7eb10b4ea2f)] update prerelease mechanism + * [[#3a5c89a](https://github.com/nfdi4plants/ARCtrl/commit/3a5c89a543820daa5b8625e81378aed0a417f3e3)] Merge pull request #337 from nfdi4plants/ToStringOverrides + * [[#98c5228](https://github.com/nfdi4plants/ARCtrl/commit/98c5228627ceb3718915d1577fa1486e05912c87)] Add ToString overrides for study/investigation + * [[#9ebd796](https://github.com/nfdi4plants/ARCtrl/commit/9ebd796e21612839c4ed8af361a3bcd14acf7177)] Merge pull request #336 from nfdi4plants/xlsxcontroller + * [[#6b52004](https://github.com/nfdi4plants/ARCtrl/commit/6b520046a71d462b934c869333a4f77c61dfb59e)] Finalize io controller types for fable :sparkles: + * [[#0ff28ab](https://github.com/nfdi4plants/ARCtrl/commit/0ff28abb3b1ac4ca51a93e909d3580d8d7a82874)] rmv old code :fire: + * [[#a08d8fd](https://github.com/nfdi4plants/ARCtrl/commit/a08d8fdd1d6e497f93fdb638d4711646df5d8eb0)] Merge pull request #335 from nfdi4plants/oa_equality + * [[#754cac7](https://github.com/nfdi4plants/ARCtrl/commit/754cac745bf9417d3fbce127960a9966122f2ea7)] Rename to toStringObject + * [[#98efaa0](https://github.com/nfdi4plants/ARCtrl/commit/98efaa00137025540a81f4baa896e32ac8480792)] add README.md reference to setup.cmd + * [[#d893131](https://github.com/nfdi4plants/ARCtrl/commit/d8931310f6c415f7420aa04d3936db275f034fed)] Simplify OntologyAnnotation hashcode and equality :white_check_mark: + * [[#7d6c107](https://github.com/nfdi4plants/ARCtrl/commit/7d6c107728970f12bc0e843ec936379ec091bce2)] Add setup script for windows :construction_worker: + * [[#fbe7265](https://github.com/nfdi4plants/ARCtrl/commit/fbe7265522774dbf573d253f4768b5f25143c87b)] Merge pull request #330 from nfdi4plants/arctrl_rework + * [[#232dae3](https://github.com/nfdi4plants/ARCtrl/commit/232dae337336ab5a7d66a2a80c6e7865f1fc3d6c)] set test with umlauten pending for python + * [[#c15a2e5](https://github.com/nfdi4plants/ARCtrl/commit/c15a2e5198af1476e5d18d8cf5188585806b1592)] Add ro-crate write tests :white_check_mark: + * [[#7340910](https://github.com/nfdi4plants/ARCtrl/commit/73409107e1eb2aa81bc46101935b4048b330c89b)] add some more schema validation tests + * [[#fc8f63e](https://github.com/nfdi4plants/ARCtrl/commit/fc8f63e7cc7cc622a123d2d57fc86c4ffbae7c32)] add native python tests :white_check_mark: + * [[#e3512c7](https://github.com/nfdi4plants/ARCtrl/commit/e3512c743f1fad144c04a97e12d279071e365104)] Make js native tests pass :heavy_check_mark: + * [[#8d50567](https://github.com/nfdi4plants/ARCtrl/commit/8d50567789556b5d6f2473b92f65b7e245992bcf)] update github CI + * [[#18012b3](https://github.com/nfdi4plants/ARCtrl/commit/18012b3f2d78288d3069cbbfc2544bdca122b378)] rmv leftover folder :fire: + * [[#89f976c](https://github.com/nfdi4plants/ARCtrl/commit/89f976c884cbd734e55cbc132402cefcf3ac2d3b)] Finish json (for now :construction:) + * [[#5803eb7](https://github.com/nfdi4plants/ARCtrl/commit/5803eb726a7ced573978ecb20db2e743d9536b45)] start reworking tests for js and py + * [[#766d46a](https://github.com/nfdi4plants/ARCtrl/commit/766d46a3db5274596571cc8a087edbc3720e5142)] move ARCtrl contract tests to Contract test project + * [[#3f35262](https://github.com/nfdi4plants/ARCtrl/commit/3f3526271126d2ddce812633404c3b39c56697e8)] move template json tests to json test project + * [[#4fc4a07](https://github.com/nfdi4plants/ARCtrl/commit/4fc4a071f0b435c51efde7a90c5cfe4dbf730c73)] more work on json :construction: + * [[#cb5da3a](https://github.com/nfdi4plants/ARCtrl/commit/cb5da3a39c543c752dca92dceaf0f4f7eeed5030)] reduce test spreadsheet metadata matching reduction of parser logic + * [[#c885111](https://github.com/nfdi4plants/ARCtrl/commit/c885111fa53bc611fca22e4c7116526ecdfce76e)] More work on json tests :construction: + * [[#adac51c](https://github.com/nfdi4plants/ARCtrl/commit/adac51c05d2919293229e0e758c646ccefbb2f13)] Add custom ToString for OntologyAnnotation :art: + * [[#c193629](https://github.com/nfdi4plants/ARCtrl/commit/c193629dfff93e42f00c71c02a40ec1595f897fe)] Start working on tests :construction: + * [[#5f6c65b](https://github.com/nfdi4plants/ARCtrl/commit/5f6c65be8b50804b2f62b93545c82966719326ea)] distribute template across appropriate projects + * [[#8af7487](https://github.com/nfdi4plants/ARCtrl/commit/8af7487057b7451c0e5bc2de5dac9b792dbc4213)] Add fable json import type #324 #285 + * [[#e3437b2](https://github.com/nfdi4plants/ARCtrl/commit/e3437b282dcdc226402920e62d5e4c96166969e7)] add ARC RO-Crate serialization + * [[#4cd6d63](https://github.com/nfdi4plants/ARCtrl/commit/4cd6d638780acc49e4808eb955f94460095f8050)] finish investigation ro-crate + * [[#39fe3cf](https://github.com/nfdi4plants/ARCtrl/commit/39fe3cfd2a3e105733dd486c6b988960df6e47bc)] finish moving template json :sparkles: + * [[#c25748a](https://github.com/nfdi4plants/ARCtrl/commit/c25748a16ea1a7dbc44548cffee6dd787fe8d0d9)] Finish compressed json logic :sparkles: + * [[#04b097b](https://github.com/nfdi4plants/ARCtrl/commit/04b097b675e921841ed26c3a121a8fae60006f49)] Start moving Arc Json logic :construction: + * [[#e710c5a](https://github.com/nfdi4plants/ARCtrl/commit/e710c5af2f9ff336174dcdbb2a9ef09fa940e9ff)] rework ARCAssay and ArcStudy ISAJson serialization + * [[#437bca3](https://github.com/nfdi4plants/ARCtrl/commit/437bca3f5df1bb9913ae2b829485065c8f363c52)] rework ROCrate process serialization + * [[#19b849a](https://github.com/nfdi4plants/ARCtrl/commit/19b849a5c276ce6dd4821de2c289fb82f0aefd68)] Start with component logic rework :construction: + * [[#f24259e](https://github.com/nfdi4plants/ARCtrl/commit/f24259e8424df783d163fb279730d914f8472673)] finish up ISA-JSON conversion for process types :sparkles: + * [[#a51bfcc](https://github.com/nfdi4plants/ARCtrl/commit/a51bfcc49e3ad66e1abdab7cf92ad5ab0abdd37f)] Finish json table logic :sparkles: + * [[#6b670d9](https://github.com/nfdi4plants/ARCtrl/commit/6b670d952cd0711eae4efc6e2f57ef688c0c9b4f)] Finish json for shared types :sparkles: + * [[#a29a7f9](https://github.com/nfdi4plants/ARCtrl/commit/a29a7f9fc48bc1b3ad5c627add21a63598982f47)] start reworking arctrl.json process serialization + * [[#5150773](https://github.com/nfdi4plants/ARCtrl/commit/5150773b8c311f281b385ad589a9611762415b86)] Start workin on new Json API layer :construction: + * [[#f65d414](https://github.com/nfdi4plants/ARCtrl/commit/f65d4141afdfff9ca7d0f07486734df9c5a6afc4)] start reworking ARCtrl.json project + * [[#b568074](https://github.com/nfdi4plants/ARCtrl/commit/b568074b6fa381221f9646e8763e52e4a7473208)] rework ARCtrl.Spreadsheet according to datamodel changes + * [[#2cb9db8](https://github.com/nfdi4plants/ARCtrl/commit/2cb9db8e84e42866330f98d35f4f149b2c50fd3a)] rework ARCtrl.Core types to improve transpiled javascript + * [[#b282dc3](https://github.com/nfdi4plants/ARCtrl/commit/b282dc3ed6c097adce071a85bde4163ba589170c)] restructure ARCtrl.Core (former ARCtrl.ISA) project + * [[#90520bd](https://github.com/nfdi4plants/ARCtrl/commit/90520bd64f8e0d5513cfca3d692dd439259529a4)] restructure project + * [[#ceefce8](https://github.com/nfdi4plants/ARCtrl/commit/ceefce8a3765a4e6a183452169c69c03b2045895)] move all filesystem information into filesystem project + * [[#4b2b78f](https://github.com/nfdi4plants/ARCtrl/commit/4b2b78fc8b3ea20faf432f9de5f1d9bf0069bd4b)] move UIHelper function into compositecell + * [[#dd69b1f](https://github.com/nfdi4plants/ARCtrl/commit/dd69b1fb2d8a207f128a0b96fd12e849bc2452e3)] add addtionalType to ProcessParameterValue + * [[#3bf2a83](https://github.com/nfdi4plants/ARCtrl/commit/3bf2a837e6a363d698052c7d93e5045354f73c90)] WIP :construction: + * [[#f7beae7](https://github.com/nfdi4plants/ARCtrl/commit/f7beae760ef8e3309ac29a03908072ab60bbf84c)] Updated tests for jsonld readers. Investigation test still wip. + * [[#d8c4d0a](https://github.com/nfdi4plants/ARCtrl/commit/d8c4d0aa3a4e87a9bb5d07617b10e212b7d3150b)] adapted json export tests for new ro-crate export (Investigation still open) + * [[#d1cbba9](https://github.com/nfdi4plants/ARCtrl/commit/d1cbba9570855cd25eea2ac0901683892b0b33b9)] new ro-crate export and context files + * [[#280d3b8](https://github.com/nfdi4plants/ARCtrl/commit/280d3b834cc8acca8deaf744c719a91de4ab2ab2)] WIP :construction: + * [[#9983642](https://github.com/nfdi4plants/ARCtrl/commit/9983642fe231eedfa939e58fa973a80afaa02025)] WIP :construction: + * [[#e7b0015](https://github.com/nfdi4plants/ARCtrl/commit/e7b00158f5e10c0ece2d654e61ab929219db9fc7)] Updated tests for jsonld readers. Investigation test still wip. + * [[#1cc83f8](https://github.com/nfdi4plants/ARCtrl/commit/1cc83f805a039a7f51de26f62da80c94aaad702b)] adapted json export tests for new ro-crate export (Investigation still open) + * [[#9b0d7b7](https://github.com/nfdi4plants/ARCtrl/commit/9b0d7b7040e23c49e55f5e10b4e0ab2cd16d6914)] new ro-crate export and context files + * [[#0fb24ee](https://github.com/nfdi4plants/ARCtrl/commit/0fb24ee8c7ab2f9730059a99c7be6605bbc2f59c)] Merge pull request #325 from nfdi4plants/performanceReport + * [[#faaba01](https://github.com/nfdi4plants/ARCtrl/commit/faaba01fb783797cbb459e541577cbe35636a883)] several minor adjustments according to change request + * [[#9c32a3d](https://github.com/nfdi4plants/ARCtrl/commit/9c32a3df12f9439217090ad1568d8479ae5170d0)] update readme with performance report and python links + * [[#9e79685](https://github.com/nfdi4plants/ARCtrl/commit/9e796856e9b374bc13154457b74639e7a3cf2953)] move performance report into speedtest project + * [[#27aac66](https://github.com/nfdi4plants/ARCtrl/commit/27aac66eea741cf2554198d063e217d333366068)] move performance report build targets and create first reports + * [[#41fef58](https://github.com/nfdi4plants/ARCtrl/commit/41fef587314b4c4c1ca2fd4a73e9b0d2fa45985e)] first draft of performanceReport target + * [[#d64e708](https://github.com/nfdi4plants/ARCtrl/commit/d64e7087e962f1ca910fbf96d6e080d4f3da3e3e)] Merge pull request #323 from nfdi4plants/update_js_docs + * [[#1cd68ea](https://github.com/nfdi4plants/ARCtrl/commit/1cd68ea2650a4687ce378915e15cdf7405ab9834)] Update + * [[#60d575e](https://github.com/nfdi4plants/ARCtrl/commit/60d575e78d6a8c8e85fbf601fe700f5e59a1dfab)] Merge pull request #320 from nfdi4plants/python_integration + * [[#0aefdb2](https://github.com/nfdi4plants/ARCtrl/commit/0aefdb2341ebf3bba8560714194e6182a81256d0)] update documentation and add python docs + * [[#abd3d89](https://github.com/nfdi4plants/ARCtrl/commit/abd3d890fb58a0962d4e7d841df7440d9a4bed90)] Merge pull request #317 from nfdi4plants/python_integration + * [[#b6e2eca](https://github.com/nfdi4plants/ARCtrl/commit/b6e2ecab5a0a3630e1dd24ae36d34be79ad21d6d)] small change to semver in npm +* Deletions: + * [[#f055617](https://github.com/nfdi4plants/ARCtrl/commit/f05561709a0a8d1da752d54d5a997db225a3384e)] remove erroneous exe output type from testingutils +* Bugfixes: + * [[#e444944](https://github.com/nfdi4plants/ARCtrl/commit/e444944b371d6472971589f2980b0fd487f3652c)] fix non utf8 json output #334 + * [[#025734d](https://github.com/nfdi4plants/ARCtrl/commit/025734d63e0319d74dbd4edbe6433e61e9dd3fca)] rmv code circumventing fable python bug :fire: + * [[#9f570b3](https://github.com/nfdi4plants/ARCtrl/commit/9f570b3d6616273f34e16eb2346959c5ac78280e)] fix OntologyAnnotation Hashcodes :bug: + * [[#b84919f](https://github.com/nfdi4plants/ARCtrl/commit/b84919ff37c1e8f31f648579ac7f5f4c28a5cfd7)] Fix json tests :heavy_check_mark: + * [[#d68348e](https://github.com/nfdi4plants/ARCtrl/commit/d68348ed5d5356cc1f1eddd3f680854ef5065135)] hotfix js schema validation in tests + * [[#2a999e8](https://github.com/nfdi4plants/ARCtrl/commit/2a999e89a1444e355cc333b14256e126c14f6fa4)] Fix all warnings by burning unused fable reflection helpers :fire: + * [[#562ce65](https://github.com/nfdi4plants/ARCtrl/commit/562ce659e61703bdfbbbbe7147336c3623425152)] Fix test tasks still using mocha + * [[#b15a377](https://github.com/nfdi4plants/ARCtrl/commit/b15a377fc4fb4fe9fe90768be7d089b121418b03)] fix json parsing DateTime issues + * [[#d5eae8d](https://github.com/nfdi4plants/ARCtrl/commit/d5eae8d8081fb4d8bf1a8c0f4bc6efcaaa52cc67)] several python test fixes + * [[#451ef11](https://github.com/nfdi4plants/ARCtrl/commit/451ef1104a0882de4f49ef4ff118d66bfb895d7e)] move and fix template hashcode and equality tests + * [[#9da88fe](https://github.com/nfdi4plants/ARCtrl/commit/9da88feffa8a7b736d5f171e1b003ef7f0e31fa8)] Template fixes against json and core tests + * [[#97c433e](https://github.com/nfdi4plants/ARCtrl/commit/97c433e021baa3665dc2cbb655731d5850d0029d)] move and fix spreadsheet Template tests + * [[#fbaa958](https://github.com/nfdi4plants/ARCtrl/commit/fbaa958b364970968bafca9c6bb9beed469f28a6)] fix component name conversion + * [[#6c9123e](https://github.com/nfdi4plants/ARCtrl/commit/6c9123ed0821f43eef51fb6ec7ad6d36985456b5)] fix arctrl.core tests and equality of reworked objects + * [[#da18342](https://github.com/nfdi4plants/ARCtrl/commit/da183420961acc63543d02fd732d1b2875095765)] fix rocrate sample and protocol handling + * [[#4b5af05](https://github.com/nfdi4plants/ARCtrl/commit/4b5af05e08e1e4e96249b1b3f87fea6ca02d4f8b)] fix rocrate assay serialization + * [[#cd69fc3](https://github.com/nfdi4plants/ARCtrl/commit/cd69fc3a5c83174b1f716eba486ce1361ec1d773)] fix wrong encoder/decoder calls :sparkles: + * [[#e053cd9](https://github.com/nfdi4plants/ARCtrl/commit/e053cd9a7a6a7717d991e8975ff9d120f446920a)] fix arctrl.core tests + * [[#996ae0e](https://github.com/nfdi4plants/ARCtrl/commit/996ae0e9819e3a93edbd4f4e7cc256d08bce6836)] fix multiple issues with ro-crate json encoding :bug: + * [[#5b0adba](https://github.com/nfdi4plants/ARCtrl/commit/5b0adbac1bd278b72ca374057dd0066238bd3d0d)] Added fromJsonldString for all ISA-JSON types. Also fixed some bugs. + * [[#2c74476](https://github.com/nfdi4plants/ARCtrl/commit/2c74476bad430d8e4865744b8149a707737d3c1e)] fix build chain for linux + * [[#295af00](https://github.com/nfdi4plants/ARCtrl/commit/295af00f9f513d6c779e42137ce141d69deb4220)] fix tests :bug: + ### 1.2.0+19d850e (Released 2024-3-8) * Additions: * Added Python compatability diff --git a/build/BasicTasks.fs b/build/BasicTasks.fs index 449e4f9f..67c42bf5 100644 --- a/build/BasicTasks.fs +++ b/build/BasicTasks.fs @@ -4,6 +4,7 @@ open BlackFox.Fake open Fake.IO open Fake.DotNet open Fake.IO.Globbing.Operators +open Helpers open ProjectInfo @@ -134,11 +135,15 @@ module Helper = |> Proc.Parallel.run |> ignore + + let setPrereleaseTag = BuildTask.create "SetPrereleaseTag" [] { - printfn "Please enter pre-release package suffix" - let suffix = System.Console.ReadLine() - prereleaseSuffix <- suffix - prereleaseTag <- (sprintf "%i.%i.%i-%s" release.SemVer.Major release.SemVer.Minor release.SemVer.Patch suffix) + printfn "Please enter pre-release package suffix option: (a/b/rc)" + let suffixTag = System.Console.ReadLine() |> PreReleaseFlag.fromInput + printfn "Plrease enter pre-release package version number" + let suffixNumber = System.Console.ReadLine() |> int + prereleaseSuffix <- suffixTag + prereleaseSuffixNumber <- suffixNumber isPrerelease <- true } diff --git a/build/Build.fs b/build/Build.fs index 0ffa83f7..dc70dafc 100644 --- a/build/Build.fs +++ b/build/Build.fs @@ -27,7 +27,7 @@ let _release = let _preRelease = BuildTask.createEmpty "PreRelease" - [setPrereleaseTag; clean; build; runTests; packPrerelease; createPrereleaseTag; publishNugetPrerelease; publishNPMPrerelease] + [setPrereleaseTag; clean; build; runTests; packPrerelease; createPrereleaseTag; publishNugetPrerelease; publishNPMPrerelease; publishPyPiPrerelease] ReleaseNotesTasks.updateReleaseNotes |> ignore PerformanceTasks.perforanceReport |> ignore diff --git a/build/Helpers.fs b/build/Helpers.fs index 5dd1ed80..cb00dddb 100644 --- a/build/Helpers.fs +++ b/build/Helpers.fs @@ -25,4 +25,37 @@ let runOrDefault defaultTarget args = 0 with e -> printfn "%A" e - 1 \ No newline at end of file + 1 + +type PreReleaseFlag = + | Alpha + | Beta + | ReleaseCandidate + + static member fromInput (input: string) = + match input with + | "a" -> Alpha + | "b" -> Beta + | "rc" -> ReleaseCandidate + | _ -> failwith "Invalid input" + + static member toNugetTag (semVer : SemVerInfo) (flag: PreReleaseFlag) (number : int) = + let suffix = + match flag with + | Alpha -> $"alpha.{number}" + | Beta -> $"beta.{number}" + | ReleaseCandidate -> $"rc.{number}" + sprintf "%i.%i.%i-%s" semVer.Major semVer.Minor semVer.Patch suffix + + + static member toNPMTag (semVer : SemVerInfo) (flag: PreReleaseFlag) (number : int) = + PreReleaseFlag.toNugetTag semVer flag number + + static member toPyPITag (semVer : SemVerInfo) (tag: PreReleaseFlag) (number : int) = + let suffix = + match tag with + | Alpha -> $"a{number}" + | Beta -> $"b{number}" + | ReleaseCandidate -> $"rc{number}" + sprintf "%i.%i.%i%s" semVer.Major semVer.Minor semVer.Patch suffix + diff --git a/build/PackageTasks.fs b/build/PackageTasks.fs index 6d073b24..42f6debd 100644 --- a/build/PackageTasks.fs +++ b/build/PackageTasks.fs @@ -3,6 +3,8 @@ open MessagePrompts open BasicTasks open TestTasks +open ProjectInfo +open Helpers open BlackFox.Fake open Fake.Core @@ -41,7 +43,8 @@ let packDotNet = BuildTask.create "PackDotNet" [clean; build; runTests] { } let packDotNetPrerelease = BuildTask.create "PackDotNetPrerelease" [setPrereleaseTag; clean; build; runTests] { - BundleDotNet.bundle ProjectInfo.prereleaseTag (Some ProjectInfo.prereleaseTag) + let prereleaseTag = PreReleaseFlag.toNugetTag release.SemVer prereleaseSuffix prereleaseSuffixNumber + BundleDotNet.bundle prereleaseTag (Some prereleaseTag) } module BundleJs = @@ -69,7 +72,8 @@ let packJS = BuildTask.create "PackJS" [clean; build; runTests] { } let packJSPrerelease = BuildTask.create "PackJSPrerelease" [setPrereleaseTag; clean; build; runTests] { - BundleJs.bundle ProjectInfo.prereleaseTag + let prereleaseTag = PreReleaseFlag.toNPMTag release.SemVer prereleaseSuffix prereleaseSuffixNumber + BundleJs.bundle prereleaseTag } module BundlePy = @@ -98,13 +102,12 @@ let packPy = BuildTask.create "PackPy" [clean; build; runTests] { } -//let packPyPrerelease = BuildTask.create "PackJSPrerelease" [setPrereleaseTag; clean; build; runTests] { -// if promptYesNo (sprintf "[NPM] package tag will be %s OK?" ProjectInfo.prereleaseTag ) then -// BundleJs.bundle ProjectInfo.prereleaseTag -// else failwith "aborted" -// } +let packPyPrerelease = BuildTask.create "PackPyPrerelease" [setPrereleaseTag; clean; build; runTests] { + let prereleaseTag = PreReleaseFlag.toPyPITag release.SemVer prereleaseSuffix prereleaseSuffixNumber + BundlePy.bundle prereleaseTag + } let pack = BuildTask.createEmpty "Pack" [packDotNet; packJS; packPy] -let packPrerelease = BuildTask.createEmpty "PackPrerelease" [packDotNetPrerelease;packJSPrerelease] \ No newline at end of file +let packPrerelease = BuildTask.createEmpty "PackPrerelease" [packDotNetPrerelease;packJSPrerelease;packPyPrerelease] \ No newline at end of file diff --git a/build/ProjectInfo.fs b/build/ProjectInfo.fs index f8f79b97..128cf543 100644 --- a/build/ProjectInfo.fs +++ b/build/ProjectInfo.fs @@ -1,6 +1,7 @@ module ProjectInfo open Fake.Core +open Helpers let project = "ARCtrl" @@ -50,8 +51,8 @@ let stableVersion = SemVer.parse release.NugetVersion let stableVersionTag = (sprintf "%i.%i.%i" stableVersion.Major stableVersion.Minor stableVersion.Patch ) -let mutable prereleaseSuffix = "" +let mutable prereleaseSuffix = PreReleaseFlag.Alpha -let mutable prereleaseTag = "" +let mutable prereleaseSuffixNumber = 0 let mutable isPrerelease = false \ No newline at end of file diff --git a/build/ReleaseTasks.fs b/build/ReleaseTasks.fs index 9086d5cd..7be87479 100644 --- a/build/ReleaseTasks.fs +++ b/build/ReleaseTasks.fs @@ -5,6 +5,7 @@ open ProjectInfo open BasicTasks open TestTasks open PackageTasks +open Helpers open BlackFox.Fake open Fake.Core @@ -23,6 +24,8 @@ let createTag = BuildTask.create "CreateTag" [clean; build; runTests; packDotNet } let createPrereleaseTag = BuildTask.create "CreatePrereleaseTag" [setPrereleaseTag; clean; build; runTests; packDotNetPrerelease] { + let prereleaseTag = PreReleaseFlag.toNugetTag release.SemVer prereleaseSuffix prereleaseSuffixNumber + if promptYesNo (sprintf "tagging branch with %s OK?" prereleaseTag ) then Git.Branches.tag "" prereleaseTag Git.Branches.pushTag "" projectRepo prereleaseTag @@ -46,6 +49,7 @@ let publishNuget = BuildTask.create "PublishNuget" [clean; build; runTests; pack let publishNugetPrerelease = BuildTask.create "PublishNugetPrerelease" [clean; build; runTests; packDotNetPrerelease] { let targets = (!! (sprintf "%s/*.*pkg" netPkgDir )) for target in targets do printfn "%A" target + let prereleaseTag = PreReleaseFlag.toNugetTag release.SemVer prereleaseSuffix prereleaseSuffixNumber let msg = sprintf "[NUGET] release package with version %s?" prereleaseTag if promptYesNo msg then let source = "https://api.nuget.org/v3/index.json" @@ -77,6 +81,7 @@ let publishNPMPrerelease = BuildTask.create "PublishNPMPrerelease" [clean; build (!! (sprintf "%s/*.tgz" npmPkgDir )) |> Seq.head printfn "%A" target + let prereleaseTag = PreReleaseFlag.toNPMTag release.SemVer prereleaseSuffix prereleaseSuffixNumber let msg = sprintf "[NPM] release package with version %s?" prereleaseTag if promptYesNo msg then let apikey = Environment.environVarOrNone "NPM_KEY" @@ -88,7 +93,7 @@ let publishNPMPrerelease = BuildTask.create "PublishNPMPrerelease" [clean; build else failwith "aborted" } -let publishPyPi = BuildTask.create "PublishPyPi" [packPy] { +let publishPyPi = BuildTask.create "PublishPyPi" [clean; build; runTests; packPy] { let msg = sprintf "[PyPi] release package with version %s?" stableVersionTag if promptYesNo msg then let apikey = Environment.environVarOrNone "PYPI_KEY" @@ -98,4 +103,17 @@ let publishPyPi = BuildTask.create "PublishPyPi" [packPy] { | None -> () run python "-m poetry publish" ProjectInfo.pyPkgDir else failwith "aborted" +} + +let publishPyPiPrerelease = BuildTask.create "PublishPyPiPrerelease" [clean; build; runTests; packPyPrerelease] { + let prereleaseTag = PreReleaseFlag.toPyPITag release.SemVer prereleaseSuffix prereleaseSuffixNumber + let msg = sprintf "[PyPi] release package with version %s?" prereleaseTag + if promptYesNo msg then + let apikey = Environment.environVarOrNone "PYPI_KEY" + match apikey with + | Some key -> + run python $"-m poetry config pypi-token.pypi {key}" ProjectInfo.pyPkgDir + | None -> () + run python "-m poetry publish --build" ProjectInfo.pyPkgDir + else failwith "aborted" } \ No newline at end of file diff --git a/build/release_package.json b/build/release_package.json index 2786b4fa..c2a57428 100644 --- a/build/release_package.json +++ b/build/release_package.json @@ -1,6 +1,6 @@ { "name": "@nfdi4plants/arctrl", - "version": "1.2.0+19d850e", + "version": "2.0.0", "description": "Top level ARC DataModel and API function descriptions.", "type": "module", "main": "index.js", diff --git a/pyproject.toml b/pyproject.toml index 280d1b90..69dbe4cc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,12 @@ [tool.poetry] name = "ARCtrl" -version = "1.2.0" +version = "2.0.0" description = "Library for management of Annotated Research Contexts (ARCs) using an in-memory representation and runtimer agnostic contract systems." authors = ["Heinrich Lukas Weil ", "Kevin Frey "] maintainers = ["Florian Wetzels"] readme = "README.md" +repository = "https://github.com/nfdi4plants/ARCtrl" +keywords = ["arc", "annotated research context", "isa", "research data", "multi platform"] [tool.poetry.dependencies] python = "^3.10" diff --git a/src/ARCtrl/ARCtrl.fsproj b/src/ARCtrl/ARCtrl.fsproj index 34463a0f..911cff74 100644 --- a/src/ARCtrl/ARCtrl.fsproj +++ b/src/ARCtrl/ARCtrl.fsproj @@ -14,9 +14,6 @@ https://github.com/nfdi4plants/ARCtrl git - - - @@ -38,6 +35,10 @@ + + + + diff --git a/src/CWL/ARCtrl.CWL.fsproj b/src/CWL/ARCtrl.CWL.fsproj index 10c5a55a..5b9dbd01 100644 --- a/src/CWL/ARCtrl.CWL.fsproj +++ b/src/CWL/ARCtrl.CWL.fsproj @@ -4,12 +4,12 @@ netstandard2.0 true - - + + nfdi4plants diff --git a/src/Contract/ARCtrl.Contract.fsproj b/src/Contract/ARCtrl.Contract.fsproj index deec0a43..c5d5d73a 100644 --- a/src/Contract/ARCtrl.Contract.fsproj +++ b/src/Contract/ARCtrl.Contract.fsproj @@ -12,13 +12,16 @@ - + + + + nfdi4plants, Kevin Frey, Lukas Weil, Kevin Schneider, Oliver Maus ARC helper functions for contracts management. diff --git a/src/Core/ARCtrl.Core.fsproj b/src/Core/ARCtrl.Core.fsproj index 8e0f6836..2bccaabf 100644 --- a/src/Core/ARCtrl.Core.fsproj +++ b/src/Core/ARCtrl.Core.fsproj @@ -56,8 +56,12 @@ + + + + - nfdi4plants, Lukas Weil, Kevin Frey, Kevin Schneider, Oliver Muas + nfdi4plants, Lukas Weil, Kevin Frey, Kevin Schneider, Oliver Maus ARC and ISA compliant experimental metadata toolkit in F#. This project is meant as an easy means to open, manipulate and save ISA (Investigation,Study,Assay) metadata files in the dotnet environment. MIT logo.png diff --git a/src/FileSystem/ARCtrl.FileSystem.fsproj b/src/FileSystem/ARCtrl.FileSystem.fsproj index 46b3ad65..a1423c23 100644 --- a/src/FileSystem/ARCtrl.FileSystem.fsproj +++ b/src/FileSystem/ARCtrl.FileSystem.fsproj @@ -13,8 +13,6 @@ - - diff --git a/src/Json/ARCtrl.Json.fsproj b/src/Json/ARCtrl.Json.fsproj index 50497f3d..392c447f 100644 --- a/src/Json/ARCtrl.Json.fsproj +++ b/src/Json/ARCtrl.Json.fsproj @@ -83,6 +83,10 @@ + + + + nfdi4plants, Lukas Weil, Florian Wetzels, Kevin Frey ARC and ISA json compliant parser for experimental metadata toolkit in F#. This project is meant as an easy means to open, manipulate and save ISA (Investigation,Study,Assay) metadata files in isa-json format. diff --git a/src/Spreadsheet/ARCtrl.Spreadsheet.fsproj b/src/Spreadsheet/ARCtrl.Spreadsheet.fsproj index d5a6f817..826c3ec6 100644 --- a/src/Spreadsheet/ARCtrl.Spreadsheet.fsproj +++ b/src/Spreadsheet/ARCtrl.Spreadsheet.fsproj @@ -33,6 +33,7 @@ +