diff --git a/.github/workflows/e2e-tests-xray_frontend.yml b/.github/workflows/e2e-tests-xray_frontend.yml
index f86969bc58..885f73cdd0 100644
--- a/.github/workflows/e2e-tests-xray_frontend.yml
+++ b/.github/workflows/e2e-tests-xray_frontend.yml
@@ -102,7 +102,7 @@ jobs:
node-version: 20.x
- name: Cypress run all tests
- uses: cypress-io/github-action@v6.6.1 # use the explicit version number
+ uses: cypress-io/github-action@v6.7.0 # use the explicit version number
with:
start: npm run start:auth:e2ea
wait-on: "http://localhost:4200"
@@ -165,7 +165,7 @@ jobs:
# node-version: 18.x
#
# - name: Cypress run all tests
- # uses: cypress-io/github-action@v6.6.1 # use the explicit version number
+ # uses: cypress-io/github-action@v6.7.0 # use the explicit version number
# with:
# start: npm start
# wait-on: "http://localhost:4200"
@@ -228,7 +228,7 @@ jobs:
# run: npx playwright install --with-deps webkit
#
# - name: Cypress run all tests
- # uses: cypress-io/github-action@v6.6.1 # use the explicit version number
+ # uses: cypress-io/github-action@v6.7.0 # use the explicit version number
# with:
# start: npm start:auth:e2ea
# wait-on: "http://localhost:4200"
diff --git a/.github/workflows/jira-publish-release.yaml b/.github/workflows/jira-publish-release.yaml
deleted file mode 100644
index 39ce1b68eb..0000000000
--- a/.github/workflows/jira-publish-release.yaml
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0.
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-name: "[BE][FE][RELEASE] Jira release publishing"
-
-on:
- workflow_dispatch: # Trigger manually
- inputs:
- version:
- required: true
- type: string
- description: Version that will be released in Jira, eg. 2.0.0
- workflow_call:
- inputs:
- version:
- required: true
- type: string
- description: Version that will be released in Jira, eg. 2.0.0
-jobs:
- build:
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v4
-
- - name: Set current date as env variable
- run: echo "NOW=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
- - name: Echo current date
- run: echo $NOW
-
- - name: Get Version Id Of Release
- env:
- JIRA_USERNAME: ${{ secrets.RELEASE_IRS_JIRA_USERNAME }}
- JIRA_PASSWORD: ${{ secrets.RELEASE_IRS_JIRA_PASSWORD }}
- run: |
- echo "versionId=$(curl --request GET --url 'https://jira.catena-x.net/rest/api/latest/project/10211/versions' \
- --user $JIRA_USERNAME:$JIRA_PASSWORD --header 'Accept: application/json' | jq -r '.[] | select(.name == "NEXT_RELEASE").id')" >> $GITHUB_ENV
- - name: Echo versionId to release
- run: echo Exported $versionId as version id to release
-
- - name: Release Version in Jira
- env:
- JIRA_USERNAME: ${{ secrets.RELEASE_IRS_JIRA_USERNAME }}
- JIRA_PASSWORD: ${{ secrets.RELEASE_IRS_JIRA_PASSWORD }}
- VERSION: ${{ github.event.inputs.version }}
- VERSION_ID: ${{ env.versionId }}
- RELEASE_DATE: ${{ env.NOW }}
- run: |
- curl --request PUT --url "https://jira.catena-x.net/rest/api/latest/version/$VERSION_ID" \
- --user $JIRA_USERNAME:$JIRA_PASSWORD \
- --header 'Accept: application/json' \
- --header 'Content-Type: application/json' \
- --data "{
- \"archived\": false,
- \"description\": \"$VERSION\",
- \"id\": $VERSION_ID,
- \"name\": \"$VERSION\",
- \"releaseDate\": \"$RELEASE_DATE\",
- \"released\": true,
- \"overdue\": false,
- \"projectId\": 10211
- }"
-
- - name: Create NEXT_RELEASE Version in Jira
- env:
- JIRA_USERNAME: ${{ secrets.RELEASE_IRS_JIRA_USERNAME }}
- JIRA_PASSWORD: ${{ secrets.RELEASE_IRS_JIRA_PASSWORD }}
- run: |
- curl --request POST --url 'https://jira.catena-x.net/rest/api/latest/version' \
- --user $JIRA_USERNAME:$JIRA_PASSWORD \
- --header 'Accept: application/json' \
- --header 'Content-Type: application/json' \
- --data '{
- "archived": false,
- "name": "NEXT_RELEASE",
- "projectId": 10211,
- "released": false
- }'
diff --git a/.github/workflows/pull-request_backend.yml b/.github/workflows/pull-request_backend.yml
index f340361a75..314c714f96 100644
--- a/.github/workflows/pull-request_backend.yml
+++ b/.github/workflows/pull-request_backend.yml
@@ -25,6 +25,7 @@ env:
GHCR_REGISTRY: ghcr.io
JAVA_VERSION: 17
DOCKER_HUB_REGISTRY_NAMESPACE: tractusx
+ BACKEND_IMAGE_DOCKER_HUB: traceability-foss
jobs:
Check-Changelog-update:
@@ -114,16 +115,16 @@ jobs:
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- - name: Verify Sonar Scan
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
- SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_BACKEND }}
- SONAR_ORGANIZATION: ${{ vars.SONAR_ORGANIZATION }}
- SONAR_PROJECT_KEY: ${{ vars.SONAR_PROJECT_KEY_BACKEND }}
- run: mvn -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn --batch-mode sonar:sonar -Dsonar.coverage.jacoco.xmlReportPaths=/home/runner/work/tx-traceability-foss/tx-traceability-foss/tx-coverage/target/site/jacoco-aggregate/jacoco.xml -Dsonar.projectKey=${{ vars.SONAR_PROJECT_KEY_BACKEND }} -Dsonar.organization=${{ vars.SONAR_ORGANIZATION }}
+ # - name: Verify Sonar Scan
+ # env:
+ # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
+ # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_BACKEND }}
+ # SONAR_ORGANIZATION: ${{ vars.SONAR_ORGANIZATION }}
+ # SONAR_PROJECT_KEY: ${{ vars.SONAR_PROJECT_KEY_BACKEND }}
+ # run: mvn -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn --batch-mode sonar:sonar -Dsonar.coverage.jacoco.xmlReportPaths=/home/runner/work/traceability-foss/tx-traceability-foss/tx-coverage/target/site/jacoco-aggregate/jacoco.xml -Dsonar.projectKey=${{ vars.SONAR_PROJECT_KEY_BACKEND }} -Dsonar.organization=${{ vars.SONAR_ORGANIZATION }}
Publish-docker-image:
- needs: [ "Test-and-Sonar" ]
+ # needs: [ "Test-and-Sonar" ]
runs-on: ubuntu-latest
defaults:
run:
@@ -142,8 +143,10 @@ jobs:
distribution: 'temurin'
cache: 'maven'
-
- name: Login to GHCR Registry
+ env:
+ DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
+ if: env.DOCKER_HUB_USER == ''
uses: docker/login-action@v3
with:
registry: ${{ env.GHCR_REGISTRY }}
@@ -151,9 +154,30 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build & Push docker image for GHCR ${{ env.GHCR_REGISTRY }}/${{ github.repository }}:${{ github.event.pull_request.head.sha }}
+ env:
+ DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
+ if: env.DOCKER_HUB_USER == ''
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ env.GHCR_REGISTRY }}/${{ github.repository }}:${{ github.event.pull_request.head.sha }}
+ - name: Login to Docker Hub
+ env:
+ DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
+ if: env.DOCKER_HUB_USER != ''
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKER_HUB_USER }}
+ password: ${{ secrets.DOCKER_HUB_TOKEN }}
+
+ - name: Build & push docker image for Docker Hub ${{ env.DOCKER_HUB_REGISTRY_NAMESPACE }}/${{ env.BACKEND_IMAGE_DOCKER_HUB }}:${{ github.event.pull_request.head.sha }}
+ env:
+ DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
+ if: env.DOCKER_HUB_USER != ''
+ uses: docker/build-push-action@v5
+ with:
+ context: .
+ push: true
+ tags: ${{ env.DOCKER_HUB_REGISTRY_NAMESPACE }}/${{ env.BACKEND_IMAGE_DOCKER_HUB }}:${{ github.event.pull_request.head.sha }}
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index f58afde5f8..644533953b 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -91,14 +91,6 @@ jobs:
with:
body: ${{ env.CHANGELOG }}
- trigger-jira:
- needs:
- - release
- uses: ./.github/workflows/jira-publish-release.yaml
- with:
- version: ${{ github.ref_name }}
- secrets: inherit
-
publish-to-swaggerhub:
name: "Publish OpenAPI spec to Swaggerhub"
permissions:
diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml
index 3b6806f1c4..0fc992b9eb 100644
--- a/.github/workflows/trivy.yml
+++ b/.github/workflows/trivy.yml
@@ -72,7 +72,7 @@ jobs:
run: docker build -t localhost:5000/traceability-foss:fe_${{ github.sha }} -f ./frontend/Dockerfile .
- name: Run Trivy vulnerability scanner
- uses: aquasecurity/trivy-action@0.20.0
+ uses: aquasecurity/trivy-action@0.22.0
with:
trivyignores: "./.github/workflows/.trivyignore"
image-ref: 'localhost:5000/traceability-foss:fe_${{ github.sha }}'
@@ -132,7 +132,7 @@ jobs:
ref: ${{needs.prepare-env.outputs.check_sha}}
- name: Run Trivy vulnerability scanner in repo mode
- uses: aquasecurity/trivy-action@0.20.0
+ uses: aquasecurity/trivy-action@0.22.0
with:
trivyignores: "./.github/workflows/.trivyignore"
scan-type: "config"
@@ -178,7 +178,7 @@ jobs:
tags: localhost:5000/traceability-foss:trivy
- name: Run Trivy vulnerability scanner
- uses: aquasecurity/trivy-action@0.20.0
+ uses: aquasecurity/trivy-action@0.22.0
with:
image-ref: localhost:5000/traceability-foss:trivy
trivyignores: "./.github/workflows/.trivyignore"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 94e4a7e604..f04cfa5e10 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,16 +7,37 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
_**For better traceability add the corresponding GitHub issue number in each changelog entry, please.**_
## [UNRELEASED - DD.MM.YYYY]
+### Changed
+- #965 Implement proxy functionality of the IRS policy store
+
+### Added
+- #832 added policymanagement list view, creator and editor
+- #737 Added concept: Contract table -> parts link action
+- XXX Added interceptor to EdcRestTemplates to log requests
### Removed
- XXX Removed EdcNotifiactionMockServiceImpl class and replaced with mocks
+- #1033 removed action jira-publish-release workflow
+
+### Changed
+
+- XXX updated JsonSchemaTest now the test pulls the latest version of the json file
+
+### Added
+
+- #1017 added file for CC BY 4.0 license for TRG 7
+
+### Changed
+
+- #1017 updated contributing, notice, and readme files for TRG 7
## [11.0.2 - 29.05.2024]
### Added
- #1010 Made submodel path configurable
- #838 Added User experience > Table design section in arc42 documentation
+
### Changed
- #1010 Updated IRS Helm Version from 5.1.6 to 5.1.7
diff --git a/COMPATIBILITY_MATRIX.md b/COMPATIBILITY_MATRIX.md
index a02183273c..dcd68ecaff 100644
--- a/COMPATIBILITY_MATRIX.md
+++ b/COMPATIBILITY_MATRIX.md
@@ -1,5 +1,5 @@
# Compatibility matrix Trace-X
-## Trace-X version [[11.0.2](https://github.com/eclipse-tractusx/traceability-foss/releases/tag/11.0.2] - 2024-05-29
+## Trace-X version [11.0.2](https://github.com/eclipse-tractusx/traceability-foss/releases/tag/11.0.2) - 2024-05-29
### Catena-X Release?
@@ -27,7 +27,7 @@
| Aspect Model | SingleLevelBomAsPlanned | 3.0.0 | - |
-## Trace-X version [[11.0.1](https://github.com/eclipse-tractusx/traceability-foss/releases/tag/11.0.1] - 2024-05-22
+## Trace-X version [11.0.1](https://github.com/eclipse-tractusx/traceability-foss/releases/tag/11.0.1) - 2024-05-22
### Catena-X Release?
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 119b7cd8cb..ae2dc59577 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,13 +4,15 @@ Thanks for your interest in this project.
# Table of Contents
1. [Project description](#project_description)
-2. [Developer resources](#developer_ressources)
-3. [Problem Eclipse Development Process](#eclipse_commitment)
-4. [Eclipse Contributor Agreement](#eclipse_agreement)
-5. [General contribution to the project](#general)
-6. [Contributing as a Consultant](#consultant)
-7. [Contributing as a Developer](#developer)
-8. [Contact](#contact)
+2. [Project licenses](#project_licenses)
+3. [Terms of Use](#terms_of_use)
+4. [Developer resources](#developer_ressources)
+5. [Problem Eclipse Development Process](#eclipse_commitment)
+6. [Eclipse Contributor Agreement](#eclipse_agreement)
+7. [General contribution to the project](#general)
+8. [Contributing as a Consultant](#consultant)
+9. [Contributing as a Developer](#developer)
+10. [Contact](#contact)
## Project description
@@ -28,6 +30,19 @@ Catena-X alliance focusing on parts traceability.
- https://projects.eclipse.org/projects/automotive.tractusx
- https://github.com/eclipse-tractusx/traceability-foss
+## Project licenses
+
+The Tractus-X project uses the following licenses:
+
+* Apache-2.0 for code
+* CC-BY-4.0 for non-code
+
+## Terms of Use
+
+This repository is subject to the Terms of Use of the Eclipse Foundation
+
+* https://www.eclipse.org/legal/termsofuse.php
+
## Developer resources
Information regarding source code management, builds, coding standards, and
@@ -35,6 +50,10 @@ more.
- https://projects.eclipse.org/projects/automotive.tractusx/developer
+Getting started:
+
+* https://eclipse-tractusx.github.io/docs/developer
+
The project maintains the source code repositories in the following GitHub organization:
- https://github.com/eclipse-tractusx/
@@ -65,14 +84,62 @@ https://www.eclipse.org/projects/handbook/#resources-commit
## General contribution to the project
-### Maintaining [CHANGELOG.md](CHANGELOG.md)
+### Maintaining [CHANGELOG.md](CHANGELOG.md)
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres
-to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+
+* Add release notes for new version in [CHANGELOG.md](CHANGELOG.md)
+* Features of your product(s) or component(s), available for market entry
+* Please provide minimum 5 to maximum 10 key feature descriptions
+* Use category “ADDED” as per good practice
+* Known knowns as of the baseline of our recent Gate4 reviews (for example these can be unresolved bugs (also medium ones) or SEC weaknesses etc.)
+* Put yourself into the position of an “external” customer/user of your software and focus on what is worth mentioning (if anything)
+* Create a category „KNOWN KNOWNS“ if applicable
+* Make sure, your [CHANGELOG.md](CHANGELOG.md) fully correlates to your market-entry version
_**For better traceability add the corresponding GitHub issue number in each changelog entry, please.**_
+### git-hooks
+Use git-hooks to ensure commit message consistency.
+Detailed pattern can be found here: [commit-msg](https://github.com/eclipse-tractusx/traceability-foss/blob/457cb3523e981ef6aed98355a7faf0ff29867c33/dev/commit-msg#L4)
+
+#### How to use
+
+````
+cp dev/commit-msg .git/hooks/commit-msg && chmod 500 .git/hooks/commit-msg
+````
+For further information, please see https://github.com/hazcod/semantic-commit-hook
+
+**Good practices**
+
+The commit messages have to match a pattern in the form of:
+
+````
+< type >(optional scope):[] < description >
+````
+
+````
+fix(api):[TRACEFOSS-123] Fix summary what is fixed.
+chore(repos):[TRACEFOSS-123] Configuration change of ci cd pipeline for new repository.
+docs(arc42):[TRACEFOSS-123] Added level 1 description for runtime view.
+
+chore(helm): TRACEFOSS-1131- Moving the values under the global key - increasing the version
+````
+
+## Pull Request & Reviews
+
+The goal is that the maximal life cycle of a pull request: 1.5 days.
+
+**Steps:**
+
+- Every developer creating a pull request is responsible to assign a reviewer.
+- Add comment for pull request with required information.
+- Please check the availability of a reviewer. The daily might be a good way to check the availability of team members.
+- If Review needs to be planned: Assign corresponding Jira ticket to reviewer, with link to pull-request
+
### Dash IP
Prerequisites:
1) Create access token
@@ -87,6 +154,15 @@ You start off with the main branch, then a developer creates a feature branch di
After the feature is developed the code is reviewed and tested on the branch.
Only after the code is stable it can be merged to main.
+- Main dev work is done on feature branches
+ - Branches must be prefixed according to their nature:
+ - feature/* - for implementing user stories
+ - fix/* - for fixing bugs that appeared in the main branch
+ - chore/* - any small change without any impact
+- Branch Name:
+ - MUST contain : Issue ID in the format #XXX
+ - MUST contain: Subject of issue (Abbreviation of pbi summary without using spaces / use "-" to connect)
+
### Commit messages
diff --git a/DEPENDENCIES_BACKEND b/DEPENDENCIES_BACKEND
index 4fd7cbe35e..6554053f34 100644
--- a/DEPENDENCIES_BACKEND
+++ b/DEPENDENCIES_BACKEND
@@ -37,8 +37,11 @@ maven/mavencentral/com.google.code.gson/gson/2.10.1, Apache-2.0, approved, #6159
maven/mavencentral/com.google.code.javaparser/javaparser/1.0.11, LGPL-3.0-or-later, approved, #13474
maven/mavencentral/com.google.crypto.tink/tink/1.12.0, Apache-2.0, approved, #12041
maven/mavencentral/com.google.errorprone/error_prone_annotations/2.18.0, Apache-2.0, approved, clearlydefined
+maven/mavencentral/com.google.errorprone/error_prone_annotations/2.22.0, Apache-2.0, approved, #10661
maven/mavencentral/com.google.guava/failureaccess/1.0.1, Apache-2.0, approved, CQ22654
+maven/mavencentral/com.google.guava/failureaccess/1.0.2, Apache-2.0, approved, CQ22654
maven/mavencentral/com.google.guava/guava/32.0.1-jre, Apache-2.0 AND CC0-1.0 AND CC-PDDC, approved, #8772
+maven/mavencentral/com.google.guava/guava/33.0.0-jre, Apache-2.0 AND CC0-1.0, approved, #12173
maven/mavencentral/com.google.guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava, Apache-2.0, approved, CQ22657
maven/mavencentral/com.google.j2objc/j2objc-annotations/2.8, Apache-2.0, approved, clearlydefined
maven/mavencentral/com.google.protobuf/protobuf-java/3.24.3, BSD-3-Clause, approved, clearlydefined
@@ -66,6 +69,7 @@ maven/mavencentral/commons-codec/commons-codec/1.16.1, Apache-2.0 AND (Apache-2.
maven/mavencentral/commons-collections/commons-collections/3.2.2, Apache-2.0, approved, CQ10385
maven/mavencentral/commons-digester/commons-digester/2.1, Apache-2.0, approved, clearlydefined
maven/mavencentral/commons-io/commons-io/2.11.0, Apache-2.0, approved, CQ23745
+maven/mavencentral/commons-io/commons-io/2.15.1, Apache-2.0, approved, #11244
maven/mavencentral/commons-lang/commons-lang/2.6, Apache-2.0, approved, CQ6183
maven/mavencentral/commons-logging/commons-logging/1.2, Apache-2.0, approved, CQ10162
maven/mavencentral/commons-logging/commons-logging/1.3.0, Apache-2.0, approved, #11783
@@ -129,7 +133,6 @@ maven/mavencentral/io.rest-assured/xml-path/5.3.2, Apache-2.0, approved, #9267
maven/mavencentral/io.rest-assured/xml-path/5.4.0, Apache-2.0, approved, #12038
maven/mavencentral/io.smallrye/jandex/3.1.2, Apache-2.0, approved, clearlydefined
maven/mavencentral/io.swagger.core.v3/swagger-annotations-jakarta/2.2.20, Apache-2.0, approved, #5947
-maven/mavencentral/io.swagger.core.v3/swagger-annotations-jakarta/2.2.8, Apache-2.0, approved, #5947
maven/mavencentral/io.swagger.core.v3/swagger-annotations/2.2.18, Apache-2.0, approved, #11362
maven/mavencentral/io.swagger.core.v3/swagger-core-jakarta/2.2.8, Apache-2.0, approved, #5929
maven/mavencentral/io.swagger.core.v3/swagger-models-jakarta/2.2.8, Apache-2.0, approved, #5919
@@ -166,6 +169,7 @@ maven/mavencentral/net.minidev/json-smart/2.5.1, Apache-2.0, approved, clearlyde
maven/mavencentral/net.sf.jopt-simple/jopt-simple/5.0.4, MIT, approved, CQ13174
maven/mavencentral/org.antlr/antlr4-runtime/4.13.0, BSD-3-Clause, approved, #10767
maven/mavencentral/org.apache.commons/commons-collections4/4.4, Apache-2.0, approved, clearlydefined
+maven/mavencentral/org.apache.commons/commons-compress/1.26.0, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #13288
maven/mavencentral/org.apache.commons/commons-compress/1.26.1, Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause), approved, #13288
maven/mavencentral/org.apache.commons/commons-lang3/3.11, Apache-2.0, approved, CQ22642
maven/mavencentral/org.apache.commons/commons-lang3/3.12.0, Apache-2.0, approved, clearlydefined
@@ -195,6 +199,7 @@ maven/mavencentral/org.bitbucket.b_c/jose4j/0.9.4, Apache-2.0, approved, #4707
maven/mavencentral/org.bouncycastle/bcprov-jdk18on/1.78, MIT AND CC0-1.0, approved, #14433
maven/mavencentral/org.ccil.cowan.tagsoup/tagsoup/1.2.1, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.checkerframework/checker-qual/3.31.0, MIT, approved, clearlydefined
+maven/mavencentral/org.checkerframework/checker-qual/3.41.0, MIT, approved, #12032
maven/mavencentral/org.eclipse.angus/angus-activation/2.0.0, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.angus
maven/mavencentral/org.eclipse.angus/angus-activation/2.0.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.angus
maven/mavencentral/org.eclipse.edc/api-core/0.6.0, Apache-2.0, approved, technology.edc
@@ -370,7 +375,7 @@ maven/mavencentral/org.springframework/spring-orm/6.1.6, Apache-2.0, approved, #
maven/mavencentral/org.springframework/spring-test/6.1.6, Apache-2.0, approved, #12919
maven/mavencentral/org.springframework/spring-tx/6.1.6, Apache-2.0, approved, #11901
maven/mavencentral/org.springframework/spring-web/6.1.6, Apache-2.0, approved, #11748
-maven/mavencentral/org.springframework/spring-webmvc/6.1.6, Apache-2.0, approved, #11879
+maven/mavencentral/org.springframework/spring-webmvc/6.1.6, Apache-2.0, approved, #15182
maven/mavencentral/org.testcontainers/database-commons/1.19.7, Apache-2.0, approved, #10345
maven/mavencentral/org.testcontainers/jdbc/1.19.7, Apache-2.0, approved, #10348
maven/mavencentral/org.testcontainers/junit-jupiter/1.19.8, MIT, approved, #10344
diff --git a/LICENSE_non-code b/LICENSE_non-code
new file mode 100644
index 0000000000..8e4d8772cf
--- /dev/null
+++ b/LICENSE_non-code
@@ -0,0 +1,395 @@
+Creative Commons Attribution 4.0 International
+
+=======================================================================
+
+Creative Commons Corporation ("Creative Commons") is not a law firm and
+does not provide legal services or legal advice. Distribution of
+Creative Commons public licenses does not create a lawyer-client or
+other relationship. Creative Commons makes its licenses and related
+information available on an "as-is" basis. Creative Commons gives no
+warranties regarding its licenses, any material licensed under their
+terms and conditions, or any related information. Creative Commons
+disclaims all liability for damages resulting from their use to the
+fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and
+conditions that creators and other rights holders may use to share
+original works of authorship and other material subject to copyright
+and certain other rights specified in the public license below. The
+following considerations are for informational purposes only, are not
+exhaustive, and do not form part of our licenses.
+
+ Considerations for licensors: Our public licenses are
+ intended for use by those authorized to give the public
+ permission to use material in ways otherwise restricted by
+ copyright and certain other rights. Our licenses are
+ irrevocable. Licensors should read and understand the terms
+ and conditions of the license they choose before applying it.
+ Licensors should also secure all rights necessary before
+ applying our licenses so that the public can reuse the
+ material as expected. Licensors should clearly mark any
+ material not subject to the license. This includes other CC-
+ licensed material, or material used under an exception or
+ limitation to copyright. More considerations for licensors:
+ wiki.creativecommons.org/Considerations_for_licensors
+
+ Considerations for the public: By using one of our public
+ licenses, a licensor grants the public permission to use the
+ licensed material under specified terms and conditions. If
+ the licensor's permission is not necessary for any reason--for
+ example, because of any applicable exception or limitation to
+ copyright--then that use is not regulated by the license. Our
+ licenses grant only permissions under copyright and certain
+ other rights that a licensor has authority to grant. Use of
+ the licensed material may still be restricted for other
+ reasons, including because others have copyright or other
+ rights in the material. A licensor may make special requests,
+ such as asking that all changes be marked or described.
+ Although not required by our licenses, you are encouraged to
+ respect those requests where reasonable. More considerations
+ for the public:
+ wiki.creativecommons.org/Considerations_for_licensees
+
+=======================================================================
+
+Creative Commons Attribution 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree
+to be bound by the terms and conditions of this Creative Commons
+Attribution 4.0 International Public License ("Public License"). To the
+extent this Public License may be interpreted as a contract, You are
+granted the Licensed Rights in consideration of Your acceptance of
+these terms and conditions, and the Licensor grants You such rights in
+consideration of benefits the Licensor receives from making the
+Licensed Material available under these terms and conditions.
+
+
+Section 1 -- Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar
+ Rights that is derived from or based upon the Licensed Material
+ and in which the Licensed Material is translated, altered,
+ arranged, transformed, or otherwise modified in a manner requiring
+ permission under the Copyright and Similar Rights held by the
+ Licensor. For purposes of this Public License, where the Licensed
+ Material is a musical work, performance, or sound recording,
+ Adapted Material is always produced where the Licensed Material is
+ synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright
+ and Similar Rights in Your contributions to Adapted Material in
+ accordance with the terms and conditions of this Public License.
+
+ c. Copyright and Similar Rights means copyright and/or similar rights
+ closely related to copyright including, without limitation,
+ performance, broadcast, sound recording, and Sui Generis Database
+ Rights, without regard to how the rights are labeled or
+ categorized. For purposes of this Public License, the rights
+ specified in Section 2(b)(1)-(2) are not Copyright and Similar
+ Rights.
+
+ d. Effective Technological Measures means those measures that, in the
+ absence of proper authority, may not be circumvented under laws
+ fulfilling obligations under Article 11 of the WIPO Copyright
+ Treaty adopted on December 20, 1996, and/or similar international
+ agreements.
+
+ e. Exceptions and Limitations means fair use, fair dealing, and/or
+ any other exception or limitation to Copyright and Similar Rights
+ that applies to Your use of the Licensed Material.
+
+ f. Licensed Material means the artistic or literary work, database,
+ or other material to which the Licensor applied this Public
+ License.
+
+ g. Licensed Rights means the rights granted to You subject to the
+ terms and conditions of this Public License, which are limited to
+ all Copyright and Similar Rights that apply to Your use of the
+ Licensed Material and that the Licensor has authority to license.
+
+ h. Licensor means the individual(s) or entity(ies) granting rights
+ under this Public License.
+
+ i. Share means to provide material to the public by any means or
+ process that requires permission under the Licensed Rights, such
+ as reproduction, public display, public performance, distribution,
+ dissemination, communication, or importation, and to make material
+ available to the public including in ways that members of the
+ public may access the material from a place and at a time
+ individually chosen by them.
+
+ j. Sui Generis Database Rights means rights other than copyright
+ resulting from Directive 96/9/EC of the European Parliament and of
+ the Council of 11 March 1996 on the legal protection of databases,
+ as amended and/or succeeded, as well as other essentially
+ equivalent rights anywhere in the world.
+
+ k. You means the individual or entity exercising the Licensed Rights
+ under this Public License. Your has a corresponding meaning.
+
+
+Section 2 -- Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License,
+ the Licensor hereby grants You a worldwide, royalty-free,
+ non-sublicensable, non-exclusive, irrevocable license to
+ exercise the Licensed Rights in the Licensed Material to:
+
+ a. reproduce and Share the Licensed Material, in whole or
+ in part; and
+
+ b. produce, reproduce, and Share Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where
+ Exceptions and Limitations apply to Your use, this Public
+ License does not apply, and You do not need to comply with
+ its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section
+ 6(a).
+
+ 4. Media and formats; technical modifications allowed. The
+ Licensor authorizes You to exercise the Licensed Rights in
+ all media and formats whether now known or hereafter created,
+ and to make technical modifications necessary to do so. The
+ Licensor waives and/or agrees not to assert any right or
+ authority to forbid You from making technical modifications
+ necessary to exercise the Licensed Rights, including
+ technical modifications necessary to circumvent Effective
+ Technological Measures. For purposes of this Public License,
+ simply making modifications authorized by this Section 2(a)
+ (4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ a. Offer from the Licensor -- Licensed Material. Every
+ recipient of the Licensed Material automatically
+ receives an offer from the Licensor to exercise the
+ Licensed Rights under the terms and conditions of this
+ Public License.
+
+ b. No downstream restrictions. You may not offer or impose
+ any additional or different terms or conditions on, or
+ apply any Effective Technological Measures to, the
+ Licensed Material if doing so restricts exercise of the
+ Licensed Rights by any recipient of the Licensed
+ Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or
+ may be construed as permission to assert or imply that You
+ are, or that Your use of the Licensed Material is, connected
+ with, or sponsored, endorsed, or granted official status by,
+ the Licensor or others designated to receive attribution as
+ provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not
+ licensed under this Public License, nor are publicity,
+ privacy, and/or other similar personality rights; however, to
+ the extent possible, the Licensor waives and/or agrees not to
+ assert any such rights held by the Licensor to the limited
+ extent necessary to allow You to exercise the Licensed
+ Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this
+ Public License.
+
+ 3. To the extent possible, the Licensor waives any right to
+ collect royalties from You for the exercise of the Licensed
+ Rights, whether directly or through a collecting society
+ under any voluntary or waivable statutory or compulsory
+ licensing scheme. In all other cases the Licensor expressly
+ reserves any right to collect such royalties.
+
+
+Section 3 -- License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the
+following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified
+ form), You must:
+
+ a. retain the following if it is supplied by the Licensor
+ with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed
+ Material and any others designated to receive
+ attribution, in any reasonable manner requested by
+ the Licensor (including by pseudonym if
+ designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of
+ warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the
+ extent reasonably practicable;
+
+ b. indicate if You modified the Licensed Material and
+ retain an indication of any previous modifications; and
+
+ c. indicate the Licensed Material is licensed under this
+ Public License, and include the text of, or the URI or
+ hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any
+ reasonable manner based on the medium, means, and context in
+ which You Share the Licensed Material. For example, it may be
+ reasonable to satisfy the conditions by providing a URI or
+ hyperlink to a resource that includes the required
+ information.
+
+ 3. If requested by the Licensor, You must remove any of the
+ information required by Section 3(a)(1)(A) to the extent
+ reasonably practicable.
+
+ 4. If You Share Adapted Material You produce, the Adapter's
+ License You apply must not prevent recipients of the Adapted
+ Material from complying with this Public License.
+
+
+Section 4 -- Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that
+apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right
+ to extract, reuse, reproduce, and Share all or a substantial
+ portion of the contents of the database;
+
+ b. if You include all or a substantial portion of the database
+ contents in a database in which You have Sui Generis Database
+ Rights, then the database in which You have Sui Generis Database
+ Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share
+ all or a substantial portion of the contents of the database.
+
+For the avoidance of doubt, this Section 4 supplements and does not
+replace Your obligations under this Public License where the Licensed
+Rights include other Copyright and Similar Rights.
+
+
+Section 5 -- Disclaimer of Warranties and Limitation of Liability.
+
+ a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+
+ b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+
+ c. The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
+
+
+Section 6 -- Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and
+ Similar Rights licensed here. However, if You fail to comply with
+ this Public License, then Your rights under this Public License
+ terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under
+ Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided
+ it is cured within 30 days of Your discovery of the
+ violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ For the avoidance of doubt, this Section 6(b) does not affect any
+ right the Licensor may have to seek remedies for Your violations
+ of this Public License.
+
+ c. For the avoidance of doubt, the Licensor may also offer the
+ Licensed Material under separate terms or conditions or stop
+ distributing the Licensed Material at any time; however, doing so
+ will not terminate this Public License.
+
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
+ License.
+
+
+Section 7 -- Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different
+ terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the
+ Licensed Material not stated herein are separate from and
+ independent of the terms and conditions of this Public License.
+
+
+Section 8 -- Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and
+ shall not be interpreted to, reduce, limit, restrict, or impose
+ conditions on any use of the Licensed Material that could lawfully
+ be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is
+ deemed unenforceable, it shall be automatically reformed to the
+ minimum extent necessary to make it enforceable. If the provision
+ cannot be reformed, it shall be severed from this Public License
+ without affecting the enforceability of the remaining terms and
+ conditions.
+
+ c. No term or condition of this Public License will be waived and no
+ failure to comply consented to unless expressly agreed to by the
+ Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted
+ as a limitation upon, or waiver of, any privileges and immunities
+ that apply to the Licensor or You, including from the legal
+ processes of any jurisdiction or authority.
+
+
+=======================================================================
+
+Creative Commons is not a party to its public
+licenses. Notwithstanding, Creative Commons may elect to apply one of
+its public licenses to material it publishes and in those instances
+will be considered the “Licensor.” The text of the Creative Commons
+public licenses is dedicated to the public domain under the CC0 Public
+Domain Dedication. Except for the limited purpose of indicating that
+material is shared under a Creative Commons public license or as
+otherwise permitted by the Creative Commons policies published at
+creativecommons.org/policies, Creative Commons does not authorize the
+use of the trademark "Creative Commons" or any other trademark or logo
+of Creative Commons without its prior written consent including,
+without limitation, in connection with any unauthorized modifications
+to any of its public licenses or any other arrangements,
+understandings, or agreements concerning use of licensed material. For
+the avoidance of doubt, this paragraph does not form part of the
+public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/NOTICE.md b/NOTICE.md
index b9b139f45b..37ea8ca8af 100644
--- a/NOTICE.md
+++ b/NOTICE.md
@@ -18,12 +18,19 @@ source code repository logs.
## Declared Project Licenses
-This program and the accompanying materials are made available under the terms
-of the Apache License, Version 2.0 which is available at
-https://www.apache.org/licenses/LICENSE-2.0.
+The Tractus-X project uses the following licenses:
+- Apache-2.0 for code
+- CC-BY-4.0 for non-code
+
+Apache-2.0:
+This program and the accompanying materials are made available under the terms of the Apache License, Version 2.0 which is available at https://www.apache.org/licenses/LICENSE-2.0.
SPDX-License-Identifier: Apache-2.0
+CC-BY-4.0:
+The materials in this repository are made available under the terms of the Creative Commons Attribution 4.0 International License, which is available at https://spdx.org/licenses/CC-BY-4.0.html.
+SPDX-License-Identifier: CC-BY-4.0
+
## Source Code
The project maintains the following source code repositories
diff --git a/README.md b/README.md
index 05dde42a60..261e31ff7f 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
Traceability FOSS
-[![Apache 2 License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://github.com/eclipse-tractusx/traceability-foss/LICENSE)
+[![Apache 2 License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://github.com/eclipse-tractusx/traceability-foss/blob/main/LICENSE)
+[![CC BY 4.0 License](https://img.shields.io/badge/Non--code_license-CC%20BY%204.0-orange.svg)](https://github.com/eclipse-tractusx/traceability-foss/blob/main/LICENSE_non-code)
[![QG Backend](https://sonarcloud.io/api/project_badges/measure?project=eclipse-tractusx_traceability-foss-backend&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=eclipse-tractusx_traceability-foss-backend)
[![QG Frontend](https://sonarcloud.io/api/project_badges/measure?project=eclipse-tractusx_traceability-foss-frontend&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=eclipse-tractusx_traceability-foss-frontend)
[![Kics](https://github.com/eclipse-tractusx/traceability-foss/actions/workflows/kics.yml/badge.svg)](https://github.com/eclipse-tractusx/traceability-foss/actions/workflows/kics.yml)
@@ -13,6 +14,9 @@
## Table of Contents
- [Trace-X](https://github.com/eclipse-tractusx/traceability-foss/#trace-x-is-a-system-for-tracking-parts-along-the-supply-chain)
+ - [Introduction](#introduction)
+ - [Vision and Mission Statement](#vision-and-mission-statement)
+ - [Trace-X Feature list](#trace-x-feature-list)
- [How to contribute](https://github.com/eclipse-tractusx/traceability-foss/#how-to-contribute)
- [Releasing](https://github.com/eclipse-tractusx/traceability-foss/#releasing)
- [Environments](https://github.com/eclipse-tractusx/traceability-foss/#environments)
@@ -31,7 +35,33 @@
- [Backend Testing strategy](#backend-testing-strategy)
- [API documentation](https://github.com/eclipse-tractusx/traceability-foss/#api-documentation)
- [Container Image](https://github.com/eclipse-tractusx/traceability-foss/#container-image)
- - [License](https://github.com/eclipse-tractusx/traceability-foss/#license)
+ - [Licenses](https://github.com/eclipse-tractusx/traceability-foss/#licenses)
+
+## Introduction
+
+### Vision and Mission Statement
+Trace-X empowers all companies from SMEs to large OEMs to participate in parts traceability with an Open-Source solution.
+
+The Open-Source Traceability application is developed within the Catena-X project and enables all companies to participate in Parts Traceability.
+Trace-X offers capabilities to ingest data for serialized parts and batches as well as their child components. Within CX, we strive to establish a standardized, data-sovereign and interoperable exchange of traceability data along the value creation chain.
+
+The application gives an overview of the supplier network and the supply chain. A high level of transparency across the supplier network enables faster intervention based on recorded events in the supply chain. Additionally, automated massages regarding Quality related incidents and a tool for inspecting the supply chain helps companies in these fast-moving times.
+
+All this saves' costs by seamlessly tracking parts as well as creates trust through clearly defined and secure data access by the companies and persons involved in the process.
+
+### Trace-X Feature list
+Trace-X as the Open-Source solution for Parts Traceability offers the following functionalities:
+
+* List and view manufactured parts based on BoM AsBuild
+* List and view planned parts based on BoM AsPlanned
+* Filter and Search functionality on part views
+* Show detailed information on manufactured parts
+** Asset Administration Shell description
+** Submodel description such as SerialPartTypization, AssemblyPartRelationship, Batch
+* List and view Supplier parts based on BoM As Build
+** List of Supplier parts based on AssemblyPartRelationship Aspect
+* View parts and parts relations in parts tree
+* Send and receive quality investigations along the supply chain
## How to contribute
@@ -123,9 +153,10 @@ See [TESTING](tx-backend/TESTING.md).
The project follows [OpenAPI Specification](https://swagger.io/specification/) in order to document implemented REST Endpoints. The documentation can be found under [/openapi directory](https://github.com/eclipse-tractusx/traceability-foss/blob/main/tx-backend/openapi/traceability-foss-backend.json)
or can be viewed in the Swagger UI accessing the url: `{projectBasePath}/api/swagger-ui/index.html`
-## License
+## Licenses
-[Apache License 2.0](https://github.com/eclipse-tractusx/traceability-foss/blob/main/LICENSE)
+* [Apache License 2.0](https://github.com/eclipse-tractusx/traceability-foss/blob/main/LICENSE)
+* [CC BY 4.0 License](https://github.com/eclipse-tractusx/traceability-foss/blob/main/LICENSE_non-code)
## Notice for Docker image
diff --git a/docs/RELEASE.md b/docs/RELEASE.md
index a2d52d4eab..00dec9489d 100644
--- a/docs/RELEASE.md
+++ b/docs/RELEASE.md
@@ -3,6 +3,35 @@