Adds moule to remote check library functionality

This commit is contained in:
Julien Lengrand-Lambert
2025-05-16 23:32:42 +02:00
parent e88b2ca5c4
commit ea62c616fb
6 changed files with 77 additions and 17 deletions

1
.idea/gradle.xml generated
View File

@@ -10,6 +10,7 @@
<set> <set>
<option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/demo" /> <option value="$PROJECT_DIR$/demo" />
<option value="$PROJECT_DIR$/demo-remote" />
<option value="$PROJECT_DIR$/opengraphkt" /> <option value="$PROJECT_DIR$/opengraphkt" />
</set> </set>
</option> </option>

View File

@@ -0,0 +1,28 @@
plugins {
kotlin("jvm")
application
}
group = "fr.lengrand"
repositories {
mavenCentral()
}
dependencies {
implementation("org.jsoup:jsoup:1.20.1")
implementation("fr.lengrand:opengraphkt:0.0.1")
testImplementation(kotlin("test"))
}
tasks.test {
useJUnitPlatform()
}
kotlin {
jvmToolchain(23)
}
application {
mainClass = "fr.lengrand.opengraphkt.MainKt"
}

View File

@@ -0,0 +1,38 @@
package fr.lengrand.opengraphkt
import org.jsoup.Jsoup
/**
* This module is only here to verify that the latest Maven Central release can be imported and used as intended.
*/
fun main() {
val parser = OpenGraphParser()
val html = """
<!DOCTYPE html>
<html>
<head>
<title>Open Graph Example</title>
<meta property="og:title" content="The Rock" />
<meta property="og:type" content="video.movie" />
<meta property="og:url" content="https://example.com/the-rock" />
<meta property="og:image" content="https://example.com/rock.jpg" />
<meta property="og:image:width" content="300" />
<meta property="og:image:height" content="200" />
<meta property="og:description" content="An action movie about a rock" />
<meta property="og:site_name" content="Example Movies" />
</head>
<body>
<h1>Example Page</h1>
</body>
</html>
""".trimIndent()
println("Parsing from JSoup Document")
val doc = Jsoup.parse(html)
val openGraphDataDoc = parser.parse(doc)
println("Title: ${openGraphDataDoc.title}")
println("Is valid: ${openGraphDataDoc.isValid()}")
}

View File

@@ -1,12 +1,11 @@
import org.gradle.kotlin.dsl.implementation import org.gradle.kotlin.dsl.implementation
plugins { plugins {
kotlin("jvm") version "2.1.21" kotlin("jvm")
application application
} }
group = "nl.lengrand" group = "fr.lengrand"
version = "0.1-SNAPSHOT"
repositories { repositories {
mavenCentral() mavenCentral()
@@ -18,22 +17,10 @@ dependencies {
testImplementation(kotlin("test")) testImplementation(kotlin("test"))
} }
java {
withSourcesJar()
}
tasks.test { tasks.test {
useJUnitPlatform() useJUnitPlatform()
} }
tasks.jar {
manifest {
attributes(mapOf("Implementation-Title" to project.name,
"Implementation-Version" to project.version))
}
}
kotlin { kotlin {
jvmToolchain(23) jvmToolchain(23)
} }

View File

@@ -1,7 +1,7 @@
import com.vanniktech.maven.publish.SonatypeHost import com.vanniktech.maven.publish.SonatypeHost
plugins { plugins {
kotlin("jvm") version "2.1.21" kotlin("jvm")
id("com.vanniktech.maven.publish") version "0.30.0" id("com.vanniktech.maven.publish") version "0.30.0"
} }

View File

@@ -1,6 +1,12 @@
pluginManagement {
plugins {
kotlin("jvm") version "2.1.21"
}
}
plugins { plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
} }
rootProject.name = "OpenGraphKt" rootProject.name = "OpenGraphKt"
include("opengraphkt") include("opengraphkt")
include("demo") include("demo")
include("demo-remote")