Skip to content

chore: register terasologylauncher as a GDD component - #28

Open
soloturn wants to merge 2 commits into
SiliconSaga:mainfrom
soloturn:chore/add-terasologylauncher-component
Open

chore: register terasologylauncher as a GDD component#28
soloturn wants to merge 2 commits into
SiliconSaga:mainfrom
soloturn:chore/add-terasologylauncher-component

Conversation

@soloturn

@soloturn soloturn commented Aug 9, 2026

Copy link
Copy Markdown

AI-assisted change proposal. Filed by agent driven by @soloturn via GDD.

Summary

  • Registers terasologylauncher as a GDD component (supporting tier, no forkRepo — fork destination is per-user, not fixed here).
  • Adds its adapter (build/test/lint/run/clean → the actual Gradle commands).

Test plan

  • ws clone terasologylauncher succeeds.

Related

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Review Change Stack

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: dbed9a33-49f6-4c95-8d4f-b96e61028385

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Added Terasology Launcher to the supported application ecosystem.
    • Added standardized workflows for building, testing, linting, running, and cleaning the launcher.
  • Documentation

    • Linked development guidance covering setup, dependency-locking modes, and contribution practices.

Walkthrough

The PR registers TerasologyLauncher as a tier-3 ecosystem component and adds Gradle build, test, lint, run, and clean commands with a README context pointer.

Changes

TerasologyLauncher integration

Layer / File(s) Summary
Launcher registration and commands
ecosystem.yaml, adapters/terasologylauncher.yaml
Registers the terasologylauncher component with its namespace and upstream repository. Adds Gradle command mappings and an ai_context entry for README.md.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested reviewers: cervator

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely states that the pull request registers Terasology Launcher as a GDD component.
Description check ✅ Passed The description accurately explains the component registration and adapter changes, and it includes a relevant test plan.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@adapters/terasologylauncher.yaml`:
- Line 3: Update the TerasologyLauncher adapter’s build command from the Gradle
jar-only task to the documented build task, so the build flow compiles sources,
runs tests, and creates the JAR when invoking the adapter’s build operation.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: db7570df-b482-4c66-a040-b31b9cadc456

📥 Commits

Reviewing files that changed from the base of the PR and between 55f90cf and 22c4aff.

📒 Files selected for processing (2)
  • adapters/terasologylauncher.yaml
  • ecosystem.yaml

Comment thread adapters/terasologylauncher.yaml Outdated
@@ -0,0 +1,11 @@
# terasologylauncher adapter — build/test commands and AI context pointers
commands:
build: "./gradlew jar"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== candidate repo files =="
git ls-files | rg '(^|/)(README\.md|gradle\.properties|settings\.gradle|build\.gradle(\.kts)?|terasologylauncher\.yaml)$' || true

echo
echo "== adapters/terasologylauncher.yaml =="
if [ -f adapters/terasologylauncher.yaml ]; then
  cat -n adapters/terasologylauncher.yaml
fi

echo
echo "== Gradle build command occurrences in READMEs =="
for f in $(git ls-files | rg 'README\.md$'); do
  if rg -n "gradlew build|build task|run tests|compiling" "$f" >/dev/null; then
    echo "--- $f"
    rg -n -C 3 "gradlew build|Build the project|building the JAR|build task|run tests|tests?|gradlew jar" "$f" || true
  fi
done

echo
echo "== TerasologyLauncher gradle files =="
for f in $(git ls-files | rg 'TerasologyLauncher.*gradle|build\.gradle|settings\.gradle'); do
  if echo "$f" | rg 'Terasol|terasology|build\.gradle|settings\.gradle' >/dev/null; then
    echo "--- $f"
    sed -n '1,220p' "$f"
  fi
done

Repository: SiliconSaga/realm-siliconsaga

Length of output: 839


🌐 Web query:

MovingBlocks TerasologyLauncher README gradlew build compile run tests build JAR

💡 Result:

To build, compile, and run the TerasologyLauncher from source, you can utilize the Gradle wrapper (gradlew) provided in the repository [1][2]. The following commands are commonly used for development and building [1][2]: gradlew build: Compiles the source code, runs the tests, and builds a JAR file [1][2]. gradlew run: Builds and runs the launcher [1][2]. gradlew install: Creates a local runnable installation of the launcher, which is placed in the./build/install/TerasologyLauncher directory [1][2]. gradlew createRelease: Creates a local development release, which is located in the./build/distributions directory [1][2]. gradlew tasks: Displays a list of all other available build script tasks [1][2]. The project documentation recommends using IntelliJ IDEA for development, though other setups are possible [1][2]. For additional information on contributing and development workflows, you can refer to the CONTRIBUTING.md file in the repository [1][3].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
import re
from urllib.request import urlopen
import ssl

ssl_ctx = ssl.create_default_context()
ssl_ctx.check_hostname = False
ssl_ctx.verify_mode = ssl.CERT_NONE

urls = [
    "https://raw.githubusercontent.com/MovingBlocks/TerasologyLauncher/master/README.md",
    "https://raw.githubusercontent.com/MovingBlocks/TerasologyLauncher/master/build.gradle",
]
for url in urls:
    print(f"\n== {url} ==")
    try:
        text = urlopen(url, context=ssl_ctx, timeout=30).read().decode("utf-8")
        print("lines:", len(text.splitlines()))
        # Extract relevant Gradle sections and README build section.
        for pat in [r"gradlew build:(.*?)(?:\n\n|\n[`]{3}\n|$)", r"build\s*\{", r"tasks\.jar"], re.S:
            for m in re.finditer(pat, text):
                snippet = m.group(0).splitlines()[:80]
                print(f"\n--- pattern: {pat[:60]} ---")
                for line in snippet:
                    print(line)
    except Exception as e:
        print(f"ERROR: {e}")
PY

echo
echo "== local adapter snippet =="
sed -n '1,20p' adapters/terasologylauncher.yaml

Repository: SiliconSaga/realm-siliconsaga

Length of output: 794


Use the documented build task.

./gradlew jar only runs the JAR task. The upstream TerasologyLauncher README defines gradlew build as compiling the source, running the tests, and building the JAR. With the current mapping, ws build terasologylauncher can succeed without those build checks.

Proposed fix
-  build: "./gradlew jar"
+  build: "./gradlew build"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
build: "./gradlew jar"
build: "./gradlew build"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@adapters/terasologylauncher.yaml` at line 3, Update the TerasologyLauncher
adapter’s build command from the Gradle jar-only task to the documented build
task, so the build flow compiles sources, runs tests, and creates the JAR when
invoking the adapter’s build operation.

@soloturn
soloturn force-pushed the chore/add-terasologylauncher-component branch from 22c4aff to c7efd55 Compare August 16, 2026 08:00
`jar` skips tests. `build` compiles, tests, jars — matches upstream README.
CodeRabbit finding on SiliconSaga#28.

Co-Authored-By: soloturn <soloturn@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant