Compare commits

..

3 Commits

Author SHA1 Message Date
1fd3fa8907 Linting
All checks were successful
Test Workflow / Lint and test library (pull_request) Successful in 9m10s
Publish Workflow / Publish library (pull_request) Successful in 9m36s
2023-12-20 15:12:56 +00:00
9164ff2443 Test release 2023-12-20 13:29:58 +00:00
931bb3244f CI 2023-12-20 13:25:40 +00:00
5 changed files with 10 additions and 31 deletions

View File

@@ -1,8 +1,11 @@
name: Publish Workflow
on:
pull_request:
branches:
- main
push:
tags:
- v*
branches:
- main
jobs:
publish:
name: Publish library
@@ -30,11 +33,11 @@ jobs:
run: |
export VERSION="$(echo ${{ github.ref_name }} | cut -c2-)"
echo "Parsed version: '$VERSION'"
echo "filesystem_version=$VERSION" >> "$GITHUB_OUTPUT"
echo "tinyvm_version=$VERSION" >> "$GITHUB_OUTPUT"
- name: Publish to Gitea package repository
env:
FILESYSTEM_VERSION: ${{ steps.parse.outputs.filesystem_version }}
TINYVM_VERSION: ${{ steps.parse.outputs.tinyvm_version }}
GITEA_USERNAME: ${{ github.repository_owner }}
GITEA_TOKEN: ${{ secrets.deploy_token }}
run: ./gradlew publishAllPublicationsToGiteaRepository

View File

@@ -3,28 +3,6 @@
This is a small project to make a very basic filesystem library in Kotlin and was created using the instructions below
as part of my application to the JetBrains internship project "TeamCity Kotlin Script build step extension library".
The package is (very creatively) named `filesystem`.
## Usage
### Gradle
```kotlin
repositories {
// other repositories
maven { url "https://git.koval.net/api/packages/cyclane/maven" }
}
dependencies {
// other dependencies
implementation("net.koval.teamcity-build-step-extension-test-task:filesystem:0.1.0")
}
```
### Documentation
Use autocompletion and hover menus in your IDE, or download the
[generated HTML documentation](https://git.koval.net/cyclane/teamcity-build-step-extension-test-task/releases/download/v0.1.0/filesystem-0.1.0-javadoc.zip)
from the [latest release](https://git.koval.net/cyclane/teamcity-build-step-extension-test-task/releases).
## Instructions
Create a library implementing four classes:

View File

@@ -6,7 +6,7 @@ plugins {
}
group = "net.koval.teamcity-build-step-extension-test-task"
version = System.getenv("FILESYSTEM_VERSION")
version = "0.0.0"
repositories {
mavenCentral()

View File

@@ -6,9 +6,7 @@ import java.nio.file.Files
import java.nio.file.Path
class FSCreator {
/**
* Create entry, leaving existing folders' contents, but overwriting existing files.
*/
// Create entry, leaving existing folders' contents, but overwriting existing files.
@Throws(FileSystemException::class)
fun create(
entryToCreate: FSEntry,

View File

@@ -1,7 +1,7 @@
package filesystem
// Note sealed allows for simpler logic in FSCreator by guaranteeing FSFile and FSFolder are the only possible FSEntries
// (as we expect), and it also implicitly makes the class abstract as required.
// (as we expect), and it also makes the class abstract as required.
sealed class FSEntry(val name: String)
class FSFile(name: String, val content: String) : FSEntry(name)