diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 600e583..25dfe74 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -123,7 +123,7 @@ jobs: # usage-example applies three things from mavenLocal: packpack (through the plugin), the # toolchain plugin, and python-multiplatform's library and bindings plugin. Versions pinned in - # usage-example/gradle/libs.versions.toml (3.15.0-alpha01). + # usage-example/gradle/libs.versions.toml (3.15.0-alpha02). - name: Publish packpack, the toolchain plugin and python-multiplatform to mavenLocal run: | (cd .ci/pypackpack && ./gradlew :packpack:publishToMavenLocal --console=plain) diff --git a/AGENTS.md b/AGENTS.md index 53206a3..3e924cd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -246,7 +246,7 @@ Prerequisites: `org.thisisthepy.python.multiplatform:packpack:0.1.0` in `~/.m2` `pypackpack` repository), `uv` on `PATH`, and network access: `InstallDependenciesTaskTest` and `InstallerTest` run a real `uv add` against PyPI. `usage-example` additionally needs an Android SDK (`ANDROID_HOME`) and python-multiplatform in `~/.m2`: from a python-multiplatform checkout, -`./gradlew publishAllToMavenLocal` (`org.thisisthepy:python-multiplatform*` and bindings plugin `3.15.0-alpha01`). +`./gradlew publishAllToMavenLocal` (`org.thisisthepy:python-multiplatform*` and bindings plugin `3.15.0-alpha02`). Run each module separately (rule 8), with output to a file under `.cache/`: diff --git a/docs/SPEC.md b/docs/SPEC.md index 617ebd0..c5500d7 100644 --- a/docs/SPEC.md +++ b/docs/SPEC.md @@ -61,7 +61,7 @@ Test: `PythonSdkTest` (`a CPython before 3_15 is refused as a GIL build, inside **Temporary exception: `3.15.0` without `t` (`PY3_15_0`).** It names python-multiplatform's GIL build, which is what python-multiplatform publishes today: its `gradle.properties` has `pythonFreeThreaded=false`, -its artifact version (`3.15.0-alpha01`) carries no flavour, and Android and iOS have no 3.15t build yet +its artifact version (`3.15.0-alpha02`) carries no flavour, and Android and iOS have no 3.15t build yet (python-multiplatform #163). Selecting `cp315t` wheels for that runtime would install wheels it cannot load. The exception is removed, and `3.15.0` then means `3.15.0t`, when python-multiplatform publishes free-threaded as its default with the flavour in its version or metadata, and #163 lands; #76 tracks it. @@ -542,7 +542,7 @@ bundled. Every `buildPython` and the single host `buildPytho --find-links typedpython== pyrefly==` (`@Input` versions, defaults `0.1.0` and `1.3.2`). `` must hold both wheels for the platform; nothing comes from an index. 2. The **gate artifact**, by default: the `typedpython-gate` zip python-multiplatform-ksp publishes beside - its processor jar, `org.thisisthepy:python-multiplatform-ksp:3.15.0-alpha01:typedpython-gate@zip` + its processor jar, `org.thisisthepy:python-multiplatform-ksp:3.15.0-alpha02:typedpython-gate@zip` (`DEFAULT_TYPEDPYTHON_GATE`, the one place its group and version are written; `-Ptypedpython.gate= ` overrides it). It is resolved leniently from the project's own repositories (python-multiplatform's `publishToMavenLocal` puts it in `mavenLocal()`), unzipped into diff --git a/toolchain/build.gradle.kts b/toolchain/build.gradle.kts index 321f119..6ad66f2 100644 --- a/toolchain/build.gradle.kts +++ b/toolchain/build.gradle.kts @@ -93,7 +93,8 @@ gradlePlugin { // rejected as out of scope -- `compose-multiplatform 1.7.0` (`gradle/libs.versions.toml`) is not // verified against it, and that is exactly the kind of build-wide change a single delegation should // not carry. -// `TypedpythonCheckTaskTest` installs the real `typedpython` gate, which is not on PyPI yet: +// `TypedpythonCheckTaskTest` installs the real `typedpython` gate, which is not published to PyPI +// (it ships with the GitHub Release and the distribution): // `-Ptypedpython.wheelDir=` names the directory holding its wheel. Forwarded as-is; the test // fails with that instruction when it is missing rather than skipping. tasks.test { diff --git a/toolchain/src/main/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGate.kt b/toolchain/src/main/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGate.kt index 6060e6e..fdce0ac 100644 --- a/toolchain/src/main/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGate.kt +++ b/toolchain/src/main/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGate.kt @@ -10,7 +10,7 @@ import java.io.File * uses the same). This is the one place both are written; `-Ptypedpython.gate=` * overrides it. */ -const val DEFAULT_TYPEDPYTHON_GATE = "org.thisisthepy:python-multiplatform-ksp:3.15.0-alpha01" +const val DEFAULT_TYPEDPYTHON_GATE = "org.thisisthepy:python-multiplatform-ksp:3.15.0-alpha02" /** Project property overriding [DEFAULT_TYPEDPYTHON_GATE]. */ const val TYPEDPYTHON_GATE_PROPERTY = "typedpython.gate" diff --git a/toolchain/src/test/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGateArtifactTest.kt b/toolchain/src/test/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGateArtifactTest.kt index 95ad4c3..ef36566 100644 --- a/toolchain/src/test/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGateArtifactTest.kt +++ b/toolchain/src/test/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGateArtifactTest.kt @@ -22,8 +22,8 @@ import kotlin.test.assertTrue class TypedpythonGateArtifactTest { private val mavenLocalZip = File( System.getProperty("user.home"), - ".m2/repository/org/thisisthepy/python-multiplatform-ksp/3.15.0-alpha01/" + - "python-multiplatform-ksp-3.15.0-alpha01-typedpython-gate.zip", + ".m2/repository/org/thisisthepy/python-multiplatform-ksp/3.15.0-alpha02/" + + "python-multiplatform-ksp-3.15.0-alpha02-typedpython-gate.zip", ) @BeforeTest diff --git a/toolchain/src/test/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGateTest.kt b/toolchain/src/test/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGateTest.kt index 05fada3..285cde8 100644 --- a/toolchain/src/test/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGateTest.kt +++ b/toolchain/src/test/kotlin/org/thisisthepy/python/multiplatform/toolchain/typedpython/TypedpythonGateTest.kt @@ -41,9 +41,9 @@ class TypedpythonGateTest { @Test fun `the gate is the typedpython-gate zip of python-multiplatform-ksp, from one constant`() { - assertEquals("org.thisisthepy:python-multiplatform-ksp:3.15.0-alpha01", DEFAULT_TYPEDPYTHON_GATE) + assertEquals("org.thisisthepy:python-multiplatform-ksp:3.15.0-alpha02", DEFAULT_TYPEDPYTHON_GATE) assertEquals( - "org.thisisthepy:python-multiplatform-ksp:3.15.0-alpha01:typedpython-gate@zip", + "org.thisisthepy:python-multiplatform-ksp:3.15.0-alpha02:typedpython-gate@zip", typedpythonGateNotation(DEFAULT_TYPEDPYTHON_GATE), ) assertEquals("typedpython.gate", TYPEDPYTHON_GATE_PROPERTY) diff --git a/usage-example/gradle/libs.versions.toml b/usage-example/gradle/libs.versions.toml index 8686b1f..8c67728 100644 --- a/usage-example/gradle/libs.versions.toml +++ b/usage-example/gradle/libs.versions.toml @@ -13,7 +13,7 @@ compose-plugin = "1.11.1-ext.3" kotlin = "2.4.20-Beta2" kotlinx-coroutines = "1.10.1" # python-multiplatform's library, KSP and bindings plugin share one version (its #70, #95, #318, #333). -python-multiplatform = "3.15.0-alpha01" +python-multiplatform = "3.15.0-alpha02" # The toolchain plugin, from ../toolchain via mavenLocal (`./gradlew :toolchain:publishToMavenLocal`). toolchain = "1.0.0-alpha"