diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c12f8b1c1..25b057b69 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,6 +29,11 @@ jobs: cache: maven - name: Build with Maven run: ./mvnw -B clean verify --file pom.xml + - name: Upload SysML Library .kpar files + uses: actions/upload-artifact@v5 + with: + name: sysml-library-kpar + path: sysml.library/output/*.kpar - name: Publish Test Report uses: mikepenz/action-junit-report@v5 if: success() || failure() # always run even if the previous step fails diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml index 505288ea6..9a4d08ee5 100644 --- a/.github/workflows/maven-publish.yml +++ b/.github/workflows/maven-publish.yml @@ -31,3 +31,40 @@ jobs: run: ./mvnw -B deploy -DskipTests=true env: GITHUB_TOKEN: ${{ github.token }} # GITHUB_TOKEN is the default env for the password + - name: Upload SysML Library .kpar files + uses: actions/upload-artifact@v5 + with: + name: sysml-library-kpar + path: sysml.library/output/*.kpar + + release: + name: Release + runs-on: ubuntu-latest + needs: [build] + if: ${{ startsWith(github.ref, 'refs/tags/') }} + permissions: + # Use to sign the release artifacts + id-token: write + # Used to upload release artifacts + contents: write + # Used to generate artifact attestation + attestations: write + steps: + - uses: actions/download-artifact@v6 + with: + name: sysml-library-kpar + path: kpars + - name: Generate artifact attestation + uses: actions/attest-build-provenance@v3 + with: + subject-path: 'kpars/*.kpar' + - name: Create a release + uses: softprops/action-gh-release@v2 + with: + make_latest: true + files: | + kpars/* + overwrite_files: false + body: + append_body: true + name: ${{ github.event.inputs.tag_name || github.event.release.tag_name }} - SysML v2 Pilot Implementation diff --git a/.gitignore b/.gitignore index b4874ece2..fe9a83318 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,5 @@ dependency-reduced-pom.xml # MacOS Finder .DS_Store +# Built libraries +*.kpar diff --git a/pom.xml b/pom.xml index 4ddaa5ebc..96cf0cb2b 100644 --- a/pom.xml +++ b/pom.xml @@ -28,6 +28,7 @@ 3.5.3 3.2.0 2.3.19 + 0.0.6 4.0.0 @@ -293,6 +294,23 @@ + + + com.sensmetry + sysand-maven-plugin + ${sysand-maven-plugin.version} + + + + build-kpar + + + + + ${maven.multiModuleProjectDirectory}/sysml.library + ${maven.multiModuleProjectDirectory}/sysml.library/output + + diff --git a/sysml.library/.workspace.json b/sysml.library/.workspace.json new file mode 100644 index 000000000..7a6b915b2 --- /dev/null +++ b/sysml.library/.workspace.json @@ -0,0 +1,64 @@ +{ + "projects": [ + { + "path": "Domain Libraries/Analysis", + "iris": [ + "urn:kpar:SysML-Analysis-Library" + ] + }, + { + "path": "Domain Libraries/Cause and Effect", + "iris": [ + "urn:kpar:SysML-Cause-and-Effect-Library" + ] + }, + { + "path": "Domain Libraries/Geometry", + "iris": [ + "urn:kpar:SysML-Geometry-Library" + ] + }, + { + "path": "Domain Libraries/Metadata", + "iris": [ + "urn:kpar:SysML-Metadata-Library" + ] + }, + { + "path": "Domain Libraries/Quantities and Units", + "iris": [ + "urn:kpar:SysML-Quantities-and-Units-Library" + ] + }, + { + "path": "Domain Libraries/Requirement Derivation", + "iris": [ + "urn:kpar:SysML-Requirement-Derivation-Library" + ] + }, + { + "path": "Kernel Libraries/Kernel Data Type Library", + "iris": [ + "urn:kpar:Kernel-Data-Type-Library" + ] + }, + { + "path": "Kernel Libraries/Kernel Function Library", + "iris": [ + "urn:kpar:Kernel-Function-Library" + ] + }, + { + "path": "Kernel Libraries/Kernel Semantic Library", + "iris": [ + "urn:kpar:Kernel-Semantic-Library" + ] + }, + { + "path": "Systems Library", + "iris": [ + "urn:kpar:SysML-Systems-Library" + ] + } + ] +} \ No newline at end of file diff --git a/sysml.library/Domain Libraries/Requirement Derivation/.meta.json b/sysml.library/Domain Libraries/Requirement Derivation/.meta.json index 69a4f9126..54b3311d2 100644 --- a/sysml.library/Domain Libraries/Requirement Derivation/.meta.json +++ b/sysml.library/Domain Libraries/Requirement Derivation/.meta.json @@ -1,7 +1,7 @@ { "index": { "DerivationConnections": "DerivationConnections.sysml", - "RequirementsDerivation": "RequirementsDerivation.sysml" + "RequirementDerivation": "RequirementDerivation.sysml" }, "created": "2025-03-13T00:00:00Z", "metamodel": "https://www.omg.org/spec/SysML/20250201" diff --git a/sysml.library/Systems Library/.meta.json b/sysml.library/Systems Library/.meta.json index da20c57e7..d670a6730 100644 --- a/sysml.library/Systems Library/.meta.json +++ b/sysml.library/Systems Library/.meta.json @@ -2,7 +2,7 @@ "index": { "Actions": "Actions.sysml", "Allocations": "Allocations.sysml", - "AnalysisCases": "AnalysisCase.sysml", + "AnalysisCases": "AnalysisCases.sysml", "Attributes": "Attributes.sysml", "Calculations": "Calculations.sysml", "Cases": "Cases.sysml",