Skip to content

Commit 4e96195

Browse files
committed
Add overview and package files to Javadoc
1 parent a5c4c9d commit 4e96195

19 files changed

Lines changed: 978 additions & 14 deletions

File tree

.github/workflows/apidocs.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@ jobs:
1818
persist-credentials: false
1919
- uses: actions/setup-java@v5
2020
with:
21-
java-version: 21
21+
java-version: 24
2222
distribution: temurin
2323
cache: maven
2424
- run: $MVN install
2525
working-directory: bom
2626
- run: $MVN install -Dquickly
27+
- run: $MVN depgraph:aggregate
2728
- run: |
29+
$MVN org.apache.maven.plugins:maven-antrun-plugin:run@copy-doc-files
2830
$MVN org.apache.maven.plugins:maven-antrun-plugin:run@copy-sources
2931
$MVN org.apache.maven.plugins:maven-antrun-plugin:run@copy-demos
3032
$MVN javadoc:javadoc

.github/workflows/release.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ jobs:
1515
- uses: actions/checkout@v6
1616
- uses: actions/setup-java@v5
1717
with:
18-
java-version: 21
18+
java-version: 24
1919
distribution: temurin
2020
cache: maven
2121
- run: $MVN package
2222
working-directory: bom
2323
- uses: actions/setup-java@v5
2424
with: # running setup-java again overwrites the settings.xml
25-
java-version: 21
25+
java-version: 24
2626
distribution: temurin
2727
server-id: central
2828
server-username: CENTRAL_USERNAME
@@ -46,13 +46,13 @@ jobs:
4646
- uses: actions/checkout@v6
4747
- uses: actions/setup-java@v5
4848
with:
49-
java-version: 21
49+
java-version: 24
5050
distribution: temurin
5151
cache: maven
5252
- run: $MVN package
5353
- uses: actions/setup-java@v5
5454
with: # running setup-java again overwrites the settings.xml
55-
java-version: 21
55+
java-version: 24
5656
distribution: temurin
5757
server-id: central
5858
server-username: CENTRAL_USERNAME
@@ -76,13 +76,15 @@ jobs:
7676
persist-credentials: false
7777
- uses: actions/setup-java@v5
7878
with:
79-
java-version: 21
79+
java-version: 24
8080
distribution: temurin
8181
cache: maven
8282
- run: $MVN install
8383
working-directory: bom
8484
- run: $MVN install -Dquickly
85+
- run: $MVN depgraph:aggregate
8586
- run: |
87+
$MVN org.apache.maven.plugins:maven-antrun-plugin:run@copy-doc-files
8688
$MVN org.apache.maven.plugins:maven-antrun-plugin:run@copy-sources
8789
$MVN org.apache.maven.plugins:maven-antrun-plugin:run@copy-demos
8890
$MVN javadoc:javadoc

.github/workflows/samples.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- uses: actions/checkout@v6
1414
- uses: actions/setup-java@v5
1515
with:
16-
java-version: 21
16+
java-version: 24
1717
distribution: temurin
1818
cache: maven
1919
- run: $MVN install

.github/workflows/snapshot.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- uses: actions/checkout@v6
1616
- uses: actions/setup-java@v5
1717
with:
18-
java-version: 21
18+
java-version: 24
1919
distribution: temurin
2020
cache: maven
2121
server-id: central
@@ -37,7 +37,7 @@ jobs:
3737
- uses: actions/checkout@v6
3838
- uses: actions/setup-java@v5
3939
with:
40-
java-version: 21
40+
java-version: 24
4141
distribution: temurin
4242
cache: maven
4343
server-id: central

.github/workflows/verify.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- uses: actions/checkout@v6
1717
- uses: actions/setup-java@v5
1818
with:
19-
java-version: 21
19+
java-version: 24
2020
distribution: temurin
2121
cache: maven
2222
- run: $MVN install

