@@ -5,6 +5,30 @@ projects.
5
5
6
6
<br />
7
7
8
+ ## Why the Web APIs project?
9
+
10
+ [ EchoSVG] ( https://github.com/css4j/echosvg ) is a fork of Apache Batik, an SVG
11
+ toolkit in the Java language. Both projects require Java bindings based on old
12
+ versions of the SVG and SMIL DOM APIs.
13
+
14
+ Apache Batik uses the ` xml-apis-ext-1.3.04.jar ` package, which is unsuitable for
15
+ modular Java due to the fact that it also contains the SAC package which is found
16
+ in other packages.
17
+
18
+ This project offers separate packages for SVGOM and SMIL which aren't the exact
19
+ ones shipped by ` xml-apis-ext-1.3.04 ` but are compatible with both EchoSVG and
20
+ Batik.
21
+
22
+ The code is based on old Java bindings downloaded from the W3C, and several
23
+ method signatures had to be modified so they matched the implementations in
24
+ EchoSVG/Batik. Although it would have been easy to upgrade EchoSVG instead, that
25
+ would have created problems in cases where both ` xml-apis-ext-1.3.04.jar ` and
26
+ ` svgom-api ` or ` smil-api ` were found in the classpath or modulepath (which is
27
+ conceivable if, for example, somebody is using EchoSVG and Apache FOP in the
28
+ same project).
29
+
30
+ <br />
31
+
8
32
## Building from source
9
33
10
34
### Requirements
@@ -13,6 +37,7 @@ To build `web-apis` you need the following software installed:
13
37
14
38
- The [ Git version control system] ( https://git-scm.com/downloads ) is required to
15
39
obtain the sources. Any recent version should suffice.
40
+
16
41
- Java 11 or later. You can install it from your favourite package manager or by
17
42
downloading from [ Adoptium] ( https://adoptium.net/ ) .
18
43
@@ -34,7 +59,9 @@ or just `gradlew build` (without the `./`) on a Windows command prompt.
34
59
### Deploying to a Maven repository
35
60
36
61
Use:
62
+
37
63
- ` gradlew build publishToMavenLocal ` to install in your local Maven repository.
64
+
38
65
- ` gradlew publish ` to deploy to a (generally remote) Maven repository.
39
66
40
67
Before deploying to a remote Maven repository, please read the
@@ -50,6 +77,7 @@ to learn which properties you need to set (like `mavenReleaseRepoUrl`or
50
77
51
78
If your Gradle project depends on any of the web-apis modules, you can use this
52
79
project's own Maven repository in a ` repositories ` section of your build file:
80
+
53
81
``` groovy
54
82
repositories {
55
83
maven {
0 commit comments