Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
586ff91
initial setup for scorex CLI
Tim-Tr Jan 15, 2026
c435042
setup init command in scorex cli
Tim-Tr Jan 15, 2026
b6cdf65
added templates for scorex cli
Tim-Tr Jan 15, 2026
70152c1
moved skeleton generation to skeleten_generator.go in scorex cli
Tim-Tr Jan 15, 2026
43ad1e3
made (minimal) working template in scorex cli
Tim-Tr Jan 15, 2026
c2c0616
add bazelversion to template of scorex cli
Tim-Tr Jan 15, 2026
c523411
updated copyiright headers
Tim-Tr Jan 15, 2026
b204d0f
add README.md for scorex cli
Tim-Tr Jan 15, 2026
3d31286
extracted hardcoded values to config.go in scorex cli
Tim-Tr Jan 16, 2026
48fa8c4
add feo and daal applications as seperate templates in scorex cli
Tim-Tr Jan 16, 2026
58ec23a
adapted DAAL example to template in scorex cli
Tim-Tr Jan 19, 2026
274efc8
enhanced module loading in scorex cli
Tim-Tr Jan 19, 2026
5b92516
fixed url with score prefix in scorex cli
Tim-Tr Jan 19, 2026
a0a2d50
fixed inc_daal dependency in scorex cli
Tim-Tr Jan 19, 2026
c7f23ac
add dialog option to init command in scorex cli
Tim-Tr Jan 19, 2026
93aa9fb
add template folder for modules in scorex cli
Tim-Tr Jan 19, 2026
329bfc1
added json config for scorex cli
Tim-Tr Jan 19, 2026
0467138
added feo hello_world app in scorex cli
Tim-Tr Jan 19, 2026
1004ea6
cleaned init.go in scorex cli
Tim-Tr Jan 20, 2026
f233835
refactored scorex cli
Tim-Tr Jan 20, 2026
d69ac95
improved init.go in scorex cli
Tim-Tr Jan 20, 2026
59c3245
add .devcontainer option to daal in scorex cli
Tim-Tr Jan 21, 2026
ee7243d
remove deprecated resolver.go in scorex cli
Tim-Tr Jan 21, 2026
78874ae
enhance module selection in init of scorex cli
Tim-Tr Jan 21, 2026
c381f4c
fixed feo skeleton application in scorex cli
Tim-Tr Jan 21, 2026
628aaee
add module_presets to scorex cli
Tim-Tr Jan 21, 2026
aa8ff49
improved layout of MODULE.bazel templates in scorex cli
Tim-Tr Jan 21, 2026
ffa6b54
adapted .devcontainer from eclipse-score in scorex cli
Tim-Tr Jan 21, 2026
eb9d7a6
fixed .devcontainer template in scorex cli
Tim-Tr Jan 21, 2026
e80d615
added golang build and workflow change
FScholPer Jan 22, 2026
706ff8a
add gazelle generated build files
FScholPer Jan 22, 2026
f656965
fix visibility
FScholPer Jan 22, 2026
a6a7808
readd go.mod
FScholPer Jan 22, 2026
1bb82bd
fixed copyright
FScholPer Jan 22, 2026
643f0cf
added devcontainer
FScholPer Jan 22, 2026
58c0d3d
fixed copyright
FScholPer Jan 22, 2026
e9d7cdb
added scorex to main readme
FScholPer Jan 22, 2026
55fae54
fixed build
FScholPer Jan 22, 2026
ce87082
added dedicated cli workflow
FScholPer Jan 23, 2026
af24401
switched tooling
FScholPer Jan 23, 2026
915a843
added version
FScholPer Jan 23, 2026
02c2861
added three main platforms
FScholPer Jan 23, 2026
311a48a
added scoop and brew for install
FScholPer Jan 26, 2026
11d9d7b
fixed wrong binary name for win
FScholPer Jan 26, 2026
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
2 changes: 2 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/
common --registry=https://bcr.bazel.build

# Build stamping for version info
build --workspace_status_command=$(pwd)/bazel_stamp_vars.sh

build:_common --@score_baselibs//score/mw/log/detail/flags:KUse_Stub_Implementation_Only=False
build:_common --@score_baselibs//score/mw/log/flags:KRemote_Logging=False
Expand Down
4 changes: 4 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"name": "eclipse-s-core",
"image": "ghcr.io/eclipse-score/devcontainer:v1.1.0"
}
77 changes: 77 additions & 0 deletions .github/workflows/build-cli.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# *******************************************************************************
# Copyright (c) 2025 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
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
name: Scrample Build CLI
on:
pull_request:
types: [opened, reopened, synchronize]
merge_group:
types: [checks_requested]
jobs:
gazelle-and-go-build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Setup Bazel
uses: bazel-contrib/setup-bazel@0.9.0
with:
bazelisk-cache: true
disk-cache: ${{ github.workflow }}
repository-cache: true

