Compare commits
9 commits
97e0479ffb
...
4cc92e956f
Author | SHA1 | Date | |
---|---|---|---|
4cc92e956f | |||
b17a4fd588 | |||
944fbf1228 | |||
427dc1a248 | |||
256903cec1 | |||
41e0d866e2 | |||
3afbfb26ed | |||
ccfe3ac4db | |||
b0631046b9 |
30 changed files with 54 additions and 54 deletions
2
.github/workflows/bld.yml
vendored
2
.github/workflows/bld.yml
vendored
|
@ -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
|
||||
|
|
4
.idea/libraries/bld.xml
generated
4
.idea/libraries/bld.xml
generated
|
@ -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!/" />
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[](https://opensource.org/licenses/BSD-3-Clause)
|
||||
[](https://kotlinlang.org/)
|
||||
[](https://rife2.com/bld)
|
||||
[](https://kotlinlang.org/)
|
||||
[](https://rife2.com/bld)
|
||||
[](https://github.com/ethauvin/jokeapi/releases/latest)
|
||||
[](https://central.sonatype.com/artifact/net.thauvin.erik/jokeapi)
|
||||
[](https://oss.sonatype.org/content/repositories/snapshots/net/thauvin/erik/jokeapi/)
|
||||
|
|
Binary file not shown.
|
@ -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
|
||||
|
|
4
pom.xml
4
pom.xml
|
@ -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>
|
||||
|
|
|
@ -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(),
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue