Skip to content
This repository was archived by the owner on Jul 23, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
9dbf172
chore: upgrade gradle wrapper → `8.2.1`
sgammon Jul 22, 2023
f801342
chore: update verification metadata
sgammon Jul 22, 2023
ced24ba
chore: cleanup and upgrade dependencies
sgammon Jul 22, 2023
ffbc484
chore: pin kotlin sdk, pin baseline at jvm 11
sgammon Jul 22, 2023
4d6e0e6
chore: general ci cleanup
sgammon Jul 22, 2023
e84f6db
chore: use pkgst repos, upgrade to buildless plugin
sgammon Jul 22, 2023
1125699
chore: sync latest plugin sources
sgammon Jul 22, 2023
7ab327e
fix: graalvm setup in ci
sgammon Jul 22, 2023
711b482
fix: further gvm install fixes
sgammon Jul 22, 2023
5e9884c
fix: plugin repository order
sgammon Jul 22, 2023
7fc264d
chore: sync sources with main
sgammon Aug 4, 2023
574f796
chore: upgrade ci to new graalvm
sgammon Aug 4, 2023
7a1856d
chore: update/fixup actions workflows
sgammon Aug 4, 2023
e3e6639
fix: build warnings and refactors
sgammon Aug 4, 2023
39a584e
chore: add verification metadata
sgammon Aug 4, 2023
ad46599
chore: add buildless to plugin
sgammon Aug 4, 2023
89356b6
fix: elide library mappings and other build problems
sgammon Aug 4, 2023
640a3c0
fix: typo in settings
sgammon Aug 4, 2023
55bd0df
chore: upgrade kotlin → `1.9.10`
sgammon Sep 8, 2023
af56b6f
chore: dependency alignment/upgrades
sgammon Sep 8, 2023
33bd0e7
chore: upgrade micronaut range → `4.0.5` to `4.1.0`
sgammon Sep 8, 2023
7b76c67
chore: cleanup inert doc tags
sgammon Sep 8, 2023
1b2beaa
chore: upgrade java toolchains resolver → `0.7.0`
sgammon Sep 8, 2023
1b4629c
chore: general updates gathered for `1.0.0-alpha7` release
sgammon Oct 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FROM us-docker.pkg.dev/elide-fw/tools/codespace:latest@sha256:3271a9cbb8026aefd75436492ccba95491d8b6b4f8a62ed243b3b8f36172cf9d
FROM us-docker.pkg.dev/elide-fw/tools/codespace:latest@sha256:c747a6727ff61e64afada3380bcc6389cd7e38e101a5a94805f270fb49333f9f
43 changes: 23 additions & 20 deletions .github/workflows/pre-merge.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,10 @@ on:
- "*"

env:
GRADLE_CACHE_USERNAME: apikey
GRADLE_CACHE_PASSWORD: ${{ secrets.BUILDLESS_APIKEY }}
BUILDLESS_APIKEY: ${{ secrets.BUILDLESS_APIKEY }}
GRADLE_CACHE_REMOTE: "true"
GRADLE_CACHE_LOCAL: true
GRADLE_CACHE_PUSH: true
CACHE_ENDPOINT: "https://azr.less.build/cache/generic/"
GRADLE_CACHE_LOCAL: false
CACHE_ENDPOINT: "https://global.less.build/cache/generic/"
GRADLE_OPTS: "-Xmx6g -XX:MaxMetaspaceSize=1024m -XX:+UseParallelGC"

jobs:
Expand All @@ -34,7 +32,6 @@ jobs:

