Skip to content

Commit 98709d5

Browse files
authored
Merge pull request #149 from eXist-db/DP-maven-out
Readme and release changes
2 parents d7b2a57 + 9dac6cc commit 98709d5

File tree

6 files changed

+166
-65
lines changed

6 files changed

+166
-65
lines changed

README.md

Lines changed: 32 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,41 @@
1-
eXist-db Documentation
2-
======================
1+
# eXist-db Documentation
32
[![Build Status](https://travis-ci.org/eXist-db/documentation.svg?branch=master)](https://travis-ci.org/eXist-db/documentation)
3+
[![docbook version](https://img.shields.io/badge/docbook-4.5-19a5a4.svg)](http://docbook.org/xml/4.5/)
4+
[![docbook version](https://img.shields.io/badge/eXist_db-3.5.0-blue.svg)](http://www.exist-db.org/exist/apps/homepage/index.html)
45

5-
This repository contains the official documentation for the eXist-db Native XML database and the application for browsing it.
6+
<img src="src/main/xar-resources/icon.png" align="left" width="15%"/>
67

7-
## Resources
8+
This repository contains the official documentation for the [eXist-db native XML database](http://www.exist-db.org) and the application for browsing it. You can browse the latest release of the documentation on [eXist-db homepage](http://exist-db.org/exist/apps/doc/). User reporting errors should check the [contributions](#contributions) section below. Core-contributors preparing a release should consult the [release procedure](RELEASE.md)
89

9-
- Browse the latest release of the documentation at http://exist-db.org/exist/apps/doc/.
10-
- The documentation app is included by default in the eXist-db installer. Just go to your eXist server's Dashboard and select Documentation.
11-
- Update to the latest release via the eXist-db package manager or via the eXist-db.org public app repository at <http://exist-db.org/exist/apps/public-repo/>.
1210

13-
## Building from source
14-
15-
1. Dependencies: Maven 3.x
16-
17-
2. Clone the repository to your system:
18-
19-
```bash
20-
$ git clone https://github.com/exist-db/documentation.git exist-documentation
21-
```
22-
23-
3. Build the documentation application:
24-
```bash
25-
$ cd exist-documentation
26-
$ mvn clean package
27-
```
28-
29-
4. An EXPath Application Package (.xar file) is deposited in the `target` directory
11+
## Dependencies
12+
- [Maven](https://maven.apache.org): 3.x
13+
- [eXist-db](http://exist-db.org): 3.5.0
3014

31-
5. Install this file via the Dashboard > Package Manager.
15+
## Installation
16+
- The default eXist-db installer includes the documentation app. Just go to your eXist server's Dashboard and select Documentation.
17+
- If you need to install an older version, you can download EXPath Application Packages (`.xar` files) of previous [releases](https://github.com/eXist-db/documentation/releases) from GitHub.
18+
- Update to the latest release via the eXist-db package manager or via the eXist-db.org public app repository at [http://exist-db.org/exist/apps/public-repo/](http://exist-db.org/exist/apps/public-repo/).
3219

33-
Find an area of the documentation that needs to be improved? Please raise an issue and submit a pull request!
20+
## Contributions
21+
Found an area of the documentation that needs to be improved? Please raise an [issue](https://github.com/eXist-db/documentation/issues) or better yet submit a [pull request](https://github.com/eXist-db/documentation/pulls)!
3422

23+
Our test-suite performs a validation check on all articles when you open a pull request. You can speed up the review process by running `mvn validate` locally before submitting a pull request.
3524

36-
## Building a Release from source
37-
38-
1. Follow the instructions from [Building from source](#building-from-source)
39-
40-
2. Create a Release:
41-
42-
```bash
43-
$ mvn release:prepare
44-
$ mvn release:perform
45-
```
46-
47-
3. An EXPath Application Package (.xar file) is deposited in the `target` directory
48-
49-
4. If you are a core contributor, you should then commit and push.
25+
## Building from source
26+
1. Clone the repository to your system:
27+
```bash
28+
$ git clone https://github.com/exist-db/documentation.git exist-documentation
29+
```
30+
31+
2. Build the documentation application:
32+
```bash
33+
$ cd exist-documentation
34+
$ mvn clean package
35+
```
36+
The compiled `.xar` file is located in the `/target` directory
37+
38+
3. Install this file via the Dashboard > Package Manager.
39+
40+
## License
41+
LGPLv2.1 [eXist-db.org](http://exist-db.org/exist/apps/homepage/index.html)

RELEASE.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Release Procedure
2+
Core-contributors should follow these steps when publishing a new release of the documentation app.
3+
4+
## Local Environment Checks
5+
- maven requires a valid gpg key associated with your GitHub account to publish a new release, to check your available keys:
6+
```bash
7+
gpg --list-keys
8+
```
9+
- You can perform a dry-run of the release procedure by executing
10+
```bash
11+
$ mvn -DdryRun=true release:prepare
12+
```
13+
- Dry-runs still create files that will interfere with regular releases. You should therefore clean up afterwards by running:
14+
```bash
15+
$ mvn release:rollback
16+
```
17+
18+
19+
## Preparing the Release Commit
20+
1. Merge outstanding and reviewed PRs.
21+
22+
2. Set the `exist.version` in `pom.xml` to prevent users of older exist releases, from installing the wrong documentation locally. Since the canonical version needs to run on exist-db.org please make sure that the main server can actually run the latest documentation, and raise an issue if necessary.
23+
24+
3. To generate the release notes run:
25+
```bash
26+
$ mvn changes:github-report
27+
```
28+
29+
this will generate a `github-report.html` in `target/site` you can copy the list of changes into `xar-assembly.xml` describing which articles changed and how.
30+
31+
## Building the Release
32+
4. Follow the instructions from [Building from source](README.md#building-from-source)
33+
34+
5. To create a release run:
35+
```bash
36+
$ mvn release:prepare
37+
$ mvn release:perform
38+
```
39+
40+
When prompted to pick a version number for the release, remember to mirror the [major version](https://github.com/eXist-db/exist/blob/develop/exist-versioning-release.md#versioning-scheme) of the current eXist-db release. So for exist-db version `3.x.x` the documentation's version should be `3.y.y`. The minor and patch numbers remain independent of each other.
41+
42+
You can find the EXPath Application Package (`.xar` file) for the release in the `/target` directory
43+
44+
## Publishing the Release
45+
Release are published in two locations:
46+
47+
6. GitHub: Repo and [releases](https://github.com/eXist-db/documentation/releases)
48+
- commit and push as usual
49+
- maven should have automatically created a release tag, update it by copying the release notes from `xar-assembly.xml`
50+
- check to make sure that the latest `.xar` file is attached to the GitHub release
51+
52+
7. [exist-db.org](http://exist-db.org): App repo and documentation homepage
53+
- Inform the exist-db.org admins that the documentation app should be deployed on the server.
54+
- Add documentation app to the public application repository.

pom.xml

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
<groupId>org.exist-db</groupId>
1414
<artifactId>exist-documentation</artifactId>
15-
<version>0.6.2-SNAPSHOT</version>
15+
<version>3.0.0-SNAPSHOT</version>
1616

1717
<name>eXist-db Documentation</name>
1818
<description>Documentation package for eXist-db</description>
@@ -33,11 +33,15 @@
3333
</licenses>
3434

3535
<scm>
36+
<url>https://www.github.com/exist-db/documentation.git</url>
3637
<connection>scm:git:https://www.github.com/exist-db/documentation.git</connection>
3738
<developerConnection>scm:git:https://www.github.com/exist-db/documentation.git</developerConnection>
38-
<url>scm:git:https://www.github.com/exist-db/documentation.git</url>
3939
<tag>HEAD</tag>
4040
</scm>
41+
<issueManagement>
42+
<system>GitHub</system>
43+
<url>https://github.com/eXist-db/documentation/issues</url>
44+
</issueManagement>
4145

4246
<properties>
4347
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -51,7 +55,7 @@
5155
<package-abbrev>${project.artifactId}</package-abbrev>
5256
<package-final-name>${project.artifactId}-${project.version}</package-final-name>
5357
</properties>
54-
58+
5559
<dependencies>
5660
<dependency>
5761
<groupId>org.exist-db</groupId>
@@ -66,7 +70,30 @@
6670
<scope>test</scope>
6771
</dependency>
6872
</dependencies>
69-
73+
74+
<reporting>
75+
<plugins>
76+
<plugin>
77+
<groupId>org.apache.maven.plugins</groupId>
78+
<artifactId>maven-changes-plugin</artifactId>
79+
<version>2.12.1</version>
80+
<configuration>
81+
<includeOpenIssues>false</includeOpenIssues>
82+
<onlyMilestoneIssues>false</onlyMilestoneIssues>
83+
<columnNames>Type, Summary</columnNames>
84+
<outputDirectory>${project.basedir}</outputDirectory>
85+
</configuration>
86+
<reportSets>
87+
<reportSet>
88+
<reports>
89+
<report>github-report</report>
90+
</reports>
91+
</reportSet>
92+
</reportSets>
93+
</plugin>
94+
</plugins>
95+
</reporting>
96+
7097
<build>
7198
<plugins>
7299
<plugin>
@@ -250,7 +277,7 @@
250277
</plugin>
251278
</plugins>
252279
</build>
253-
280+
254281
<repositories>
255282
<repository>
256283
<id>exist</id>

src/changes/changes.xml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<document xmlns="http://maven.apache.org/changes/1.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd">
4+
<properties>
5+
<title>Changes Tester Project</title>
6+
<author email="[email protected]">Johnny R. Ruiz III</author>
7+
</properties>
8+
<body>
9+
<release version="1.1" date="2005-03-01" description="Subsequent release">
10+
<action dev="jruiz" type="add">
11+
Added additional documentation on how to configure the plugin.
12+
</action>
13+
<action dev="aramirez" type="fix" issue="MPJIRA-11">
14+
Enable retrieving component-specific issues.
15+
</action>
16+
<action dev="jruiz" type="remove" due-to="Allan Ramirez" due-to-email="[email protected]">
17+
The element type " link " must be terminated by the matching end-tag.
18+
Deleted the erroneous code.
19+
</action>
20+
</release>
21+
22+
<release version="1.0" date="2005-01-01" description="First release">
23+
<action dev="jruiz" type="update">
24+
Uploaded documentation on how to use the plugin.
25+
</action>
26+
</release>
27+
</body>
28+
</document>

src/main/xar-resources/data/upgrading.xml

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
</section>
3131
<section id="binary-compatible-upgrades">
3232
<title>Binary Compatible Upgrades</title>
33-
<para>Follow these steps if the new version of eXist is binary-compatible with the your old version. Check the new version's release notes to find out whether it is binary compatibility with your old version.</para>
33+
<para>Follow these steps if the new version of eXist is binary-compatible with the your old version. Check the new version's release notes to find out whether it is binary compatible with your old version.</para>
3434
<procedure>
3535
<step>
3636
<para>Stop the old installation of eXist, if it is running.</para>
@@ -39,14 +39,14 @@
3939
<para>Create a <ulink url="backup.xml">backup</ulink> of the data from your old installation of eXist.</para>
4040
</step>
4141
<step>
42-
<para>Install the new version of eXist. Do not install one eXist version over another one.
42+
<para>Install the new version of eXist. Do not install one eXist version over another one.
4343
Always install the new version into a fresh new directory.</para>
4444
</step>
4545
<step>
46-
<para>Remove the <emphasis>empty</emphasis> <code>data</code> directory from the new installation.
47-
Typically the data directory is located in <code>webapp/WEB-INF/data</code>.
48-
If you are not sure where the data directory is located,
49-
you can check the <ulink url="troubleshooting.xml#logs"><code>exist.log</code></ulink>,
46+
<para>Remove the <emphasis>empty</emphasis> <code>data</code> directory from the new installation.
47+
Typically the data directory is located in <code>webapp/WEB-INF/data</code>.
48+
If you are not sure where the data directory is located,
49+
you can check the <ulink url="troubleshooting.xml#logs"><code>exist.log</code></ulink>,
5050
searching for entires after startup pertaining to <code>DATA_DIR</code>.
5151
</para>
5252
</step>
@@ -63,10 +63,10 @@
6363
</section>
6464
<section id="non-binary-compatible-upgrades">
6565
<title>Binary Non-compatible Upgrades</title>
66-
<para>Follow these steps if the new version of eXist is not binary-compatible with the your old version.
67-
(Check the new version's release notes to find out whether it is binary compatibility with your old version.)
68-
Additional steps are required when upgrading to a new version of eXist whose database format is not binary-compatible with your old installation.
69-
The key difference is that you must perform a <emphasis>full restore</emphasis> of your backed up data onto the new installation of eXist,
66+
<para>Follow these steps if the new version of eXist is not binary-compatible with the your old version.
67+
(Check the new version's release notes to find out whether it is binary compatibility with your old version.)
68+
Additional steps are required when upgrading to a new version of eXist whose database format is not binary-compatible with your old installation.
69+
The key difference is that you must perform a <emphasis>full restore</emphasis> of your backed up data onto the new installation of eXist,
7070
rather than simply copying the data directory to the new installation.</para>
7171
<procedure>
7272
<step>
@@ -76,7 +76,7 @@
7676
<para>Use Backup Central from the Dashboard (with "Zip" option for databases with less then 4GB)</para>
7777
</listitem>
7878
<listitem>
79-
<para>The Emergency Backup Tool (GUI) for installer based systems:</para>
79+
<para>The Emergency Backup Tool (GUI) for installer based systems:</para>
8080
<programlisting language="shell">java -jar start.jar -Xmx2048m org.exist.backup.ExportGUI</programlisting> <!--listing in backup.xml has no -Xmx parameter DP-->
8181
</listitem>
8282
<listitem>
@@ -93,10 +93,10 @@
9393
</listitem>
9494
</orderedlist>
9595
</para>
96-
<para>Once the backup is complete, you should check the backup report in the <code>export</code> directory
97-
within either the data directory (for backups created via the Dashboard, or Xquery) or
96+
<para>Once the backup is complete, you should check the backup report in the <code>export</code> directory
97+
within either the data directory (for backups created via the Dashboard, or Xquery) or
9898
<code>$EXIST-HOME</code> (for Backups created by the Emergency Backup Tool).</para>
99-
<para>Normally this just contains the list of collections which were backed up. If you see any warnings or errors,
99+
<para>Normally this report just contains the list of collections which were backed up. If you see any warnings or errors,
100100
it is especially important that you perform a “full restore” of your backed-up data onto the new installation of eXist.</para>
101101
</step>
102102
<step>
@@ -120,14 +120,14 @@
120120
<tgroup cols="2">
121121
<tbody>
122122
<tr>
123-
<td>3.6</td>
124-
<td><ulink url="http://exist-db.org/exist/apps/wiki/blogs/eXist/">release notes</ulink></td> <!--needs update with next breaking release DP-->
123+
<td>latest</td>
124+
<td><ulink url="http://exist-db.org/exist/apps/wiki/blogs/eXist/search.html?field=tags&amp;q=release">release notes</ulink></td>
125125
</tr>
126-
<tr>
126+
<tr> <!-- add new row with next binary incompatible release -->
127127
<td>3.0</td>
128128
<td><ulink url="incompatibilities.xml#v3.0">special notes</ulink></td>
129129
</tr>
130-
<tr>
130+
<tr>
131131
<td>2.2</td>
132132
<td><ulink url="incompatibilities.xml#v2.2">special notes</ulink></td>
133133
</tr>
@@ -143,4 +143,4 @@
143143
</table>
144144
</section>
145145
</chapter>
146-
</book>
146+
</book>

xar-assembly.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
<tag>documentation</tag>
1515
<category id="apps">Applications</category>
1616
<category id="doc">Documentation</category>
17+
<dependency processor="http://exist-db.org" semver-min="${exist.version}"/>
1718
<dependency package="http://exist-db.org/apps/shared" semver-min="0.4.0" />
1819
<prepare>pre-install.xql</prepare>
19-
<permissions user="admin" password="" group="dba" mode="rw-rw-r--"/>
2020
<note>Note for users of eXist 2.x: When upgrading, please make sure you also updated the shared-resources package to > 0.4.0.</note>
2121
<changelog>
2222
<change version="0.6.0">

0 commit comments

Comments
 (0)