Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/pom xml support #73

Merged
merged 10 commits into from
Feb 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ Please consult the changelog to inform yourself about breaking changes and secur

* added separate `documentation` URL to Project metadata model
* added support for Julia `Project.toml` file
* added support for fortran `fpm.toml` file
* added support for Fortran `fpm.toml` file
* added support for Java `pom.xml` file

## [v0.3.1](https://github.com/Materials-Data-Science-and-Informatics/somesy/tree/v0.3.1) <small>(2024-01-23)</small> { id="0.3.1" }

Expand Down
17 changes: 14 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,16 @@ authoritative** source for project metadata, which is used to update all
supported (and enabled) *target files*. You can find an overview of supported
formats further below.

By default, `somesy` will create (if they did not exist) or update `CITATION.cff` and `codemeta.json` files in your repository. If you happen to use `pyproject.toml` (in Python projects), `package.json` (in JavaScript projects), `Project.toml` (in Julia projects), or `fpm.toml` (in Fortran projects) somesy would also update the respective information there.
By default, `somesy` will create (if they did not exist) or update `CITATION.cff` and `codemeta.json` files in your repository.
If you happen to use

* `pyproject.toml` (in Python projects),
* `package.json` (in JavaScript projects),
* `Project.toml` (in Julia projects),
* `fpm.toml` (in Fortran projects),
* `pom.xml` (in Java projects),

then somesy would also update the respective information there.

You can see call available options with `somesy --help`,
all of these can also be conveniently set in your `somesy.toml` file.
Expand Down Expand Up @@ -171,15 +180,17 @@ Here is an overview of all the currently supported files and formats.
| package.json | ✓ | | package.json _(JavaScript)_ | ✓(2.) |
| Project.toml | ✓ | | Project.toml _(Julia)_ | ✓ |
| fpm.toml | ✓ | | fpm.toml _(Fortran)_ | ✓(3.) |
| | ✓ | | pom.toml _(Java)_ | ✓(4.) |
| | | | CITATION.cff | ✓ |
| | | | codemeta.json | ✓(4.) |
| | | | codemeta.json | ✓(5.) |

**Notes:**

1. note that `somesy` does not support setuptools *dynamic fields*
2. `package.json` only supports one author, so `somesy` will pick the *first* listed author
3. `fpm.toml` only supports one author and maintainer, so `somesy` will pick the *first* listed author and maintainer
4. unlike other targets, `somesy` will *re-create* the `codemeta.json` (i.e. do not edit it by hand!)
4. `pom.xml` has no concept of `maintainers`, but it can have multiple licenses (somesy only supports one main project license)
5. unlike other targets, `somesy` will *re-create* the `codemeta.json` (i.e. do not edit it by hand!)

<!-- --8<-- [end:quickstart] -->

Expand Down
14 changes: 0 additions & 14 deletions codemeta.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,20 +46,6 @@
"codeRepository": "https://github.com/Materials-Data-Science-and-Informatics/somesy",
"buildInstructions": "https://materials-data-science-and-informatics.github.io/somesy",
"contributor": [
{
"@type": "Person",
"givenName": "Mustafa",
"familyName": "Soylu",
"email": "m.soylu@fz-juelich.de",
"@id": "https://orcid.org/0000-0003-2637-0432"
},
{
"@type": "Person",
"givenName": "Anton",
"familyName": "Pirogov",
"email": "a.pirogov@fz-juelich.de",
"@id": "https://orcid.org/0000-0002-5077-7497"
},
{
"@type": "Person",
"givenName": "Jens",
Expand Down
48 changes: 24 additions & 24 deletions docs/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,33 +117,33 @@ some of the currently supported formats. Bold field names are mandatory, the oth

=== "Person Metadata"

| Somesy Field | Poetry Config | SetupTools Config | Julia Config | Fortran Config | package.json | CITATION.cff | CodeMeta |
| ---------------- | ------------- | ----------------- | ------------ | -------------- | ------------ | --------------- | --------------- |
| | | | | | | | |
| **given-names** | name+email | name | name+email | name+email | name | given-names | givenName |
| **family-names** | name+email | name | name+email | name+email | name | family-names | familyName |
| **email** | name+email | email | name+email | name+email | email | email | email |
| orcid | - | - | - | - | url | orcid | id |
| *(many others)* | - | - | - | - | - | *(same)* | *(same)* |
| Somesy Field | Poetry Config | SetupTools Config | Java POM | Julia Config | Fortran Config | package.json | CITATION.cff | CodeMeta |
| ---------------- | ------------- | ----------------- | ------------ | ------------ | -------------- | ------------ | --------------- | --------------- |
| | | | | | | | | |
| **given-names** | name+email | name | name | name+email | name+email | name | given-names | givenName |
| **family-names** | name+email | name | name | name+email | name+email | name | family-names | familyName |
| **email** | name+email | email | email | name+email | name+email | email | email | email |
| orcid | - | - | url | - | - | url | orcid | id |
| *(many others)* | - | - | - | - | - | - | *(same)* | *(same)* |

=== "Project Metadata"

| Somesy Field | Poetry Config | SetupTools Config | Julia Config | Fortran Config | package.json | CITATION.cff | CodeMeta |
| ----------------- | ------------- | ------------------ | ------------ | -------------- | ------------ | --------------- | ----------------- |
| | | | | | | |
| **name** | name | name | name | name | name | title | name |
| **description** | description | description | - | description | description | abstract | description |
| **license** | license | license | - | license | license | license | license |
| **version** | version | version | version | version | version | version | version |
| | | | | | | | |
| ***author=true*** | authors | authors | authors | author | author | authors | author |
| *maintainer=true* | maintainers | maintainers | - | maintainer | maintainers | contact | maintainer |
| *people* | - | - | - | - | contributors | - | contributor |
| | | | | | | | |
| keywords | keywords | keywords | - | keywords | keywords | keywords | keywords |
| homepage | homepage | urls.homepage | - | homepage | homepage | url | url |
| repository | repository | urls.repository | - | - | repository | repository_code | codeRepository |
| documentation | documentation | urls.documentation | - | - | - | - | buildInstructions |
| Somesy Field | Poetry Config | SetupTools Config | Java POM | Julia Config | Fortran Config | package.json | CITATION.cff | CodeMeta |
| ----------------- | ------------- | ------------------ | ------------------------------- | ------------ | -------------- | ------------ | --------------- | ----------------- |
| | | | | | | | | |
| **name** | name | name | name | name | name | name | title | name |
| **description** | description | description | description | - | description | description | abstract | description |
| **license** | license | license | licenses.license | - | license | license | license | license |
| **version** | version | version | version | version | version | version | version | version |
| | | | | | | | | |
| ***author=true*** | authors | authors | developers | authors | author | author | authors | author |
| *maintainer=true* | maintainers | maintainers | - | - | maintainer | maintainers | contact | maintainer |
| *people* | - | - | - | - | - | contributors | - | contributor |
| | | | | | | | | |
| keywords | keywords | keywords | - | - | keywords | keywords | keywords | keywords |
| homepage | homepage | urls.homepage | urls | - | homepage | homepage | url | url |
| repository | repository | urls.repository | scm.url | - | - | repository | repository_code | codeRepository |
| documentation | documentation | urls.documentation | distributionManagement.site.url | - | - | - | - | buildInstructions |

Note that the mapping is often not 1-to-1. For example, CITATION.cff allows rich
specification of author contact information and complex names. In contrast,
Expand Down
Loading
Loading