Skip to content

Commit

Permalink
Merge pull request #72 from RADAR-base/release-0.10.0
Browse files Browse the repository at this point in the history
Release 0.10.0
  • Loading branch information
blootsvoets authored Mar 16, 2023
2 parents 68542c3 + 457493d commit d639844
Show file tree
Hide file tree
Showing 48 changed files with 660 additions and 330 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Setup Gradle
uses: gradle/gradle-build-action@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish_snapshots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Setup Gradle
uses: gradle/gradle-build-action@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Setup Gradle
uses: gradle/gradle-build-action@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scheduled_snyk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Setup Gradle
uses: gradle/gradle-build-action@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/snyk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Setup Gradle
uses: gradle/gradle-build-action@v2
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ repositories {
}
dependencies {
api("org.radarbase:radar-jersey:0.9.2")
api("org.radarbase:radar-jersey:0.10.0")
}
```

Expand All @@ -24,22 +24,22 @@ class Users(
@Context projectService: MyProjectService
) {
@GET
@NeedsPermission(PROJECT, READ)
@NeedsPermission(Permission.PROJECT_READ)
fun getProjects(@Context auth: Auth): List<Project> {
return projectService.read()
.filter { auth.token.hasPermissionOnProject(PROJECT_READ, it.name) }
}

@POST
@Path("/{projectId}")
@NeedsPermission(PROJECT, UPDATE, "projectId")
@NeedsPermission(Permission.PROJECT_UPDATE, "projectId")
fun updateProject(@PathParam("projectId") projectId: String, project: Project) {
return projectService.update(projectId, project)
}

@GET
@Path("/{projectId}/users/{userId}")
@NeedsPermission(SUBJECT, READ, "projectId", "userId")
@NeedsPermission(Permission.SUBJECT_READ, "projectId", "userId")
fun getUsers(@PathParam("projectId") projectId: String, @PathParam("userId") userId: String) {
return projectService.readUser(projectId, userId)
}
Expand Down
75 changes: 43 additions & 32 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion

plugins {
kotlin("jvm") apply false
`maven-publish`
signing
id("org.jetbrains.dokka") apply false
id("com.github.ben-manes.versions") version "0.44.0"
id("io.github.gradle-nexus.publish-plugin") version "1.1.0"
id("com.github.ben-manes.versions") version "0.46.0"
id("io.github.gradle-nexus.publish-plugin") version "1.3.0"
}

allprojects {
group = "org.radarbase"
version = "0.9.2"
version = "0.10.0"
}

subprojects {
Expand All @@ -22,20 +24,22 @@ subprojects {
apply(plugin = "signing")
apply(plugin = "org.jetbrains.dokka")

val myProject = this

val githubRepoName = "RADAR-base/radar-jersey"
val githubUrl = "https://github.com/$githubRepoName.git"
val githubIssueUrl = "https://github.com/$githubRepoName/issues"

extra.apply {
set("githubRepoName", githubRepoName)
set("githubUrl", githubUrl)
set("githubIssueUrl", githubIssueUrl)
}

repositories {
mavenCentral()
mavenCentral() {
mavenContent {
releasesOnly()
}
}
mavenLocal()
maven(url = "https://oss.sonatype.org/content/repositories/snapshots") {
mavenContent {
snapshotsOnly()
}
}
}

dependencies {
Expand All @@ -62,7 +66,7 @@ subprojects {
}

val sourcesJar by tasks.registering(Jar::class) {
from(myProject.the<SourceSetContainer>()["main"].allSource)
from(this@subprojects.the<SourceSetContainer>()["main"].allSource)
archiveClassifier.set("sources")
val classes by tasks
dependsOn(classes)
Expand All @@ -75,19 +79,26 @@ subprojects {
dependsOn(dokkaJavadoc)
}

val jvmTargetVersion = 17

tasks.withType<JavaCompile> {
options.release.set(11)
options.release.set(jvmTargetVersion)
}

tasks.withType<KotlinCompile> {
kotlinOptions {
jvmTarget = "11"
apiVersion = "1.7"
languageVersion = "1.7"
compilerOptions {
jvmTarget.set(JvmTarget.fromTarget(jvmTargetVersion.toString()))
apiVersion.set(KotlinVersion.KOTLIN_1_8)
languageVersion.set(KotlinVersion.KOTLIN_1_8)
}
}

afterEvaluate {
configurations.all {
resolutionStrategy.cacheChangingModulesFor(0, TimeUnit.SECONDS)
resolutionStrategy.cacheDynamicVersionsFor(0, TimeUnit.SECONDS)
}

tasks.withType<Test> {
testLogging {
events("passed", "skipped", "failed")
Expand All @@ -106,8 +117,8 @@ subprojects {
tasks.withType<Jar> {
manifest {
attributes(
"Implementation-Title" to myProject.name,
"Implementation-Version" to myProject.version
"Implementation-Title" to this@subprojects.name,
"Implementation-Version" to this@subprojects.version
)
}
}
Expand All @@ -126,8 +137,8 @@ subprojects {
artifact(dokkaJar)

pom {
name.set(myProject.name)
description.set(myProject.description)
name.set(this@subprojects.name)
description.set(this@subprojects.description)
url.set(githubUrl)
licenses {
license {
Expand Down Expand Up @@ -180,17 +191,17 @@ subprojects {
}
}

val stableVersionRegex = "[0-9,.v-]+(-r)?".toRegex()

fun isNonStable(version: String): Boolean {
val stableKeyword = listOf("RELEASE", "FINAL", "GA", "-CE")
.any { version.toUpperCase().contains(it) }
return !stableKeyword && !stableVersionRegex.matches(version)
}

tasks.withType<DependencyUpdatesTask> {
doFirst {
allprojects {
repositories.removeAll {
it is MavenArtifactRepository && it.url.toString().endsWith("/snapshots")
}
}
}
val isStable = "(^[0-9,.v-]+(-r)?|RELEASE|FINAL|GA|-CE)$".toRegex(RegexOption.IGNORE_CASE)
rejectVersionIf {
isNonStable(candidate.version)
!isStable.containsMatchIn(candidate.version)
}
}

Expand All @@ -212,5 +223,5 @@ nexusPublishing {
}

tasks.wrapper {
gradleVersion = "7.6"
gradleVersion = "8.0.2"
}
34 changes: 17 additions & 17 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,36 @@ org.gradle.jvmargs=-Xmx2000m
org.gradle.vfs.watch=true
kotlin.code.style=official

kotlinVersion=1.7.22
dokkaVersion=1.7.20
jsoupVersion=1.15.3
kotlinVersion=1.8.10
dokkaVersion=1.8.10
jsoupVersion=1.15.4

jerseyVersion=3.1.0
jerseyVersion=3.1.1
grizzlyVersion=4.0.0
okhttpVersion=4.10.0
junitVersion=5.9.1
junitVersion=5.9.2
hamcrestVersion=2.2
mockitoKotlinVersion=4.1.0

hk2Version=3.0.3
managementPortalVersion=0.8.1
javaJwtVersion=4.2.1
managementPortalVersion=2.0.0
javaJwtVersion=4.3.0
jakartaWsRsVersion=3.1.0
jakartaAnnotationVersion=2.1.1
jacksonVersion=2.14.1
slf4jVersion=2.0.5
log4j2Version=2.19.0
jacksonVersion=2.14.2
slf4jVersion=2.0.6
log4j2Version=2.20.0
jakartaXmlBindVersion=4.0.0
jakartaJaxbCoreVersion=4.0.1
jakartaJaxbRuntimeVersion=4.0.1
jakartaJaxbCoreVersion=4.0.2
jakartaJaxbRuntimeVersion=4.0.2
jakartaValidationVersion=3.0.2
hibernateValidatorVersion=8.0.0.Final
glassfishJakartaElVersion=4.0.2
jakartaActivation=2.1.0
swaggerVersion=2.2.7
jakartaActivation=2.1.1
swaggerVersion=2.2.8
mustacheVersion=0.9.10

hibernateVersion=6.1.5.Final
liquibaseVersion=4.17.2
postgresVersion=42.5.1
hibernateVersion=6.1.7.Final
liquibaseVersion=4.20.0
postgresVersion=42.5.4
h2Version=2.1.214
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
4 changes: 2 additions & 2 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -144,15 +144,15 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,42 +77,42 @@ internal class HibernateTest {
override fun contentType() = "application/json".toMediaTypeOrNull()

override fun writeTo(sink: BufferedSink) {
sink.writeUtf8("""{"name": "a"}""")
sink.writeUtf8("""{"name": "a","organization":"main"}""")
}
})
.url("http://localhost:9091/projects")
.build()).execute().use { response ->
assertThat(response.isSuccessful, `is`(true))
assertThat(response.body?.string(), equalTo("""{"id":1000,"name":"a"}"""))
assertThat(response.body?.string(), equalTo("""{"id":1000,"name":"a","organization":"main"}"""))
}

client.newCall(Request.Builder()
.url("http://localhost:9091/projects/1000")
.build()).execute().use { response ->
assertThat(response.isSuccessful, `is`(true))
assertThat(response.body?.string(), equalTo("""{"id":1000,"name":"a"}"""))
assertThat(response.body?.string(), equalTo("""{"id":1000,"name":"a","organization":"main"}"""))
}


client.newCall(Request.Builder()
.url("http://localhost:9091/projects")
.build()).execute().use { response ->
assertThat(response.isSuccessful, `is`(true))
assertThat(response.body?.string(), equalTo("""[{"id":1000,"name":"a"}]"""))
assertThat(response.body?.string(), equalTo("""[{"id":1000,"name":"a","organization":"main"}]"""))
}

client.newCall(Request.Builder()
.post(object : RequestBody() {
override fun contentType() = "application/json".toMediaTypeOrNull()

override fun writeTo(sink: BufferedSink) {
sink.writeUtf8("""{"name": "a","description":"d"}""")
sink.writeUtf8("""{"name": "a","description":"d","organization":"main"}""")
}
})
.url("http://localhost:9091/projects/1000")
.build()).execute().use { response ->
assertThat(response.isSuccessful, `is`(true))
assertThat(response.body?.string(), equalTo("""{"id":1000,"name":"a","description":"d"}"""))
assertThat(response.body?.string(), equalTo("""{"id":1000,"name":"a","description":"d","organization":"main"}"""))
}
client.newCall(Request.Builder()
.delete()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,7 @@ class ProjectDao {

@Column
var description: String? = null

@Column
var organization: String? = null
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ package org.radarbase.jersey.hibernate.db

interface ProjectRepository {
fun list(): List<ProjectDao>
fun create(name: String, description: String?): ProjectDao
fun update(id: Long, description: String?): ProjectDao?
fun create(name: String, description: String?, organization: String): ProjectDao
fun update(id: Long, description: String?, organization: String): ProjectDao?
fun delete(id: Long)
fun get(id: Long): ProjectDao?
}
Loading

0 comments on commit d639844

Please sign in to comment.