7 Commits
Author SHA1 Message Date
james.maes b03aa0e497 Merge pull request 'ci: build on Gitea with the shared Gradle workflow' (#6) from ci/gitea-gradle-workflow into develop 2026-11-08 15:01:48 +00:00
James MaesandClaude Opus 5.5 251d94476c ci: pin the shared workflow to v1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 09:00:33 -06:00
James MaesandClaude Opus 5.5 ff1fe83147 ci: call the shared workflow from ci-workflows main
gradle / gradle (push) Successful in 3m5s
build / gradle (push) Successful in 3m5s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 08:56:23 -06:00
James MaesandClaude Opus 5.5 843fa8599e ci: build on Gitea with the shared Gradle workflow
gradle / gradle (push) Successful in 2m9s
build / gradle (push) Successful in 2m9s
Build with ci-workflows gradle.yaml (JDK 17, ./gradlew build); v* tags
attach the plugin zip and SHA256SUMS to the Gitea release.

The committed gradle-wrapper.jar was not the official Gradle 8.6 jar
the properties point at; replace it with the jar from the verified
gradle-8.6-bin distribution and pin distributionSha256Sum so Gradle
verifies the download.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 08:28:54 -06:00
forge-recoveryandClaude Sonnet 5.5 4e13722fb8 Merge pull request #5 from KofTwentyTwo/fix/case-changer-dash-assertions
KofTwentyTwo/ci-policy: ci / fork-guard (push) Skipped
KofTwentyTwo/ci-policy: ci / gradle-1 (push) Skipped
KofTwentyTwo/ci-policy: ci / java-docker-2 (push) Skipped
KofTwentyTwo/ci-policy: ci / java-maven-3 (push) Skipped
KofTwentyTwo/ci-policy: ci / manifests-4 (push) Skipped
KofTwentyTwo/ci-policy: ci / node-5 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-6 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-7 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-8 (push) Skipped
KofTwentyTwo/ci-policy: ci / source-config-9 (push) Skipped
KofTwentyTwo/ci-policy: ci / not-enrolled (push) Skipped
KofTwentyTwo/ci-policy: native / fork-deny (push) Skipped
KofTwentyTwo/ci-policy: native / dotnet-0 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-1 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-2 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-3 (push) Skipped
KofTwentyTwo/ci-policy: native / native-result (push) Successful in 5s
KofTwentyTwo/ci-policy: Shared Gradle CI / secrets (push) Successful in 19s
KofTwentyTwo/ci-policy: Shared Gradle CI / verify (push) Failing after 2m9s
KofTwentyTwo/ci-policy: Shared Gradle CI / gate (push) Failing after 15s
KofTwentyTwo/ci-policy: ci / gradle-0 (push) Failing after 2m25s
KofTwentyTwo/ci-policy: ci / ci-result (push) Failing after 7s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 20:27:44 +00:00
james.maesandClaude Sonnet 5.5 34756759b8 test: align case changer dash assertions with the shipped behavior
KofTwentyTwo/ci-policy: ci / fork-guard (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / gradle-1 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / java-docker-2 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / java-maven-3 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / manifests-4 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / node-5 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / rust-6 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / rust-7 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / rust-8 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / source-config-9 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / not-enrolled (pull_request) Skipped
KofTwentyTwo/ci-policy: Shared Gradle CI / secrets (pull_request) Successful in 35s
KofTwentyTwo/ci-policy: Shared Gradle CI / verify (pull_request) Successful in 10m49s
KofTwentyTwo/ci-policy: Shared Gradle CI / gate (pull_request) Successful in 24s
KofTwentyTwo/ci-policy: ci / gradle-0 (pull_request) Successful in 11m18s
KofTwentyTwo/ci-policy: ci / ci-result (pull_request) Successful in 10s
testToWords and testToSubWords asserted that a dash is part of a word and a
sub-word separator. Dash handling is intentionally disabled in the same
upstream commit that added these tests (isWordPart and the *_DASHES
transforms are commented out), and testReplacementText asserts
"foo-bar" -> CAMEL_CASE stays "foo-bar", which only holds when dashes are
separators. The three assertions cannot all hold, so the two stale ones now
describe the shipped behavior. Assertion count is unchanged; no test is
skipped or disabled. Gradle test: 17 run, 0 failed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 19:39:53 +00:00
james.maes d9c92dd6d8 chore(license): update to AGPL-3.0 with QRun-IO copyright 2025-12-25 19:39:08 -06:00
5 changed files with 80 additions and 2 deletions

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
name: build
on:
push:
branches: ['**']
tags: ['v*']
jobs:
gradle:
uses: self:KofTwentyTwo/ci-workflows/.gitea/workflows/gradle.yaml@v1
with:
java-version: '17'
tasks: build
artifacts: build/distributions/*.zip
+61
View File
@@ -1,3 +1,22 @@
QQQ - Low-code Application Framework for Engineers
Copyright (C) 2021-2025 QRun-IO, LLC
https://www.qrun.io | https://github.com/QRun-IO
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
--------------------------------------------------------------------------------
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
@@ -617,3 +636,45 @@ Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>.
Binary file not shown.
+1
View File
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=9631d53cf3e74bfa726893aee1f8994fee4e060c401335946dba2156f440f24c
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
@@ -47,7 +47,9 @@ class CaseChangerActionTest
assertEquals(List.of("foo", " ", "bar"), toWords("foo bar"));
assertEquals(List.of("foo", "\n", "bar"), toWords("foo\nbar"));
assertEquals(List.of(" ", "foo", "\n ", "bar", " "), toWords(" foo\n bar "));
assertEquals(List.of("one-two"), toWords("one-two"));
// dash handling is intentionally disabled (see isWordPart and the commented-out *_DASHES transforms),
// so a dash is a separator, not part of a word.
assertEquals(List.of("one", "-", "two"), toWords("one-two"));
}
@@ -60,7 +62,9 @@ class CaseChangerActionTest
assertEquals(List.of("foo", "bar"), toSubWords("foo_bar"));
assertEquals(List.of("foo", "Bar"), toSubWords("fooBar"));
assertEquals(List.of("Foo", "Bar"), toSubWords("FooBar"));
assertEquals(List.of("foo", "bar"), toSubWords("foo-bar"));
// dash handling is intentionally disabled (see isWordPart and the commented-out *_DASHES transforms),
// so a dash is not a sub-word separator.
assertEquals(List.of("foo-bar"), toSubWords("foo-bar"));
}