- name: Run Gazelle
run: bazel run //:gazelle

- name: Set version
id: version
run: |
# Get short commit SHA
SHORT_SHA=$(git rev-parse --short HEAD)
# Create version string
if [ "${{ github.event_name }}" == "pull_request" ]; then
VERSION="pr-${{ github.event.pull_request.number }}-${SHORT_SHA}"
else
VERSION="${SHORT_SHA}"
fi
echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT
echo "Building version: ${VERSION}"

- name: Build scorex for Linux (x86_64)
run: VERSION=${{ steps.version.outputs.VERSION }} bazel build //scorex:scorex_linux_amd64

- name: Copy Linux binary
run: |
mkdir -p artifacts
cp bazel-bin/scorex/scorex_linux_amd64_/scorex_linux_amd64 artifacts/scorex-linux-x86_64

- name: Build scorex for macOS (Apple Silicon)
run: VERSION=${{ steps.version.outputs.VERSION }} bazel build //scorex:scorex_darwin_arm64

- name: Copy macOS binary
run: cp bazel-bin/scorex/scorex_darwin_arm64_/scorex_darwin_arm64 artifacts/scorex-macos-arm64

- name: Build scorex for Windows (x86_64)
run: VERSION=${{ steps.version.outputs.VERSION }} bazel build //scorex:scorex_windows_amd64

- name: Copy Windows binary
run: cp bazel-bin/scorex/scorex_windows_amd64_/scorex_windows_amd64.exe artifacts/scorex-windows-x86_64.exe

- name: Upload CLI artifacts
uses: actions/upload-artifact@v4
with:
name: scorex-cli-${{ steps.version.outputs.VERSION }}
path: artifacts/
if-no-files-found: error
88 changes: 88 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# *******************************************************************************
# Copyright (c) 2025 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
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
name: Release scorex CLI

on:
push:
tags:
- 'v*'

jobs:
build-and-release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Bazel
uses: bazel-contrib/setup-bazel@0.9.0
with:
bazelisk-cache: true
disk-cache: ${{ github.workflow }}
repository-cache: true

- name: Run Gazelle
run: bazel run //:gazelle

