Skip to content

Commit 5a260a6

Browse files
committed
feat: Publish release
1 parent c38172c commit 5a260a6

32 files changed

+1842
-1
lines changed

.github/workflows/publish.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Gradle Package
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
container: ubuntu:latest
11+
12+
permissions:
13+
contents: read
14+
packages: write
15+
steps:
16+
- uses: actions/checkout@v3
17+
- name: Set up JDK 8
18+
uses: actions/setup-java@v3
19+
with:
20+
java-version: '8'
21+
distribution: 'corretto'
22+
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
23+
settings-path: ${{ github.workspace }} # location for the settings.xml file
24+
25+
- name: Generate version
26+
id: version
27+
run: echo "version=$(date +'%Y.%m.%d').$(echo "${{ github.sha }}" | cut -c 1-7)" >> $GITHUB_OUTPUT
28+
29+
- name: Publish to GitHub Packages
30+
uses: gradle/gradle-build-action@v2
31+
with:
32+
arguments: publishMavenPublicationToGitHubPackagesRepository -Pversion=${{ steps.version.outputs.version }}
33+
env:
34+
GITHUB_ACTOR: ${{ github.actor }}
35+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36+
SEQRA_GITHUB_ACTOR: ${{ secrets.SEQRA_GITHUB_ACTOR }}
37+
SEQRA_GITHUB_TOKEN: ${{ secrets.SEQRA_GITHUB_TOKEN }}

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
build
2+
.idea
3+
.kotlin
4+
.gradle

LICENSE.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Functional Source License, Version 1.1, ALv2 Future License
2+
3+
## Abbreviation
4+
5+
FSL-1.1-ALv2
6+
7+
## Notice
8+
9+
Copyright 2025 Seqra Team
10+
11+
## Terms and Conditions
12+
13+
### Licensor ("We")
14+
15+
The party offering the Software under these Terms and Conditions.
16+
17+
### The Software
18+
19+
The "Software" is each version of the software that we make available under
20+
these Terms and Conditions, as indicated by our inclusion of these Terms and
21+
Conditions with the Software.
22+
23+
### License Grant
24+
25+
Subject to your compliance with this License Grant and the Patents,
26+
Redistribution and Trademark clauses below, we hereby grant you the right to
27+
use, copy, modify, create derivative works, publicly perform, publicly display
28+
and redistribute the Software for any Permitted Purpose identified below.
29+
30+
### Permitted Purpose
31+
32+
A Permitted Purpose is any purpose other than a Competing Use. A Competing Use
33+
means making the Software available to others in a commercial product or
34+
service that:
35+
36+
1. substitutes for the Software;
37+
38+
2. substitutes for any other product or service we offer using the Software
39+
that exists as of the date we make the Software available; or
40+
41+
3. offers the same or substantially similar functionality as the Software.
42+
43+
Permitted Purposes specifically include using the Software:
44+
45+
1. for your internal use and access;
46+
47+
2. for non-commercial education;
48+
49+
3. for non-commercial research; and
50+
51+
4. in connection with professional services that you provide to a licensee
52+
using the Software in accordance with these Terms and Conditions.
53+
54+
### Patents
55+
56+
To the extent your use for a Permitted Purpose would necessarily infringe our
57+
patents, the license grant above includes a license under our patents. If you
58+
make a claim against any party that the Software infringes or contributes to
59+
the infringement of any patent, then your patent license to the Software ends
60+
immediately.
61+
62+
### Redistribution
63+
64+
The Terms and Conditions apply to all copies, modifications and derivatives of
65+
the Software.
66+
67+
If you redistribute any copies, modifications or derivatives of the Software,
68+
you must include a copy of or a link to these Terms and Conditions and not
69+
remove any copyright notices provided in or with the Software.
70+
71+
### Disclaimer
72+
73+
THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR
74+
IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR
75+
PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT.
76+
77+
IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE
78+
SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES,
79+
EVEN IF WE HAVE BEEN INFORMED OF THEIR POSSIBILITY IN ADVANCE.
80+
81+
### Trademarks
82+
83+
Except for displaying the License Details and identifying us as the origin of
84+
the Software, you have no right under these Terms and Conditions to use our
85+
trademarks, trade names, service marks or product names.
86+
87+
## Grant of Future License
88+
89+
We hereby irrevocably grant you an additional license to use the Software under
90+
the Apache License, Version 2.0 that is effective on the second anniversary of
91+
the date we make the Software available. On or after that date, you may use the
92+
Software under the Apache License, Version 2.0, in which case the following
93+
will apply:
94+
95+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
96+
this file except in compliance with the License.
97+
98+
You may obtain a copy of the License at
99+
100+
http://www.apache.org/licenses/LICENSE-2.0
101+
102+
Unless required by applicable law or agreed to in writing, software distributed
103+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
104+
CONDITIONS OF ANY KIND, either express or implied. See the License for the
105+
specific language governing permissions and limitations under the License.

