Compare commits

...

9 commits

Author SHA1 Message Date
4cc92e956f
Update root pom 2025-03-16 15:37:59 -07:00
b17a4fd588
Cleanup tests 2025-03-16 15:32:14 -07:00
944fbf1228
Bump JUnit to version 5.12.1 2025-03-16 13:17:08 -07:00
427dc1a248
Bump org.json to version 20250107 2025-03-16 13:16:42 -07:00
256903cec1
Update extensions dependencies
Bump Detekt extension to version 0.9.9
Bump Dokka extension to version 1.0.3
Bump Jacoco Report extension to version 0.9.9
Bump Kotlin extension to version 1.0.4
2025-03-16 13:15:40 -07:00
41e0d866e2
Bump Kotlin to version 2.1.10 2025-03-16 13:13:36 -07:00
3afbfb26ed
Bump bld to version 2.2.1 2025-03-16 13:12:40 -07:00
ccfe3ac4db
Updated copyright 2025-01-01 16:51:39 -08:00
b0631046b9
Bumped Json to version 20241224 2025-01-01 16:50:07 -08:00
30 changed files with 54 additions and 54 deletions

View file

@ -14,7 +14,7 @@ jobs:
strategy:
matrix:
java-version: [17, 21, 23]
kotlin-version: [1.9.24, 2.1.0]
kotlin-version: [1.9.25, 2.1.10]
steps:
- name: Checkout source repository

View file

@ -2,12 +2,12 @@
<library name="bld">
<CLASSES>
<root url="file://$PROJECT_DIR$/lib/bld" />
<root url="jar://$USER_HOME$/.bld/dist/bld-2.1.0.jar!/" />
<root url="jar://$USER_HOME$/.bld/dist/bld-2.2.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="file://$PROJECT_DIR$/lib/bld" />
<root url="jar://$USER_HOME$/.bld/dist/bld-2.1.0-sources.jar!/" />
<root url="jar://$USER_HOME$/.bld/dist/bld-2.2.1-sources.jar!/" />
</SOURCES>
<excluded>
<root url="jar://$PROJECT_DIR$/lib/bld/bld-wrapper.jar!/" />

View file

@ -1,4 +1,4 @@
Copyright 2022-2023 Erik C. Thauvin (erik@thauvin.net)
Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

View file