gradle:
strategy:
fail-fast: false
matrix:
os: [ubuntu]
include:
Expand All @@ -46,9 +43,14 @@ jobs:
GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }}
if: ${{ !contains(github.event.head_commit.message, 'ci skip') }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@cba0d00b1fc9a034e1e642ea0f1103c282990604 # v2.5.0
with:
egress-policy: audit

## Setup: Repo
- name: Checkout Repo
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3

## Setup: Node
- name: "Setup: Node"
Expand All @@ -62,11 +64,12 @@ jobs:

## Setup: GraalVM
- name: "Setup: GraalVM"
uses: graalvm/setup-graalvm@b53bc17dd7dc3052d7c6751f6a5c34abdbf928b3 # v1
uses: graalvm/setup-graalvm@d1891786152ae96fee67f86c3a1eae596291bbed # v1.1.2
with:
components: "native-image,js"
version: ${{ vars.GVM_VERSION }}
java-version: ${{ vars.JVM_VERSION }}
version: latest
distribution: graalvm
java-version: 20
github-token: ${{ secrets.GITHUB_TOKEN }}

## Setup: Gradle Caches
Expand All @@ -81,7 +84,7 @@ jobs:
gpg --list-secret-keys --keyid-format LONG
gpg --export-secret-keys > /home/runner/.gnupg/secring.gpg

## Setup: Checkout Code
## Setup: Cache
- name: Cache SonarCloud packages
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 # v3
if: ${{ matrix.os == 'ubuntu' }}
Expand All @@ -92,7 +95,7 @@ jobs:

## Job: Run build
- name: Run Gradle build
uses: gradle/gradle-build-action@3fbe033aaae657f011f88f29be9e65ed26bd29ef # v2.3.3
uses: gradle/gradle-build-action@a4cf152f482c7ca97ef56ead29bf08bcd953284c # v2.7.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
Expand All @@ -108,7 +111,7 @@ jobs:

## Job: Reports
- name: Pre-merge checks
uses: gradle/gradle-build-action@3fbe033aaae657f011f88f29be9e65ed26bd29ef # v2.3.3
uses: gradle/gradle-build-action@a4cf152f482c7ca97ef56ead29bf08bcd953284c # v2.7.0
if: ${{ matrix.os == 'ubuntu' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -127,7 +130,7 @@ jobs:

## Job: Sonar Scan
- name: Sonar
uses: gradle/gradle-build-action@3fbe033aaae657f011f88f29be9e65ed26bd29ef # v2.3.3
uses: gradle/gradle-build-action@a4cf152f482c7ca97ef56ead29bf08bcd953284c # v2.7.0
if: ${{ matrix.os == 'ubuntu' }}
continue-on-error: true
env:
Expand All @@ -142,7 +145,7 @@ jobs:

## Job: Run plugin
- name: Run the plugin
uses: gradle/gradle-build-action@3fbe033aaae657f011f88f29be9e65ed26bd29ef # v2.3.3
uses: gradle/gradle-build-action@a4cf152f482c7ca97ef56ead29bf08bcd953284c # v2.7.0
if: success()
with:
arguments: |
Expand All @@ -158,7 +161,7 @@ jobs:
## CI: Build
- name: "Failure reports"
if: failure()
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
with:
name: failure-reports
path: |
Expand All @@ -168,22 +171,22 @@ jobs:
- name: Verify plugin output (JS)
if: success()
run: |
file ./example/fullstack/node/build/distributions/*.*js
file ./example/fullstack/node/build/dist/js/*/*.*js
grep -Fq "esbuild" ./example/fullstack/node/build/esbuild/esbuild.*.*js

## Job: Verify plugin output (JVM)
- name: Verify plugin output (JVM)
if: success()
run: |
file ./example/fullstack/server/build/resources/main/embedded/embedded.assets*
file ./example/fullstack/server/build/resources/main/embedded/*.*js
file ./example/fullstack/server/build/resources/main/embedded/*.js
file ./example/fullstack/server/build/resources/main/assets/*.txt
file ./example/fullstack/server/build/resources/main/assets/*.css
file ./example/fullstack/server/build/resources/main/assets/*.*js
file ./example/fullstack/server/build/resources/main/assets/*.js

## Job: Report Code Coverage
- name: "Report: Codecov"
uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # v3
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
continue-on-error: true
if: ${{ matrix.os == 'ubuntu' }}
with:
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/publish-plugin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,20 @@ jobs:
GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }}
if: ${{ !contains(github.event.head_commit.message, 'ci skip') }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@cba0d00b1fc9a034e1e642ea0f1103c282990604 # v2.5.0
with:
egress-policy: audit
- name: Checkout Repo
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- name: "Setup: Node"
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
with:
node-version: 18
- name: "Setup: Yarn"
run: npm install -g [email protected] && yarn
- name: Cache Gradle Caches
uses: gradle/gradle-build-action@3fbe033aaae657f011f88f29be9e65ed26bd29ef # tag=v2
uses: gradle/gradle-build-action@a4cf152f482c7ca97ef56ead29bf08bcd953284c # v2.7.0
- name: "Setup: Signing Keys"
run: |
cat <(echo -e "${{ secrets.SIGNING_KEY }}") | base64 -d | gpg --batch --import
Expand Down
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.0-beta23
1.0.0-beta22
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

![beta](https://img.shields.io/badge/status-beta-blue.svg)
[![CI](https://github.com/elide-dev/buildtools/actions/workflows/pre-merge.yaml/badge.svg)](https://github.com/elide-dev/buildtools/actions/workflows/pre-merge.yaml)
[![Kotlin](https://img.shields.io/badge/kotlin-1.8.21-blue.svg?logo=kotlin)](http://kotlinlang.org)
[![Kotlin](https://img.shields.io/badge/kotlin-1.9.20-Beta2-blue.svg?logo=kotlin)](http://kotlinlang.org)
[![Gradle](https://img.shields.io/badge/gradle-8.x-blue.svg?logo=gradle)](http://gradle.org)
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=elide-dev_buildtools&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=elide-dev_buildtools)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=elide-dev_buildtools&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=elide-dev_buildtools)
Expand All @@ -27,21 +27,21 @@ below for specific installation and use instructions.

```kotlin
plugins {
id("dev.elide.buildtools.plugin") version "1.0.0-beta23"
id("dev.elide.buildtools.plugin") version "1.0.0-beta22"
}
```

**Groovy DSL**

```groovy
plugins {
id "dev.elide.buildtools.plugin" version "1.0.0-beta23"
id "dev.elide.buildtools.plugin" version "1.0.0-beta22"
}
```

#### Plugin coordinates

- **Version:** `1.0.0-beta23`
- **Version:** `1.0.0-beta22`
- **Plugin ID:** `dev.elide.buildtools.plugin`
- **Classpath Coordinate:** `dev.elide.buildtools:plugin`

Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ The following plugin versions receive ongoing security updates, or are marked as

## Reporting a Vulnerability

To report a security vulnerability within Elide, the Elide build tools, or a relevant dependency, please file an issue with the main repository, available [here](https://github.com/elide-dev/elide/issues).
To report a security vulnerability within Elide, the Elide build tools, or a relevant dependency, please file an issue with the main repository, available [here](https://github.com/elide-dev/v3/issues).
40 changes: 24 additions & 16 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@ import java.util.Properties

plugins {
java
kotlin("kapt") version "1.9.20-Beta2" apply false
alias(libs.plugins.ksp) apply false
alias(libs.plugins.kotlin.kapt) apply false
alias(libs.plugins.kover)
alias(libs.plugins.detekt)
alias(libs.plugins.ktlint)
alias(libs.plugins.sonar)
alias(libs.plugins.dependencyAnalysis)
alias(libs.plugins.versionCheck)
}

Expand All @@ -34,8 +35,8 @@ version = if (project.hasProperty("elide.stamp") && project.properties["elide.st
}

java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

val props = Properties()
Expand All @@ -58,14 +59,18 @@ sonarqube {
property("sonar.dynamicAnalysis", "reuseReports")
property("sonar.junit.reportsPath", "build/reports/")
property("sonar.java.coveragePlugin", "jacoco")
property("sonar.coverage.jacoco.xmlReportPaths", "$buildDir/reports/kover/merged/xml/report.xml")
property("sonar.coverage.jacoco.xmlReportPaths", layout.buildDirectory.file("reports/kover/merged/xml/report.xml"))
property("sonar.jacoco.reportPath", "build/jacoco/test.exec")
property("sonar.sourceEncoding", "UTF-8")
}
}

koverReport {
// nothing
defaults {
xml {
onCheck = isCI
}
}
}

subprojects {
Expand All @@ -83,10 +88,11 @@ subprojects {
property(
"sonar.coverage.jacoco.xmlReportPaths",
listOf(
"$buildDir/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml",
"$buildDir/reports/jacoco/testCodeCoverageReport/jacocoTestReport.xml",
"$buildDir/reports/jacoco/test/jacocoTestReport.xml",
"$buildDir/reports/kover/xml/coverage.xml",
layout.buildDirectory.file("reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml"),
layout.buildDirectory.file("reports/jacoco/testCodeCoverageReport/jacocoTestReport.xml"),
layout.buildDirectory.file("reports/jacoco/test/jacocoTestReport.xml"),
layout.buildDirectory.file("reports/kover/xml/coverage.xml"),
layout.buildDirectory.file("reports/kover/xml/report.xml"),
)
)
}
Expand All @@ -105,17 +111,19 @@ subprojects {
}
}

configurations.all {
if (!name.contains("detached")) {
resolutionStrategy.activateDependencyLocking()
}
}

detekt {
config = rootProject.files("config/detekt/detekt.yml")
config.from(rootProject.files("config/detekt/detekt.yml"))
}
}

dependencyLocking {
lockMode = LockMode.LENIENT
ignoredDependencies.addAll(listOf(
"org.jetbrains.kotlinx:atomicfu*",
"org.jetbrains.kotlinx:kotlinx-serialization*",
))
}

rootProject.plugins.withType(NodeJsRootPlugin::class.java) {
// 16+ required for Apple Silicon support
// https://youtrack.jetbrains.com/issue/KT-49109#focus=Comments-27-5259190.0-0
Expand Down
18 changes: 0 additions & 18 deletions config/detekt/detekt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,6 @@ complexity:
thresholdInEnums: 11
ignoreDeprecated: false
ignorePrivate: false
ignoreOverridden: false

coroutines:
active: true
Expand Down Expand Up @@ -348,7 +347,6 @@ naming:
BooleanPropertyNaming:
active: false
allowedPattern: "^(is|has|are)"
ignoreOverridden: true
ClassNaming:
active: true
classPattern: "[A-Z][a-zA-Z0-9]*"
Expand All @@ -357,7 +355,6 @@ naming:
parameterPattern: "[a-z][A-Za-z0-9]*"
privateParameterPattern: "[a-z][A-Za-z0-9]*"
excludeClassPattern: "$^"
ignoreOverridden: true
EnumNaming:
active: true
enumEntryPattern: "[A-Z][_a-zA-Z0-9]*"
Expand All @@ -383,12 +380,10 @@ naming:
]
functionPattern: "[a-z][a-zA-Z0-9]*"
excludeClassPattern: "$^"
ignoreOverridden: true
FunctionParameterNaming:
active: true
parameterPattern: "[a-z][A-Za-z0-9]*"
excludeClassPattern: "$^"
ignoreOverridden: true
InvalidPackageDeclaration:
active: false
rootPackage: ""
Expand Down Expand Up @@ -430,7 +425,6 @@ naming:
variablePattern: "[a-z][A-Za-z0-9]*"
privateVariablePattern: "(_)?[a-z][A-Za-z0-9]*"
excludeClassPattern: "$^"
ignoreOverridden: true

performance:
active: true
Expand Down Expand Up @@ -594,14 +588,6 @@ style:
ExpressionBodySyntax:
active: false
includeLineWrapping: false
ForbiddenComment:
active: true
values:
- "FIXME:"
- "STOPSHIP:"
- "TODO:"
allowedPatterns: ""
customMessage: ""
ForbiddenImport:
active: false
imports: []
Expand Down Expand Up @@ -649,8 +635,6 @@ style:
ignoreEnums: false
ignoreRanges: false
ignoreExtensionFunctions: true
MandatoryBracesIfStatements:
active: false
MandatoryBracesLoops:
active: false
MaxLineLength:
Expand All @@ -677,8 +661,6 @@ style:
active: true
OptionalUnit:
active: false
OptionalWhenBraces:
active: false
PreferToOverPairSyntax:
active: false
ProtectedMemberInFinalClass:
Expand Down
2 changes: 1 addition & 1 deletion example/fullstack/server/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -68,5 +68,5 @@ elide {

tasks.withType<Detekt>().configureEach {
// Target version of the generated JVM bytecode. It is used for type resolution.
jvmTarget = "11"
jvmTarget = "17"
}
13 changes: 13 additions & 0 deletions example/fullstack/server/src/main/assets/basestyles.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
/*
* Copyright (c) 2023 Elide Ventures, LLC.
*
* Licensed under the MIT license (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* https://opensource.org/license/mit/
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under the License.
*/

html {
--some-var: yellow;
}
Loading