README.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

build.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
plugins {
2+
java
3+
}

buildSrc/build.gradle.kts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import org.jetbrains.kotlin.konan.properties.loadProperties
2+
3+
plugins {
4+
`kotlin-dsl`
5+
}
6+
7+
val kotlinVersion = "2.1.0"
8+
9+
val rootProperties = layout.projectDirectory.file("../gradle.properties").asFile.absolutePath.let { loadProperties(it) }
10+
11+
repositories {
12+
mavenCentral()
13+
gradlePluginPortal()
14+
15+
seqraRepository("seqra-common-build")
16+
}
17+
18+
dependencies {
19+
implementation("org.seqra:seqra-common-build:${rootProperties.getProperty("seqraBuildVersion")}")
20+
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
21+
}
22+
23+
fun seqraRepository(name: String) {
24+
val seqraOrg = rootProperties.getOrDefault("seqraOrg", "seqra")
25+
26+
repositories {
27+
maven("https://maven.pkg.github.com/$seqraOrg/$name") {
28+
val seqraUser = System.getenv("SEQRA_GITHUB_ACTOR")
29+
val seqraToken = System.getenv("SEQRA_GITHUB_TOKEN")
30+
31+
if (seqraUser != null && seqraToken != null) {
32+
credentials {
33+
username = seqraUser
34+
password = seqraToken
35+
}
36+
}
37+
}
38+
}
39+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import org.gradle.plugin.use.PluginDependenciesSpec
2+
import org.seqra.common.KotlinDependency
3+
import org.seqra.common.id
4+
5+
fun PluginDependenciesSpec.kotlinSerialization() = id(KotlinDependency.Plugins.KotlinSerialization)
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import org.gradle.api.Project
2+
import org.seqra.common.SeqraDependency
3+
4+
object SeqraIrDependency : SeqraDependency {
5+
override val seqraRepository: String = "seqra-ir"
6+
override val versionProperty: String = "seqraIrVersion"
7+
8+
val Project.seqra_ir_core
9+
get() = propertyDep(
10+
group = "org.seqra.ir",
11+
name = "seqra-ir-core"
12+
)
13+
14+
val Project.seqra_ir_api_common
15+
get() = propertyDep(
16+
group = "org.seqra.ir",
17+
name = "seqra-ir-api-common"
18+
)
19+
20+
val Project.seqra_ir_api_jvm
21+
get() = propertyDep(
22+
group = "org.seqra.ir",
23+
name = "seqra-ir-api-jvm"
24+
)
25+
26+
val Project.seqra_ir_api_storage
27+
get() = propertyDep(
28+
group = "org.seqra.ir",
29+
name = "seqra-ir-api-storage"
30+
)
31+
32+
val Project.seqra_ir_storage
33+
get() = propertyDep(
34+
group = "org.seqra.ir",
35+
name = "seqra-ir-storage"
36+
)
37+
38+
val Project.seqra_ir_approximations
39+
get() = propertyDep(
40+
group = "org.seqra.ir",
41+
name = "seqra-ir-approximations"
42+
)
43+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import org.seqra.common.configureDefault
2+
3+
plugins {
4+
kotlin("jvm")
5+
`java-library`
6+
`maven-publish`
7+
}
8+
9+
group = "org.seqra.configuration"
10+
11+
repositories {
12+
mavenCentral()
13+
mavenLocal()
14+
maven("https://jitpack.io")
15+
}
16+
17+
configureDefault("seqra-configuration-rules")
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import SeqraIrDependency.seqra_ir_api_common
2+
3+
plugins {
4+
id("kotlin-conventions")
5+
}
6+
7+
dependencies {
8+
implementation(seqra_ir_api_common)
9+
}

0 commit comments

Comments
 (0)