diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f77adf3 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,34 @@ +# Contributing to rdfpipe-rs + +**Thank you very much for considering contributing to this project!** + +We welcome any form of contribution: + + * New issues (feature requests, bug reports, questions, ideas, ...) + * Pull requests (documentation improvements, code improvements, new features, ...) + +**Note**: Before you take the time to open a pull request, please open an issue first. This will +give us the chance to discuss any potential changes first. + +## Opening a pull request (PR) + +Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests: + +1. Fork the repo and create your branch from main. +2. If you've added code that should be tested, add tests. +3. If you've changed APIs, update the documentation. +4. Ensure the test suite passes. +5. Create the pull request! + +**Note:** PRs can only be merged if the [`build`](https://github.com/SDSC-ORD/rdfpipe-rs/blob/main/.github/workflows/rust.yml) GitHub action passes. + +## License + +By contributing, you agree that your contributions will be licensed under its GPL-3.0 License. + +## Important links + + * [Open issues](https://github.com/SDSC-ORD/rdfpipe-rs/issues) + * [Open pull requests](https://github.com/SDSC-ORD/rdfpipe-rs/pulls) + * [Development section in the README](https://github.com/SDSC-ORD/rdfpipe-rs#development) + * [LICENSE](https://github.com/SDSC-ORD/rdfpipe-rs/blob/main/LICENSE) diff --git a/README.md b/README.md index 6cd7a9a..88479db 100644 --- a/README.md +++ b/README.md @@ -50,3 +50,27 @@ Options: -h, --help Print help ``` +## Development + +See [CONTRIBUTING.md](CONTRIBUTING.md) to learn about the different ways you can contribute to rdfpipe-rs. + +```sh +# Install for development +git clone https://github.com/SDSC-ORD/rdfpipe-rs +cd rdfpipe-rs + +# Run unit and integration tests +cargo test + +# Build documentation +cargo doc + +# Build debug binary +cargo build + +# Build optimized binary +cargo build --release + +# Install +cargo install --path . +``` diff --git a/src/cli.rs b/src/cli.rs index 160da46..c5fb9ee 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -1,3 +1,20 @@ +// rdfpipe-rs +// Copyright (C) 2023 - Swiss Data Science Center (SDSC) +// A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and +// Eidgenössische Technische Hochschule Zürich (ETHZ). +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . //! Command line interface for the RDF conversion tool. use clap; use clap::{Parser, ValueEnum}; diff --git a/src/converter.rs b/src/converter.rs index fef19db..c24ee88 100644 --- a/src/converter.rs +++ b/src/converter.rs @@ -1,3 +1,20 @@ +// rdfpipe-rs +// Copyright (C) 2023 - Swiss Data Science Center (SDSC) +// A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and +// Eidgenössische Technische Hochschule Zürich (ETHZ). +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . //! # Conversion logic //! //! This module contains the `RdfIO` trait which is used to parse and serialize RDF graphs. diff --git a/src/formats.rs b/src/formats.rs index 37ad8a4..3d156f7 100644 --- a/src/formats.rs +++ b/src/formats.rs @@ -1,3 +1,20 @@ +// rdfpipe-rs +// Copyright (C) 2023 - Swiss Data Science Center (SDSC) +// A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and +// Eidgenössische Technische Hochschule Zürich (ETHZ). +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . //! # Implementation of concrete RDF formats //! //! This module implements `RdfIO` trait for each RDF serialization format. diff --git a/src/io.rs b/src/io.rs index a39a137..f4c6cbe 100644 --- a/src/io.rs +++ b/src/io.rs @@ -1,3 +1,20 @@ +// rdfpipe-rs +// Copyright (C) 2023 - Swiss Data Science Center (SDSC) +// A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and +// Eidgenössische Technische Hochschule Zürich (ETHZ). +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . //! # Input and Output helpers //! //! This module contains the `Input` and `Output` helper structs. diff --git a/src/main.rs b/src/main.rs index e36e337..d282242 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,20 @@ +// rdfpipe-rs +// Copyright (C) 2023 - Swiss Data Science Center (SDSC) +// A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and +// Eidgenössische Technische Hochschule Zürich (ETHZ). +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . //! # rdfpipe-rs //! //! A command-line tool for converting between RDF serialization formats.