- name: Get version from tag
id: version
run: |
VERSION=${GITHUB_REF#refs/tags/v}
echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT
echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
echo "Building version: ${VERSION}"

- name: Build scorex for Linux (x86_64)
run: VERSION=${{ steps.version.outputs.VERSION }} bazel build //scorex:scorex_linux_amd64

- name: Build scorex for macOS (Apple Silicon)
run: VERSION=${{ steps.version.outputs.VERSION }} bazel build //scorex:scorex_darwin_arm64

- name: Build scorex for macOS (Intel)
run: VERSION=${{ steps.version.outputs.VERSION }} bazel build //scorex:scorex_darwin_amd64

- name: Build scorex for Windows (x86_64)
run: VERSION=${{ steps.version.outputs.VERSION }} bazel build //scorex:scorex_windows_amd64

- name: Prepare release artifacts
run: |
mkdir -p release
cp bazel-bin/scorex/scorex_linux_amd64_/scorex_linux_amd64 release/scorex-linux-x86_64
cp bazel-bin/scorex/scorex_darwin_arm64_/scorex_darwin_arm64 release/scorex-macos-arm64
cp bazel-bin/scorex/scorex_darwin_amd64_/scorex_darwin_amd64 release/scorex-macos-x86_64
cp bazel-bin/scorex/scorex_windows_amd64_/scorex_windows_amd64.exe release/scorex-windows-x86_64.exe

# Create compressed archives
cd release
tar -czf scorex-${{ steps.version.outputs.VERSION }}-linux-x86_64.tar.gz scorex-linux-x86_64
tar -czf scorex-${{ steps.version.outputs.VERSION }}-macos-arm64.tar.gz scorex-macos-arm64
tar -czf scorex-${{ steps.version.outputs.VERSION }}-macos-x86_64.tar.gz scorex-macos-x86_64
zip scorex-${{ steps.version.outputs.VERSION }}-windows-x86_64.zip scorex-windows-x86_64.exe

# Generate checksums
sha256sum *.tar.gz *.zip > checksums.txt

- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: |
release/scorex-${{ steps.version.outputs.VERSION }}-linux-x86_64.tar.gz
release/scorex-${{ steps.version.outputs.VERSION }}-macos-arm64.tar.gz
release/scorex-${{ steps.version.outputs.VERSION }}-macos-x86_64.tar.gz
release/scorex-${{ steps.version.outputs.VERSION }}-windows-x86_64.zip
release/checksums.txt
generate_release_notes: true
draft: false
prerelease: false
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@
*.dll

# Fortran module files
*.mod
*.smod

# Go module file exception - allow go.mod files
!go.mod

# Compiled Static libraries
*.lai
*.la
Expand Down
4 changes: 4 additions & 0 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,13 @@
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

load("@bazel_gazelle//:def.bzl", "gazelle")
load("@score_docs_as_code//:docs.bzl", "docs")
load("@score_tooling//:defs.bzl", "copyright_checker", "dash_license_checker", "setup_starpls", "use_format_targets")
load("//:project_config.bzl", "PROJECT_CONFIG")

gazelle(name = "gazelle")

setup_starpls(
name = "starpls_server",
visibility = ["//visibility:public"],
Expand All @@ -23,6 +26,7 @@ setup_starpls(
copyright_checker(
name = "copyright",
srcs = [
"scorex",
"src",
"tests",
"//:BUILD",
Expand Down
50 changes: 44 additions & 6 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ python.toolchain(
is_default = True,
python_version = PYTHON_VERSION,
)
use_repo(python)
use_repo(python, "python_versions")

# Configure the target toolchain.
bazel_dep(name = "score_toolchains_qnx", version = "0.0.2", dev_dependency = True)
Expand All @@ -49,9 +49,6 @@ bazel_dep(name = "rules_rust", version = "0.61.0")

rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
rust.toolchain(edition = "2021")
use_repo(rust, "rust_toolchains")

register_toolchains("@rust_toolchains//:all")

# Add boost dependency
bazel_dep(name = "rules_boost", repo_name = "com_github_nelhage_rules_boost")
Expand All @@ -67,12 +64,13 @@ bazel_dep(name = "boost.program_options", version = "1.87.0")
bazel_dep(name = "rules_cc", version = "0.2.1")

# tooling
bazel_dep(name = "score_tooling", version = "1.0.2")
bazel_dep(name = "score_tooling", version = "1.0.5")
bazel_dep(name = "aspect_rules_lint", version = "1.5.3")
bazel_dep(name = "buildifier_prebuilt", version = "8.2.0.2")

#docs-as-code
bazel_dep(name = "score_docs_as_code", version = "2.0.2")
bazel_dep(name = "score_docs_as_code", version = "2.3.3")
bazel_dep(name = "score_process", version = "1.4.2")
bazel_dep(name = "score_baselibs", version = "0.1.3")
bazel_dep(name = "score_communication", version = "0.1.1")
bazel_dep(name = "platforms", version = "1.0.0")
Expand All @@ -85,3 +83,43 @@ git_override(
commit = "ede35c4411d41abe42b8f19e78f8989ff79ad3d8",
remote = "https://github.com/bmw-software-engineering/trlc.git",
)

bazel_dep(name = "rules_go", version = "0.59.0")
bazel_dep(name = "gazelle", version = "0.42.0", repo_name = "bazel_gazelle")

go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk")
go_sdk.download(
name = "go_sdk",
version = "1.23.5",
)
go_sdk.download(
name = "go_linux_amd64",
goarch = "amd64",
goos = "linux",
version = "1.23.5",
)
go_sdk.download(
name = "go_darwin_arm64",
goarch = "arm64",
goos = "darwin",
version = "1.23.5",
)
go_sdk.download(
name = "go_windows_amd64",
goarch = "amd64",
goos = "windows",
version = "1.23.5",
)
go_sdk.download(
name = "go_darwin_amd64",
goarch = "amd64",
goos = "darwin",
version = "1.23.5",
)

go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//scorex:go.mod")
use_repo(
go_deps,
"com_github_spf13_cobra",
)
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,10 +144,17 @@ scrample/
├── tests/
│ ├── cpp/ # C++ unit tests (GoogleTest)
│ └── rust/ # Rust tests
├── scorex/ # CLI tool for generating S-CORE projects
│ ├── main.go # Entry point
│ ├── cmd/ # Cobra CLI commands
│ ├── internal/ # Internal packages
│ └── README.md # scorex documentation
├── docs/ # Sphinx documentation
└── BUILD # Bazel build definitions
```

**For information about the scorex CLI tool, see [scorex/README.md](scorex/README.md).**

## Development

### Code Formatting
Expand Down
7 changes: 7 additions & 0 deletions bazel_stamp_vars.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
# Stable status values - these cause a rebuild when changed
cat <<EOF
STABLE_VERSION ${VERSION:-dev}
STABLE_GIT_COMMIT $(git rev-parse HEAD 2>/dev/null || echo "unknown")
STABLE_BUILD_DATE $(date -u +"%Y-%m-%dT%H:%M:%SZ")
EOF
Loading
Loading