Thanks for your interest in this project.
- Project description
- Project licenses
- Terms of Use
- Developer resources
- Eclipse Development Process
- Eclipse Contributor Agreement
- Code of Conduct
- General contribution to the project
- Contributing as a Consultant
- Contributing as a Developer
- Contact
The companies involved want to increase the automotive industry's competitiveness, improve efficiency through industry-specific cooperation and accelerate company processes through standardization and access to information and data. A special focus is also on SMEs, whose active participation is of central importance for the network's success. That is why Catena-X has been conceived from the outset as an open network with solutions ready for SMEs, where these companies will be able to participate quickly and with little IT infrastructure investment. Tractus-X is meant to be the PoC project of the Catena-X alliance focusing on parts traceability.
- https://projects.eclipse.org/projects/automotive.tractusx
- https://github.com/eclipse-tractusx/item-relationship-service
The Tractus-X project uses the following licenses:
- Apache-2.0 for code
- CC-BY-4.0 for non-code
This repository is subject to the Terms of Use of the Eclipse Foundation
Information regarding source code management, builds, coding standards, and more.
Getting started:
The project maintains the source code repositories in the following GitHub organization:
This Eclipse Foundation open project is governed by the Eclipse Foundation Development Process and operates under the terms of the Eclipse IP Policy.
- https://eclipse.org/projects/dev_process
- https://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf
In order to be able to contribute to Eclipse Foundation projects you must electronically sign the Eclipse Contributor Agreement (ECA).
The ECA provides the Eclipse Foundation with a permanent record that you agree that each of your contributions will comply with the commitments documented in the Developer Certificate of Origin (DCO). Having an ECA on file associated with the email address matching the "Author" field of your contribution's Git commits fulfills the DCO's requirement that you sign-off on your contributions.
For more information, please see the Eclipse Committer Handbook: https://www.eclipse.org/projects/handbook/#resources-commit
See CODE_OF_CONDUCT.
In case of new dependencies or version updates, it might be necessary to have the new library checked and accepted by the Eclipse foundation. Do create new tickets for this, you can use this command:
mvn org.eclipse.dash:license-tool-plugin:license-check -Ddash.iplab.token=$ECLIPSE_DASH_TOKEN -Ddash.projectId=automotive.tractusx --batch-mode -DskipTests -P dash
For more information on the tool and how to acquire the token, check https://github.com/eclipse/dash-licenses.
General contributions e.g. contributions to improve documentation are welcome. If you need ideas for contributions, you can check the following links:
Maintaining CHANGELOG.md
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
For better traceability add the corresponding GitHub issue number in each changelog entry, please.
- The prerequisite for a concept is always a GitHub issue that defines the business value and the acceptance criteria that are to be implemented with the concept
- Copy and rename directory /docs/#000-concept-name-template /docs/#-
- Copy the template file /docs/concept/TEMPLATE_Concept.md into new
directory
/docs/#<DDD>-<target-name>
.
PlantUML and Mermaid is used for conceptual work.
default skinparam for plantUml diagrams
@startuml
skinparam monochrome true
skinparam shadowing false
skinparam linetype ortho
skinparam defaultFontName "Architects daughter"
autonumber "<b>[000]"
@enduml
Default header for mermaid sequence diagrams
sequenceDiagram
%%{init: {'theme': 'dark', 'themeVariables': { 'fontSize': '15px'}}}%%
autonumber
The commit messages have to match a pattern in the form of:
< type >(scope):[<Ticket_ID>] < description >
where type is: build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test
Example:
chore(api):[#123] some text
chore(api): some text
Detailed pattern can be found here: commit-msg
cp local/development/commit-msg .git/hooks/commit-msg && chmod 500 .git/hooks/commit-msg
For further information please see https://github.com/hazcod/semantic-commit-hook
Please use the following code formatter: .idea/codeStyles
Google Java Format will be used as code format standard.
Please install google-java-format
plugin and edit customer VM options (for
IntelliJ Help → Edit Custom VM Options...
) and paste following configuration:
-Xmx4096m
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
The plugin will be disabled by default. To enable it in the current project, go to File→Settings...→google-java-format
Settings (or IntelliJ IDEA→Preferences...→Other Settings→google-java-format
Settings on macOS) and check the Enable
google-java-format checkbox. (A notification will be presented when you first open a project offering to do this for
you.)
More info:
https://github.com/google/google-java-format/blob/master/README.md#intellij-jre-config
- Choose a release version using semantic versioning
and create a corresponding branch according to the template:
chore/prepare-release-x.x.x
. - Make sure the changelog entries CHANGELOG.md
and charts/item-relationship-service/CHANGELOG.md are up-to-date
- Check if the changelog entries for the release are complete.
- Add the corresponding GitHub issue numbers to each entry if missing.
- Update COMPATIBILITY_MATRIX.md.
- Execute the workflow named "Prepare Release documentation". The workflow takes three inputs. These are:
- IRS release version - type: semantic version string
- Helm Chart release version - type: semantic version string
- Whether to automatically update the Helm Chart changelog with the change "- Update IRS version to x.x.x". This is a checkbox which is ticked by default.
- The workflow updates the necessary documentation and creates a pull request right away. Review the changes and merge the PR.
- Once the pull request has been merged, the helm chart will be release automatically.
- To create the IRS release, draft a new release. As a tag and title, choose the IRS version provided to the release workflow. (If the release is created from a hotfix branch, make sure to choose this hotfix branch as the target of the tag)
- Paste the release notes from the PR into the release description.
- Notify about the release in IRS Matrix Chat using the following template:
IRS Release x.x.x
IRS version x.x.x is released.
https://github.com/eclipse-tractusx/item-relationship-service/releases/tag/x.x.x
https://github.com/eclipse-tractusx/item-relationship-service/releases/tag/item-relationship-service-y.y.y
Full Changelog: https://github.com/eclipse-tractusx/item-relationship-service/compare/w.w.w...x.x.x
(replace x.x.x with IRS version to release, y.y.y with Helm Chart version to release and w.w.w with previous IRS version)
- Choose a release version using semantic versioning
and create a corresponding branch according to the template:
chore/release-chart-x.x.x
. - Add new version to charts/item-relationship-service/CHANGELOG.md
- Change chart version in Chart.yaml
- Create pull request from release preparation branch to main
- Merge this pull request to main.
- Wait for release workflow to complete.
See CONTACT