@ -1,6 +1,6 @@
[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](https://opensource.org/licenses/BSD-3-Clause)
[![Kotlin](https://img.shields.io/badge/kotlin-2.1.0-7f52ff)](https://kotlinlang.org/)
[![bld](https://img.shields.io/badge/2.1.0-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld)
[![Kotlin](https://img.shields.io/badge/kotlin-2.1.10-7f52ff)](https://kotlinlang.org/)
[![bld](https://img.shields.io/badge/2.2.1-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld)
[![Release](https://img.shields.io/github/release/ethauvin/jokeapi.svg)](https://github.com/ethauvin/jokeapi/releases/latest)
[![Maven Central](https://img.shields.io/maven-central/v/net.thauvin.erik/jokeapi?color=blue)](https://central.sonatype.com/artifact/net.thauvin.erik/jokeapi)
[![Nexus Snapshot](https://img.shields.io/nexus/s/net.thauvin.erik/jokeapi?label=snapshot&server=https%3A%2F%2Foss.sonatype.org%2F)](https://oss.sonatype.org/content/repositories/snapshots/net/thauvin/erik/jokeapi/)

Binary file not shown.

View file

@ -1,10 +1,10 @@
bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
bld.downloadLocation=
bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.7
bld.extension-dokka=com.uwyn.rife2:bld-dokka:1.0.2
bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.8
bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.3
bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.9
bld.extension-dokka=com.uwyn.rife2:bld-dokka:1.0.3
bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.9
bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.4
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
bld.sourceDirectories=
bld.version=2.1.0
bld.version=2.2.1

View file

@ -18,13 +18,13 @@
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>2.1.0</version>
<version>2.1.10</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20240303</version>
<version>20250107</version>
<scope>compile</scope>
</dependency>
<dependency>

View file

@ -1,7 +1,7 @@
/*
* JokeApiBuild.java
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@ -67,15 +67,15 @@ public class JokeApiBuild extends Project {
autoDownloadPurge = true;
repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL);
final var kotlin = version(2, 1, 0);
final var kotlin = version(2, 1, 10);
scope(compile)
.include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin))
.include(dependency("org.json", "json", "20240303"))
.include(dependency("org.json", "json", "20250107"))
.include(dependency("net.thauvin.erik.urlencoder", "urlencoder-lib-jvm", version(1, 6, 0)));
scope(test)
.include(dependency("org.jetbrains.kotlin", "kotlin-test-junit5", kotlin))
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 4)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 4)))
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 1)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 1)))
.include(dependency("com.willowtreeapps.assertk", "assertk-jvm", version(0, 28, 1)));
publishOperation()
@ -167,6 +167,12 @@ public class JokeApiBuild extends Project {
pomRoot();
}
@Override
public void publishLocal() throws Exception {
super.publishLocal();
pomRoot();
}
@BuildCommand(value = "pom-root", summary = "Generates the POM file in the root directory")
public void pomRoot() throws FileUtilsErrorException {
PomBuilder.generateInto(publishOperation().fromProject(this).info(), dependencies(),

View file

@ -1,7 +1,7 @@
/*
* JokeApi.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* JokeConfig.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* JokeUtil.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* HttpErrorException.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* JokeException.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* Category.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* Flag.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* Format.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* IdRange.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* Joke.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* JokeResponse.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* Language.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* Parameter.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* Type.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* ApiCallTest.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* BeforeAllTests.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* ExceptionsTest.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* GetJokeTest.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@ -70,15 +70,12 @@ internal class GetJokeTest {
@Test
fun `Get Joke with ID`() {
val id = 172
val id = 201
val joke = joke(idRange = IdRange(id))
logger.fine(joke.toString())
assertThat(joke, "joke($id)").all {
prop(Joke::flags).all {
contains(Flag.EXPLICIT)
contains(Flag.NSFW)
}
prop(Joke::id).isEqualTo(172)
prop(Joke::flags).contains(Flag.RELIGIOUS);
prop(Joke::id).isEqualTo(id)
prop(Joke::category).isEqualTo(Category.PUN)
}
}
@ -137,12 +134,10 @@ internal class GetJokeTest {
@Test
fun `Get Joke with Split Newline`() {
val joke = joke(
categories = setOf(Category.DARK), type = Type.SINGLE, idRange = IdRange(178), splitNewLine = true
)
val joke = joke(type = Type.SINGLE, idRange = IdRange(18), splitNewLine = true)
logger.fine(joke.toString())
assertThat(joke::joke, "joke(splitNewLine=true)").all {
size().isEqualTo(2)
size().isGreaterThanOrEqualTo(2)
each {
containsNone("\n")
}
@ -177,13 +172,12 @@ internal class GetJokeTest {
@Test
fun `Get Joke using Search`() {
val id = 265
val search = "his wife"
val search = "UDP joke"
val joke =
joke(contains = search, categories = setOf(Category.PROGRAMMING), idRange = IdRange(id), safe = true)
joke(contains = search, categories = setOf(Category.PROGRAMMING), safe = true)
logger.fine(joke.toString())
assertThat(joke, "joke($search)").all {
prop(Joke::id).isEqualTo(id)
prop(Joke::id).isEqualTo(0)
prop(Joke::joke).any {
it.contains(search)
}

View file

@ -1,7 +1,7 @@
/*
* GetJokesTest.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* GetRawJokesTest.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* JokeConfigTest.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:

View file

@ -1,7 +1,7 @@
/*
* JokeUtilTest.kt
*
* Copyright 2022-2024 Erik C. Thauvin (erik@thauvin.net)
* Copyright 2022-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: