Skip to content

Commit b888939

Browse files
committed
Try publication to Github
1 parent 907c08b commit b888939

File tree

6 files changed

+88
-2
lines changed

6 files changed

+88
-2
lines changed

.github/workflows/gradle-publish.yml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
2+
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
3+
4+
name: Gradle Package
5+
6+
on:
7+
release:
8+
types: [created]
9+
10+
jobs:
11+
build:
12+
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
16+
packages: write
17+
18+
steps:
19+
- uses: actions/checkout@v2
20+
- name: Set up JDK 16
21+
uses: actions/setup-java@v2
22+
with:
23+
java-version: '16'
24+
distribution: 'zulu'
25+
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
26+
settings-path: ${{ github.workspace }} # location for the settings.xml file
27+
28+
- name: Build with Gradle
29+
run: gradle build
30+
31+
# The USERNAME and TOKEN need to correspond to the credentials environment variables used in
32+
# the publishing section of your build.gradle
33+
- name: Publish to GitHub Packages
34+
run: gradle publish
35+
env:
36+
USERNAME: ${{ github.actor }}
37+
TOKEN: ${{ secrets.GITHUB_TOKEN }}

book.toml

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[book]
2+
authors = ["JonathanxD", "FireflyLang"]
3+
language = "en"
4+
multilingual = false
5+
src = "book/src"
6+
title = "Kores Framework Book"
7+
8+
[build]
9+
build-dir = "book-build"
10+
11+
[output.html]
12+
mathjax-support = true
13+
default-theme = "navy"
14+
edit-url-template = "https://github.com/koresframework/Kores/edit/main/book/{path}"

book/src/SUMMARY.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Kores Framework
2+
- [What is](What-is.md)

book/src/What-is.md

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# What is
2+
3+
Kores Framework (named as CodeAPI earlier) is a library that provides AST ([Abstract Syntax Tree](https://en.wikipedia.org/wiki/Abstract_syntax_tree)) for Java and JVM classes and modules. With Kores AST Definitions you can produce **Java Source Code** using [**Kores-SourceWriter**](https://github.com/koresframework/Kores-SourceWriter) transpiler and **JVM Bytecode** using [**Kores-BytecodeWriter**](https://github.com/koresframework/Kores-BytecodeWriter) compiler.
4+
5+
## Why?
6+
7+
Initially, Kores was a toy project to learn JVM Bytecode and create a common structure for compile-time and runtime code generation, focused on **Annotation Processors**. Later, Kores evolved to more likely a JVM Bytecode compiler ecosystem, more focused on **JVM Bytecode Generation** than in **Java Source Generation**.
8+
9+
Kores bytecode generation module tries to generate bytecode as close as possible to **javac**, with some exceptions, like [**not generating inner class definition for every used inner class**](https://stackoverflow.com/a/48603069) as specified in second paragraph of [JVMS 4.7.6](https://docs.oracle.com/javase/specs/jvms/se16/html/jvms-4.html#jvms-4.7.6). There is likely no popular JVM Implementation that does check for this (or no one of them check at all) or use this kind of information for something in fact, this is only a specification that is followed by **javac**.
10+
11+
## Projects that uses Kores
12+
13+
14+
- [EventSys](https://github.com/ProjectSandstone/EventSys)
15+
- A dynamic property base event system written on top of Kores
16+
17+
- [CodeProxy](https://github.com/JonathanxD/CodeProxy)
18+
- A Proxy generator written on top of Kores, the key difference between Java proxies is that CodeProxies can extend classes.
19+
20+
- [AdapterHelper](https://github.com/JonathanxD/AdapterHelper)
21+
- A set of utilities to help with creation, registration and management of Adapters, some features requires Kores, such as deep instance adapting.
22+
23+
- [FireflyLang Compiler](https://github.com/FireflyLang/firefly-compiler)
24+
- A proof-of-concept language that implements type-reification, traits, rules, and so on.

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ buildscript {
1919
}
2020

2121
group 'com.github.jonathanxd'
22-
version '4.1.2.base'
22+
version '4.1.3.base'
2323

2424
apply from: 'gradle/common.gradle'

gradle/common.gradle

+10-1
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,18 @@ license {
140140

141141
publishing {
142142
repositories {
143-
maven {
143+
/*maven {
144+
name = "Local"
144145
// change to point to your repo, e.g. http://my.org/repo
145146
url = "$buildDir/repo"
147+
}*/
148+
maven {
149+
name = "GitHubPackages"
150+
url = "https://maven.pkg.github.com/koresframework/Kores"
151+
credentials {
152+
username = System.getenv("GITHUB_ACTOR")
153+
password = System.getenv("GITHUB_TOKEN")
154+
}
146155
}
147156
}
148157
publications {

0 commit comments

Comments
 (0)