Compare commits

..

4 Commits

Author SHA1 Message Date
Dan Chao 1543909566 Polish release notes 2024-02-01 19:23:49 -08:00
Dan Chao c31119e41f Prepare 0.25.1 release 2024-02-01 19:23:49 -08:00
Dan Chao c0959fb3e2 Add dummy javadoc to pkl-tools 2024-02-01 19:23:49 -08:00
Dan Chao 4676f379f9 Fix: pkl-tools should publish fat jar 2024-02-01 17:13:50 -08:00
25 changed files with 104 additions and 37 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
name: main name: main
title: Main Project title: Main Project
version: 0.25.0 version: 0.25.1
prerelease: false prerelease: false
nav: nav:
- nav.adoc - nav.adoc
@@ -3,7 +3,7 @@
// the following attributes must be updated immediately before a release // the following attributes must be updated immediately before a release
// pkl version corresponding to current git commit without -dev suffix or git hash // pkl version corresponding to current git commit without -dev suffix or git hash
:pkl-version-no-suffix: 0.25.0 :pkl-version-no-suffix: 0.25.1
// tells whether pkl version corresponding to current git commit // tells whether pkl version corresponding to current git commit
// is a release version (:is-release-version: '') or dev version (:!is-release-version:) // is a release version (:is-release-version: '') or dev version (:!is-release-version:)
:is-release-version: '' :is-release-version: ''
+6 -3
View File
@@ -1,8 +1,11 @@
= Pkl 0.25 Release Notes = Pkl 0.25 Release Notes
:version: 0.25 :version: 0.25
:version-minor: 0.25.0 :version-minor: 0.25.1
:release-date: February 1st, 2024 :release-date: February 1st, 2024
This is the first release of Pkl! Pkl {version} was released on {release-date}. +
[.small]#The latest bugfix release is {version-minor}. (xref:changelog.adoc[All Versions])#
To learn more, refer to our xref:blog:introducing-pkl.adoc[blog post]. This is the initial release of Pkl, a programming language for creating configuration.
To learn more about Pkl, refer to our xref:blog:ROOT:introducing-pkl.adoc[blog post].
@@ -1,8 +1,12 @@
= Changelog = Changelog
include::ROOT:partial$component-attributes.adoc[] include::ROOT:partial$component-attributes.adoc[]
[[release-0.25.1]]
== 0.25.1 (2024-02-01)
* Fixes an issue where pkl-tools fat jar is empty.
[[release-0.25.0]] [[release-0.25.0]]
== 0.25.0 (2024-02-01) == 0.25.0 (2024-02-01)
xref:0.25.adoc[Release notes] xref:0.25.adoc[Release notes]
+1 -1
View File
@@ -1,7 +1,7 @@
# suppress inspection "UnusedProperty" for whole file # suppress inspection "UnusedProperty" for whole file
group=org.pkl-lang group=org.pkl-lang
version=0.25.0 version=0.25.1
# google-java-format requires jdk.compiler exports # google-java-format requires jdk.compiler exports
org.gradle.jvmargs= \ org.gradle.jvmargs= \
+66 -10
View File
@@ -1,10 +1,14 @@
import java.nio.charset.StandardCharsets
import java.util.*
plugins { plugins {
pklAllProjects pklAllProjects
pklFatJar pklFatJar
pklPublishLibrary signing
pklJavaLibrary
} }
val dummy: SourceSet by sourceSets.creating
val firstPartySourcesJars by configurations.existing val firstPartySourcesJars by configurations.existing
// Note: pkl-tools cannot (easily) contain pkl-config-kotlin // Note: pkl-tools cannot (easily) contain pkl-config-kotlin
@@ -30,29 +34,81 @@ dependencies {
firstPartySourcesJars(project(":pkl-doc", "sourcesJar")) firstPartySourcesJars(project(":pkl-doc", "sourcesJar"))
} }
// TODO: need to figure out how to properly generate javadoc here.
// For now, we'll include a dummy javadoc jar.
val javadocDummy by tasks.creating(Javadoc::class) {
source = dummy.allJava
}
java {
withJavadocJar()
}
val javadocJar by tasks.existing(Jar::class) {
from(javadocDummy.outputs.files)
archiveBaseName.set("pkl-tools-all")
}
tasks.shadowJar { tasks.shadowJar {
archiveBaseName.set("pkl-tools-all") archiveBaseName.set("pkl-tools-all")
} }
publishing { publishing {
publications { publications {
named<MavenPublication>("library") {
pom {
url.set("https://github.com/apple/pkl/tree/main/pkl-tools")
description.set("""
The suite of libraries and tools within the Pkl JVM ecosystem.
""".trimIndent())
}
}
named<MavenPublication>("fatJar") { named<MavenPublication>("fatJar") {
// don't use `-all` suffix because this is the only JAR we publish // don't use `-all` suffix because this is the only JAR we publish
artifactId = "pkl-tools" artifactId = "pkl-tools"
// add dummy javadoc jar to publication
artifact(javadocJar.flatMap { it.archiveFile }) {
classifier = "javadoc"
}
pom { pom {
url.set("https://github.com/apple/pkl/tree/main/pkl-tools") url.set("https://github.com/apple/pkl/tree/main/pkl-tools")
description.set("Fat Jar containing pkl-cli, pkl-codegen-java, " + description.set("Fat Jar containing pkl-cli, pkl-codegen-java, " +
"pkl-codegen-kotlin, pkl-config-java, pkl-core, pkl-doc, " + "pkl-codegen-kotlin, pkl-config-java, pkl-core, pkl-doc, " +
"and their shaded third-party dependencies.") "and their shaded third-party dependencies.")
name.set(artifactId)
// keep in sync with pklPublishLibrary
licenses {
license {
name.set("The Apache Software License, Version 2.0")
url.set("https://github.com/apple/pkl/blob/main/LICENSE.txt")
}
}
developers {
developer {
id.set("pkl-authors")
name.set("The Pkl Authors")
email.set("pkl-oss@group.apple.com")
}
}
scm {
connection.set("scm:git:git://github.com/apple/pkl.git")
developerConnection.set("scm:git:ssh://github.com/apple/pkl.git")
val buildInfo = project.extensions.getByType<BuildInfo>()
url.set("https://github.com/apple/pkl/tree/${buildInfo.commitish}")
}
issueManagement {
system.set("GitHub Issues")
url.set("https://github.com/apple/pkl/issues")
}
ciManagement {
system.set("Circle CI")
url.set("https://app.circleci.com/pipelines/github/apple/pkl")
}
} }
} }
} }
} }
signing {
// provided as env vars `ORG_GRADLE_PROJECT_signingKey` and `ORG_GRADLE_PROJECT_signingPassword`
// in CI.
val signingKey = (findProperty("signingKey") as String?)
?.let { Base64.getDecoder().decode(it).toString(StandardCharsets.US_ASCII) }
val signingPassword = findProperty("signingPassword") as String?
if (signingKey != null && signingPassword != null) {
useInMemoryPgpKeys(signingKey, signingPassword)
}
sign(publishing.publications["fatJar"])
}
@@ -15,6 +15,10 @@
*/ */
package org.pkl.tools; package org.pkl.tools;
/** This is an intentionally empty class. */ /**
* This is an intentionally empty class.
*/
// TODO: figure out how to generate javadoc for a shadow jar.
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class Tools {} public class Empty {
}
+1 -1
View File
@@ -36,7 +36,7 @@
/// ///
/// Warning: Although this module is ready for initial use, /// Warning: Although this module is ready for initial use,
/// benchmark results may be inaccurate or inconsistent. /// benchmark results may be inaccurate or inconsistent.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.Benchmark module pkl.Benchmark
import "pkl:platform" as _platform import "pkl:platform" as _platform
+1 -1
View File
@@ -63,7 +63,7 @@
/// @Deprecated { message = "Use `com.example.Birds.Parrot` instead" } /// @Deprecated { message = "Use `com.example.Birds.Parrot` instead" }
/// amends "pkl:PackageInfo" /// amends "pkl:PackageInfo"
/// ``` /// ```
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.DocPackageInfo module pkl.DocPackageInfo
import "pkl:reflect" import "pkl:reflect"
+1 -1
View File
@@ -31,7 +31,7 @@
/// ///
/// title = "Title displayed in the header of each page" /// title = "Title displayed in the header of each page"
/// ``` /// ```
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.DocsiteInfo module pkl.DocsiteInfo
import "pkl:reflect" import "pkl:reflect"
+1 -1
View File
@@ -64,7 +64,7 @@
/// value = project /// value = project
/// } /// }
/// ``` /// ```
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.Project module pkl.Project
import "pkl:Project" import "pkl:Project"
+1 -1
View File
@@ -17,7 +17,7 @@
/// Fundamental properties, methods, and classes for writing Pkl programs. /// Fundamental properties, methods, and classes for writing Pkl programs.
/// ///
/// Members of this module are automatically available in every Pkl module. /// Members of this module are automatically available in every Pkl module.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.base module pkl.base
import "pkl:jsonnet" import "pkl:jsonnet"
+1 -1
View File
@@ -15,7 +15,7 @@
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
/// A JSON parser. /// A JSON parser.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.json module pkl.json
/// A JSON parser. /// A JSON parser.
+1 -1
View File
@@ -15,7 +15,7 @@
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
/// A [Jsonnet](https://jsonnet.org) renderer. /// A [Jsonnet](https://jsonnet.org) renderer.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.jsonnet module pkl.jsonnet
/// Constructs an [ImportStr]. /// Constructs an [ImportStr].
+1 -1
View File
@@ -18,7 +18,7 @@
/// ///
/// Note that some mathematical functions, such as `sign()`, `abs()`, and `round()`, /// Note that some mathematical functions, such as `sign()`, `abs()`, and `round()`,
/// are directly defined in classes [Number], [Int], and [Float]. /// are directly defined in classes [Number], [Int], and [Float].
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.math module pkl.math
/// The minimum [Int] value: `-9223372036854775808`. /// The minimum [Int] value: `-9223372036854775808`.
+1 -1
View File
@@ -15,7 +15,7 @@
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
/// Information about the platform that the current program runs on. /// Information about the platform that the current program runs on.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.platform module pkl.platform
/// The platform that the current program runs on. /// The platform that the current program runs on.
+1 -1
View File
@@ -16,7 +16,7 @@
/// A renderer for [Protocol Buffers](https://developers.google.com/protocol-buffers). /// A renderer for [Protocol Buffers](https://developers.google.com/protocol-buffers).
/// Note: This module is _experimental_ and not ready for production use. /// Note: This module is _experimental_ and not ready for production use.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.protobuf module pkl.protobuf
import "pkl:reflect" import "pkl:reflect"
+1 -1
View File
@@ -26,7 +26,7 @@
/// - Documentation generators (such as *Pkldoc*) /// - Documentation generators (such as *Pkldoc*)
/// - Code generators (such as *pkl-codegen-java* and *pkl-codegen-kotlin*) /// - Code generators (such as *pkl-codegen-java* and *pkl-codegen-kotlin*)
/// - Domain-specific schema validators /// - Domain-specific schema validators
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.reflect module pkl.reflect
import "pkl:base" import "pkl:base"
+1 -1
View File
@@ -15,7 +15,7 @@
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
/// Information about the Pkl release that the current program runs on. /// Information about the Pkl release that the current program runs on.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.release module pkl.release
import "pkl:semver" import "pkl:semver"
+1 -1
View File
@@ -15,7 +15,7 @@
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
/// Parsing, comparison, and manipulation of [semantic version](https://semver.org/spec/v2.0.0.html) numbers. /// Parsing, comparison, and manipulation of [semantic version](https://semver.org/spec/v2.0.0.html) numbers.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.semver module pkl.semver
/// Tells whether [version] is a valid semantic version number. /// Tells whether [version] is a valid semantic version number.
+1 -1
View File
@@ -19,7 +19,7 @@
/// Every settings file must amend this module. /// Every settings file must amend this module.
/// Unless CLI commands and build tool plugins are explicitly configured with a settings file, /// Unless CLI commands and build tool plugins are explicitly configured with a settings file,
/// they will use `~/.pkl/settings.pkl` or the defaults specified in this module. /// they will use `~/.pkl/settings.pkl` or the defaults specified in this module.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.settings module pkl.settings
/// The editor for viewing and editing Pkl files. /// The editor for viewing and editing Pkl files.
+1 -1
View File
@@ -15,7 +15,7 @@
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
/// Utilities for generating shell scripts. /// Utilities for generating shell scripts.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.shell module pkl.shell
/// Escapes [str] by enclosing it in single quotes. /// Escapes [str] by enclosing it in single quotes.
+1 -1
View File
@@ -18,7 +18,7 @@
/// ///
/// To write tests, amend this module and define [facts] or [examples] (or both). /// To write tests, amend this module and define [facts] or [examples] (or both).
/// To run tests, evaluate the amended module. /// To run tests, evaluate the amended module.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
open module pkl.test open module pkl.test
/// Named groups of boolean expressions that are expected to evaluate to [true]. /// Named groups of boolean expressions that are expected to evaluate to [true].
+1 -1
View File
@@ -15,7 +15,7 @@
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
/// An XML renderer. /// An XML renderer.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.xml module pkl.xml
/// Renders values as XML. /// Renders values as XML.
+1 -1
View File
@@ -15,7 +15,7 @@
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
/// A YAML 1.2 compliant YAML parser. /// A YAML 1.2 compliant YAML parser.
@ModuleInfo { minPklVersion = "0.25.0" } @ModuleInfo { minPklVersion = "0.25.1" }
module pkl.yaml module pkl.yaml
/// A YAML parser. /// A YAML parser.