This PR fixes compose resources for native macOS app (see currently
broken chat app using runDebugExecutableMacosArm64).
This PR also adds support for embedding resources into native macOS
framework. Similar to how it works on iOS. This allows using the macOS
compose code in an Xcode project. Just like iOS, using kotlin code as
framwork. Then call the main function from the Xcode project to run the
compose app.
https://github.com/JetBrains/compose-multiplatform/pull/5219https://github.com/JetBrains/compose-multiplatform/pull/5169
## Testing
- For executable: run chat app using runDebugExecutableMacosArm64
- For framework: Tested by adding macOS support to the iOS Xcode project
in chat app (not in this PR). Can add the sample app if needed. There
were also tests added to verify this.
## Release Notes
N/A
Treat it as a feature rather than a fix.
Example of a performance improvement:
https://github.com/JetBrains/compose-multiplatform-core/pull/1863
Alternative A - treat it as a fix, not a feature:
```
- Highlights # major features, performance improvements
- Features # minor features
- Fixes # bug fixes, undefined behavior changes, performance improvements
```
Alternative B - refer Fixes in Highlights:
```
- Highlights # major features and fixes
- Features # minor features
- Fixes # bug fixes, undefined behavior changes, performance improvements
```
## Release Notes
N/A
Fixes
https://youtrack.jetbrains.com/issue/CMP-7409/Add-a-CI-check-for-PR-containing-Release-Notes
- Add a GitHub workflow that checks Release Notes are correctly added.
Runs automatically on creation and description change
- Move the guide into one file from the PR templates
- Parse categories for the script instead of hardcoding them (to have a
single source of truth in the guide)
- Don't do network requests to avoid rate limit (60 requests per hour),
read the description from the workflow variable
Also added to
[compose-multiplatform-core](https://github.com/JetBrains/compose-multiplatform-core/pull/1900)
## Testing
1. Change Release Notes in this PR
2. CI successes with correct Release Notes
3. CI fails with incorrect ones
(Replace RR by R, otherwise the check picks a wrong section, I think no
need to write additional logic just for this PR)
Correct N/A:
```
## RRelease Notes
N/A
```
Correct change:
```
## RRelease Notes
### Features - iOS
- Simple feature
```
Release notes missing:
```
```
Title is incorrect:
```
## RRelease Note
### Features - iOS
- Simple feature
```
Section isn't standard:
```
## RRelease Notes
### Features - Compose
- Simple feature
```
Items are missing:
```
## RRelease Notes
### Features - iOS
```
Sections are missing:
```
## RRelease Notes
- Simple feature
```
## Testing
Tested for injections
1. For script injection
```
"; echo QQ > prDescription.txt #
```
2. For workflow injection
```
q
run: |
echo "QQ"
```
3. Verified that injection into `changelog.main.kts` isn't possible, as
it doesn't execute anything parsed (including links)
## Release Notes
N/A
This PR addresses typographical errors in the comments of the
`splitpane` package. The corrections are as follows:
1. **VerticalSplitPane function comment**:
- **Original**: "Pane that place it parts **vertically** from top to
bottom and allows to change items **heights**."
- **Correction**: "Pane that places its parts **vertically** from top to
bottom and allows changing items' **heights**."
2. **HorizontalSplitPane function comment**:
- **Original**: "Pane that place it parts **horizontally** from left to
right and allows to change items **width**."
- **Correction**: "Pane that places its parts **horizontally** from left
to right and allows changing items' **widths**."
3. **SplitPane function comment**:
- **Original**: "@param isHorizontal describes is it horizontal of
vertical split pane"
- **Correction**: "@param isHorizontal describes whether it is a
horizontal or vertical split pane"
These changes enhance the clarity and grammatical accuracy of the code
comments.
**Fixes**
N/A
**Testing**
As these changes are limited to comments and do not affect the
executable code, no additional testing is required.
**Release Notes**
N/A
Since the changes are non-functional and pertain only to code comments,
they do not necessitate an entry in the release notes.
It fails with:
```
> Dependency verification failed for configuration ':buildSrc:classpath'
One artifact failed verification: kotlinx-coroutines-bom-1.6.4.pom (org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4) from repository Gradle Central Plugin Repository
```
Looks like there are different artifacts in different repos (Gradle and
Maven Central). We need to more carefully enable it in the future
# Release Notes
N/A
Fixes
https://youtrack.jetbrains.com/issue/CMP-7603/Fix-Maven-Central-publication
- Update Space API to almost the latest
- the most latest requires Ktor Eap lib
- it is no longer depends on the broken `net.minidev:json-smart`
- Add artifact verification to avoid some security issues in the
publication process
# Testing
The command from the issue passes configuration phase, and fails with:
```
java.lang.IllegalStateException: Provide value for 'maven.central.sign.key' Gradle property or 'MAVEN_CENTRAL_SIGN_KEY' environment variable
```
The actual test we can only do on CI, that artifacts are successfully
uploaded to the stage.
# Release Notes
N/A
We support only 11 minimal for Desktop. It fails with latest builds
(it also fails because of another reason, which I will fix separately)
## Release Notes
N/A
The `instrumented-test` project allows to write instrumented tests for
Compose Multiplatform and run corresponding XCTests with a host
application on the iOS simulator. It includes the following modules and
projects:
`ui-xctest` module contains code to convert a set of `kotlin.test` to
XCTest.
`ui-instrumented-test` module contains test utilities such as test
runner and touch simulation, as well as tests themeselve.
`launcher` project - wrapper around `kotlin.test` that runs the tests in
the XCode environment.
Fixes
https://youtrack.jetbrains.com/issue/CMP-5880/Implement-test-UITouch-API-for-internal-touch-testing
## Release Notes
### Features - iOS
- Launcher for Instrumented Test on iOS
Needed for
https://youtrack.jetbrains.com/issue/CMP-7409/Add-a-CI-check-for-PR-containing-Release-Notes
Also fix a bug with not working N/A release notes
## Testing
```
action=checkPr JetBrains/compose-multiplatform 5188
```
works with different values correctly
```
changelog.main.kts v1.8.0-alpha01..HEAD
```
excludes N/A
Better to compare not via GitHub diff, as it hard to compare identated
code.
## Release Notes
N/A
Needed for 1.7.2:
```
kotlin changelog.main.kts v1.7.1..release/1.7.2
```
Otherwise it compares with `1.8.0-alpha01`
---------
Co-authored-by: Ivan Matkov <ivan.matkov@jetbrains.com>