Shared library consumption
The source for meal-domain, meal-data, meal-catalog and so-compose belongs
to sysout-dev/sysout-platform/sysout-platform (project 87989353). Homey consumes
the same Maven publications as Little Bloomers. This move preserves Kotlin packages,
public APIs, dependency versions and application behavior. Homey’s app remains
version 1.5 / code 6; the source-ownership migration does not publish an app release.
Coordinates: dev.sysout.homey:meal-domain:0.4.0, meal-data:0.4.0,
meal-catalog:0.4.0, and dev.sysout.tech:so-compose:0.1.0.
settings.gradle.kts includes only :app. The two Sysout groups resolve
exclusively from https://gitlab.com/api/v4/projects/87989353/packages/maven;
app/build.gradle.kts declares the four external dependencies. The four library
source directories and earlier Homey publishing/staging setup are removed from
this migration branch. Homey has no library-publication pipeline mode.
CI authenticates with CI_JOB_TOKEN and the Job-Token header. Allow Homey project
60144767 on the platform project’s inbound job-token allowlist with package-read
access. Local private-registry builds can use the user Gradle property
gitLabPrivateToken, including ORG_GRADLE_PROJECT_gitLabPrivateToken; never
commit or log its value. The operator also needs normal producer project access.
For local integration before first publication, use
-PsysoutMavenRepository=file:///absolute/isolated/maven/repository. Only an
explicit file URL is allowed; CI’s -Pci rejects the override. There is no local
Maven fallback. The standalone producer creates that directory with standard
Gradle publishLibrariesToMavenLocal -Dmaven.repo.local=….
The shared execution stays in sysout-gitlab-ci. The standalone producer owns
module tests, versions, publications and its include-only CI adapter. Gradle
handles upload, snapshots and metadata. GitLab’s group duplicate-package policy
controls release redeployment and snapshot exceptions.
Review and merge the simplified shared CI change, then the standalone extraction.
The owner runs its protected-main web PIPELINE_ACTION=publish pipeline and
approves publish_maven_libraries. Once packages and read access exist, merge
this Homey consumer change and run ordinary app verification. Preserve its
existing release/listing and signing setup. No app tag or Play upload is part
of this migration.
Local migration validation
The standalone producer’s five library tests and release lint pass; all 46 source/test files and all compiled library class bytes are unchanged from the Homey baseline. Homey’s Maven-consumer checks pass: 66 app unit tests, debug lint with zero errors and 37 warnings, debug assembly and the release/R8 assembly. The app version remains 1.5/code 6, and no app source files changed.
These builds use an isolated directory populated by standard Maven Local publication and retain public Gradle caches. They do not establish live GitLab job-token access or publication. The original Homey checkout remains intact; this removal/consumption change is on the review branch for the owner to merge after platform publication is available.