apidocs.sh renamed to apidoc.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,10 @@ parse_params() {
9494
parse_params "$@"
9595
setup_colors
9696

97+
./mvnw depgraph:aggregate
9798
cd apidoc
9899
./mvnw clean
100+
./mvnw org.apache.maven.plugins:maven-antrun-plugin:run@copy-doc-files
99101
./mvnw org.apache.maven.plugins:maven-antrun-plugin:run@copy-sources
100102
./mvnw org.apache.maven.plugins:maven-antrun-plugin:run@copy-demos
101103
./mvnw javadoc:javadoc

apidoc/.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
src
1+
src/demo
2+
src/main/java
3+
src/main/javadoc/doc-files

apidoc/pom.xml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@
7272
<configuration>
7373
<filesets>
7474
<fileset>
75-
<directory>src</directory>
75+
<directory>src/demo</directory>
76+
<directory>src/main/java</directory>
7677
</fileset>
7778
</filesets>
7879
</configuration>
@@ -82,6 +83,19 @@
8283
<artifactId>maven-antrun-plugin</artifactId>
8384
<inherited>false</inherited>
8485
<executions>
86+
<execution>
87+
<id>copy-doc-files</id>
88+
<goals>
89+
<goal>run</goal>
90+
</goals>
91+
<configuration>
92+
<target>
93+
<copy todir="src/main/javadoc/doc-files" overwrite="true" failonerror="false">
94+
<file file="../dependency-graph.png"/>
95+
</copy>
96+
</target>
97+
</configuration>
98+
</execution>
8599
<execution>
86100
<id>copy-sources</id>
87101
<goals>
@@ -158,6 +172,7 @@
158172
<debug>true</debug>
159173
<detectLinks>true</detectLinks>
160174
<doclint>none</doclint>
175+
<docfilessubdirs>true</docfilessubdirs>
161176
<sourceFileExcludes>
162177
<exclude>**/*Demo.java</exclude>
163178
</sourceFileExcludes>
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
<!DOCTYPE html>
2+
<!--
3+
4+
Copyright 2023 Red Hat
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
https://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
18+
-->
19+
<html lang="en">
20+
<head>
21+
<meta charset="UTF-8">
22+
</head>
23+
<body>
24+
Elemento is a modern, type-safe Java library for building web user interfaces using
25+
<a href="https://www.gwtproject.org/">GWT</a> and <a href="https://github.com/google/j2cl">J2CL</a>.
26+
It provides a fluent builder API that makes creating and manipulating DOM elements natural and intuitive,
27+
eliminating the verbosity of traditional DOM manipulation.
28+
29+
<h2>Overview</h2>
30+
31+
<p>Elemento simplifies web development by offering:</p>
32+
<ul>
33+
<li><b>Fluent Builder API</b>: Create complex DOM hierarchies with clean, readable code</li>
34+
<li><b>Type Safety</b>: Leverage Java's type system to catch errors at compile time</li>
35+
<li><b>Modular Architecture</b>: Choose only the modules you need for your application</li>
36+
<li><b>Modern Web Standards</b>: Support for Custom Elements, SVG, MathML, and more</li>
37+
<li><b>Developer Friendly</b>: Intuitive APIs that reduce boilerplate and improve productivity</li>
38+
</ul>
39+
40+
<h2>Modules</h2>
41+
42+
<p><img src="doc-files/dependency-graph.png" alt="Elemento Module Dependencies"/></p>
43+
44+
<p>Elemento is structured as a set of modules with <b>elemento-core</b> at the foundation. The core module provides
45+
the essential builder API for creating and manipulating HTML elements, event handling, type-safe CSS selectors,
46+
and utilities for DOM traversal and manipulation.</p>
47+
48+
<p>Additional optional modules build on top of the core: <b>elemento-router</b> for single-page application routing,
49+
<b>elemento-flow</b> for asynchronous task control flow, <b>elemento-logger</b> for lightweight logging,
50+
<b>elemento-intl</b> for internationalization support, <b>elemento-svg</b> for SVG element creation,
51+
and <b>elemento-mathml</b> for mathematical notation. Each module can be used independently based on your
52+
application's needs.</p>
53+
54+
</body>
55+
</html>

0 commit comments

Comments
 (0)