Skip to content

Commit 398288b

Browse files
committed
0 parents  commit 398288b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+6621
-0
lines changed

.github/workflows/test.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Test
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Set up JDK 17
17+
uses: actions/setup-java@v4
18+
with:
19+
java-version: '17'
20+
distribution: 'temurin'
21+
cache: 'sbt'
22+
23+
- name: Set up sbt
24+
uses: sbt/setup-sbt@v1
25+
26+
- name: Run tests
27+
run: sbt +test

README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# TinyScalaUtilsJava
2+
3+
Java bridges for [TinyScalaUtils](https://github.com/charpov/TinyScalaUtils).
4+
5+
## Installation
6+
7+
Using `Gradle`:
8+
9+
```kotlin
10+
dependencies {
11+
implementation("io.github.charpov:tiny-scala-utils-java:1.8.0")
12+
}
13+
```
14+
15+
(Adjust for other Maven-based tools.)
16+
17+
## Binary compatibility
18+
19+
Java 17 or newer.
20+
21+
## Documentation
22+
23+
Limited [Javadoc](https://charpov.github.io/TinyScalaUtilsJava/tinyscalautils/java/package-summary.html), but most information is to be found on the [TinyScalaUtils](https://charpov.github.io/TinyScalaUtils/) site.

build.sbt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
ThisBuild / version := "1.8.0"
2+
ThisBuild / scalaVersion := "3.3.6"
3+
4+
val JSpecify = "org.jspecify" % "jspecify" % "1.0.0"
5+
//noinspection SbtDependencyVersionInspection
6+
// cannot upgrade JUnit until sbt.junit catches up
7+
val JUnit = "org.junit.jupiter" % "junit-jupiter" % "5.13.4"
8+
9+
ThisBuild / crossPaths := false
10+
11+
ThisBuild / Test / fork := true
12+
ThisBuild / Test / parallelExecution := false
13+
ThisBuild / Test / run / outputStrategy := Some(StdoutOutput)
14+
15+
ThisBuild / javacOptions := Seq("-deprecation", "-Xlint", "--release", "17")
16+
17+
ThisBuild / scalacOptions := Seq(
18+
"-deprecation", // Emit warning and location for usages of deprecated APIs.
19+
"-feature", // Emit warning for usages of features that should be imported explicitly.
20+
"-unchecked", // Enable detailed unchecked (erasure) warnings.
21+
"-source:future", // source version.
22+
"-language:noAutoTupling", // no auto-tupling
23+
"-Wunused:linted", // unused stuff
24+
"-java-output-version:17", // Target Java 17, which is needed anyway
25+
)
26+
27+
lazy val tinyscalautilsjava = (project in file(".")).settings(
28+
name := "tiny-scala-utils-java",
29+
libraryDependencies ++= Seq(
30+
JSpecify,
31+
JUnit % Test,
32+
"io.github.charpov" %% "tiny-scala-utils" % version.value,
33+
"com.github.sbt.junit" % "jupiter-interface" % JupiterKeys.jupiterVersion.value % Test
34+
),
35+
)

doc.sbt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
lazy val docoptions = taskKey[Unit]("Prints java options (doc)")
2+
ThisBuild / docoptions := {
3+
println(Attributed.data((Compile / fullClasspath).value).mkString("-classpath\n", ":", ""))
4+
}

docs/allclasses-index.html

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
<!DOCTYPE HTML>
2+
<html lang="en">
3+
<head>
4+
<!-- Generated by javadoc (17) on Wed Oct 08 11:37:24 EDT 2025 -->
5+
<title>All Classes and Interfaces</title>
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
8+
<meta name="dc.created" content="2025-10-08">
9+
<meta name="description" content="class index">
10+
<meta name="generator" content="javadoc/AllClassesIndexWriter">
11+
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
12+
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
13+
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
14+
<script type="text/javascript" src="script.js"></script>
15+
<script type="text/javascript" src="script-dir/jquery-3.7.1.min.js"></script>
16+
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
17+
</head>
18+
<body class="all-classes-index-page">
19+
<script type="text/javascript">var pathtoroot = "./";
20+
loadScripts(document, 'script');</script>
21+
<noscript>
22+
<div>JavaScript is disabled on your browser.</div>
23+
</noscript>
24+
<div class="flex-box">
25+
<header role="banner" class="flex-header">
26+
<nav role="navigation">
27+
<!-- ========= START OF TOP NAVBAR ======= -->
28+
<div class="top-nav" id="navbar-top">
29+
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
30+
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
31+
<li><a href="tinyscalautils/java/package-summary.html">Package</a></li>
32+
<li>Class</li>
33+
<li><a href="tinyscalautils/java/package-tree.html">Tree</a></li>
34+
<li><a href="index-all.html">Index</a></li>
35+
<li><a href="help-doc.html#all-classes">Help</a></li>
36+
</ul>
37+
</div>
38+
<div class="sub-nav">
39+
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
40+
<input type="text" id="search-input" value="search" disabled="disabled">
41+
<input type="reset" id="reset-button" value="reset" disabled="disabled">
42+
</div>
43+
</div>
44+
<!-- ========= END OF TOP NAVBAR ========= -->
45+
<span class="skip-nav" id="skip-navbar-top"></span></nav>
46+
</header>
47+
<div class="flex-content">
48+
<main role="main">
49+
<div class="header">
50+
<h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces</h1>
51+
</div>
52+
<div id="all-classes-table">
53+
<div class="caption"><span>Classes</span></div>
54+
<div class="summary-table two-column-summary">
55+
<div class="table-header col-first">Class</div>
56+
<div class="table-header col-last">Description</div>
57+
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Assertions.html" title="class in tinyscalautils.java">Assertions</a></div>
58+
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
59+
<div class="block">Java wrappers for assertion functions.</div>
60+
</div>
61+
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Collection.html" title="class in tinyscalautils.java">Collection</a></div>
62+
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
63+
<div class="block">Java wrappers for collection functions.</div>
64+
</div>
65+
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Collection.JavaList.html" title="class in tinyscalautils.java">Collection.JavaList</a></div>
66+
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
67+
<div class="block">Mutable Java lists.</div>
68+
</div>
69+
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Text.html" title="class in tinyscalautils.java">Text</a></div>
70+
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
71+
<div class="block">Java wrappers for text functions.</div>
72+
</div>
73+
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Text.SILENT_MODE.html" title="class in tinyscalautils.java">Text.SILENT_MODE</a></div>
74+
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
75+
<div class="block">Silent mode.</div>
76+
</div>
77+
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Text.STANDARD_MODE.html" title="class in tinyscalautils.java">Text.STANDARD_MODE</a></div>
78+
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
79+
<div class="block">Standard mode.</div>
80+
</div>
81+
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Text.THREAD_MODE.html" title="class in tinyscalautils.java">Text.THREAD_MODE</a></div>
82+
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
83+
<div class="block">Thread mode.</div>
84+
</div>
85+
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Text.THREAD_TIME_DEMO_MODE.html" title="class in tinyscalautils.java">Text.THREAD_TIME_DEMO_MODE</a></div>
86+
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
87+
<div class="block">Thread-time (demo) mode.</div>
88+
</div>
89+
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Text.THREAD_TIME_MODE.html" title="class in tinyscalautils.java">Text.THREAD_TIME_MODE</a></div>
90+
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
91+
<div class="block">Thread-time mode.</div>
92+
</div>
93+
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Text.TIME_DEMO_MODE.html" title="class in tinyscalautils.java">Text.TIME_DEMO_MODE</a></div>
94+
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
95+
<div class="block">Time (demo) mode.</div>
96+
</div>
97+
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Text.TIME_MODE.html" title="class in tinyscalautils.java">Text.TIME_MODE</a></div>
98+
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
99+
<div class="block">Time mode.</div>
100+
</div>
101+
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Timing.html" title="class in tinyscalautils.java">Timing</a></div>
102+
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
103+
<div class="block">Java wrappers for timing functions.</div>
104+
</div>
105+
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/TimingPair.html" title="class in tinyscalautils.java">TimingPair</a>&lt;<a href="tinyscalautils/java/TimingPair.html" title="type parameter in TimingPair">A</a>&gt;</div>
106+
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
107+
<div class="block">A dedicated pair type that represents a value and the time it took to compute it.</div>
108+
</div>
109+
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="tinyscalautils/java/Util.html" title="class in tinyscalautils.java">Util</a></div>
110+
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
111+
<div class="block">Java wrappers for util functions.</div>
112+
</div>
113+
</div>
114+
</div>
115+
</main>
116+
</div>
117+
</div>
118+
</body>
119+
</html>

docs/allpackages-index.html

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<!DOCTYPE HTML>
2+
<html lang="en">
3+
<head>
4+
<!-- Generated by javadoc (17) on Wed Oct 08 11:37:24 EDT 2025 -->
5+
<title>All Packages</title>
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
8+
<meta name="dc.created" content="2025-10-08">
9+
<meta name="description" content="package index">
10+
<meta name="generator" content="javadoc/AllPackagesIndexWriter">
11+
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
12+
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
13+
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
14+
<script type="text/javascript" src="script.js"></script>
15+
<script type="text/javascript" src="script-dir/jquery-3.7.1.min.js"></script>
16+
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
17+
</head>
18+
<body class="all-packages-index-page">
19+
<script type="text/javascript">var pathtoroot = "./";
20+
loadScripts(document, 'script');</script>
21+
<noscript>
22+
<div>JavaScript is disabled on your browser.</div>
23+
</noscript>
24+
<div class="flex-box">
25+
<header role="banner" class="flex-header">
26+
<nav role="navigation">
27+
<!-- ========= START OF TOP NAVBAR ======= -->
28+
<div class="top-nav" id="navbar-top">
29+
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
30+
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
31+
<li><a href="tinyscalautils/java/package-summary.html">Package</a></li>
32+
<li>Class</li>
33+
<li><a href="tinyscalautils/java/package-tree.html">Tree</a></li>
34+
<li><a href="index-all.html">Index</a></li>
35+
<li><a href="help-doc.html#all-packages">Help</a></li>
36+
</ul>
37+
</div>
38+
<div class="sub-nav">
39+
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
40+
<input type="text" id="search-input" value="search" disabled="disabled">
41+
<input type="reset" id="reset-button" value="reset" disabled="disabled">
42+
</div>
43+
</div>
44+
<!-- ========= END OF TOP NAVBAR ========= -->
45+
<span class="skip-nav" id="skip-navbar-top"></span></nav>
46+
</header>
47+
<div class="flex-content">
48+
<main role="main">
49+
<div class="header">
50+
<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
51+
</div>
52+
<div class="caption"><span>Package Summary</span></div>
53+
<div class="summary-table two-column-summary">
54+
<div class="table-header col-first">Package</div>
55+
<div class="table-header col-last">Description</div>
56+
<div class="col-first even-row-color"><a href="tinyscalautils/java/package-summary.html">tinyscalautils.java</a></div>
57+
<div class="col-last even-row-color">
58+
<div class="block">Java wrappers for TinyScalaUtils functions.</div>
59+
</div>
60+
</div>
61+
</main>
62+
</div>
63+
</div>
64+
</body>
65+
</html>

docs/element-list

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
tinyscalautils.java

0 commit comments

Comments
 (0)