A script to generate some of the artifacts needed for a liblouis release. In particular it creates
- An up-to-date ANNOUNCE file containing the news from NEWS
- a news post that can be inserted in the Jekyll based web site
- an up-to-date download index
- an up-to-date online documentation
First build liblouis
cd ~/src/liblouis
make dist
make distwin
Then run the release-helper script. Specify where the source to liblouis and the liblouis website is located
clojure -m release-helper ~/src/liblouis ~/src/liblouis.github.io
The script also works for creating a liblouisutdml release:
cd ~/src/liblouisutdml
make dist
Then run the release-helper script. Specify where the source to liblouis and the liblouis website is located
clojure -m release-helper ~/src/liblouisutdml ~/src/liblouis.github.io
All the generated artifacts in ~~/src/liblouisutdml~ and ~~/src/liblouis.github.io~ should be correct.
Why do we need these scripts in the first place? Well, creating a release is quite laborious but fairly mundane work as described in the HACKING file. Automating most of this certainly makes sense.
On the other hand you can rightfully ask yourself why we are doing this. The changes for example are listed in three different places (website, GitHub release page, announce email) in two different formats. Is this really needed?
Not having a separate website would certainly simplify things and would partially obliviate the need for the release-helper scripts. At the time it seemed easier for the user to have a website where all the relevant information could be centrally organized, e.g. news, downloads, online documentation, etc. The downloads have pretty much been superseded by the GitHub releases page, but nightly snapshots are still easier to find on the website.
Another simplification might be to have all changes in markdown. We could put markdown in the announce email. That would mean no more converting of formats. On the other hands I personally love editing in orgmode and I would not want to miss it.
- You need the Clojure cli tools. Install them tools as described in the Getting Started Guide.
- You need pandoc.
- I recommend you use hub to create github releases from the command line
If you have any improvements or comments please feel free to file a pull request or an issue.
Copyright (C) 2019 Swiss Library for the Blind, Visually Impaired and Print Disabled
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA