From 4de35fac4ce84620fc84ba362a3a21cdf8259dce Mon Sep 17 00:00:00 2001 From: Ayowel Date: Sat, 7 Aug 2021 13:07:06 +0200 Subject: [PATCH 1/6] Change changelog format from asciidoc to markdown --- CHANGELOG.asc => CHANGELOG.md | 109 +++++++++++++++++----------------- 1 file changed, 54 insertions(+), 55 deletions(-) rename CHANGELOG.asc => CHANGELOG.md (56%) diff --git a/CHANGELOG.asc b/CHANGELOG.md similarity index 56% rename from CHANGELOG.asc rename to CHANGELOG.md index f6fc28bcb..372722fc0 100644 --- a/CHANGELOG.asc +++ b/CHANGELOG.md @@ -1,9 +1,8 @@ -:experimental: -== Changelog +# Changelog All notable changes are documented in this file. -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.4[Version ~1.7.4] (23.04.2021) +## [Version ~1.7.4](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.4) (23.04.2021) * install4j 9 upgrade * dependency updates plantuml, spring boot @@ -17,23 +16,23 @@ All notable changes are documented in this file. * Dark theme improvements * Set config directory from command line -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.3[Version ~1.7.3] (16.05.2020) +## [Version ~1.7.3](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.3) (16.05.2020) * /favicon resolution bug fix * Resolving docname docdir etc. * Version upgrades (plantuml, fop, spring-boot etc.) -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.2[Version ~1.7.2] (07.04.2020) +## [Version ~1.7.2](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.2) (07.04.2020) * Extension bug fixes * Version upgrades (javafx, plantuml, fop, spring-boot etc.) -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.1[Version ~1.7.1] (03.08.2019) +## [Version ~1.7.1](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.1) (03.08.2019) * Extension bug fixes * Fixing Highlight.js integration -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.0[Version ~1.7.0] (08.06.2019) +## [Version ~1.7.0](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.0) (08.06.2019) * JavaFX 12 support * Asciidoctor.js 2x support @@ -43,108 +42,108 @@ All notable changes are documented in this file. * Bux fixes * Drop Markdown support (Due to Nashorn deprecation) -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.6.9[Version ~1.6.9] (05.10.2018) +## [Version ~1.6.9](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.6.9) (05.10.2018) * Fix outline issue for include:: content * Resolve files correctly * Show detached preview in front -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.6.8[Version ~1.6.8] (26.08.2018) +## [Version ~1.6.8](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.6.8) (26.08.2018) * Added missing noto serif fonts * Added missing dejavu sans mono font to ace * Character code handle improvement in editor -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.6.7[Version ~1.6.7] (18.08.2018) +## [Version ~1.6.7](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.6.7) (18.08.2018) * Use newer version of TerminalFX * Use .asc as Asciidoc file extension * Show alerts always on front -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.4.4[Version ~1.4.4] (13.12.2015) +## [Version ~1.4.4](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.4.4) (13.12.2015) -AsciidocFX was elected as one of https://community.oracle.com/docs/DOC-949972#wfp[the Duke's Choice Award 2015 Winners]! +AsciidocFX was elected as one of [the Duke's Choice Award 2015 Winners](https://community.oracle.com/docs/DOC-949972#wfp)! -As always, you can fully examine the changes between *v1.3.9* and *v1.4.4* via https://github.com/asciidocfx/AsciidocFX/compare/v1.3.9...v1.4.4[full changelog]. +As always, you can fully examine the changes between *v1.3.9* and *v1.4.4* via [full changelog](https://github.com/asciidocfx/AsciidocFX/compare/v1.3.9...v1.4.4). -==== Features +### Features * AFX supports a spell-checker component. You can enable/disable it and change the default language, which is Turkish, among the existing ones. -==== Changes +### Changes -* Several components' version updated +* Several components' version updated * Improving UI design based on users experience * Minor bug fixes -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.9[Version 1.3.9] (13.10.2015) +## [Version 1.3.9](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.9) (13.10.2015) -As always, you can fully examine the https://github.com/asciidocfx/AsciidocFX/compare/v1.3.8...v1.3.9[full changelog]. +As always, you can fully examine the [full changelog](https://github.com/asciidocfx/AsciidocFX/compare/v1.3.8...v1.3.9). -==== Features +### Features * The new embedded local terminal comes bundled with AFX! Right-click a folder in the Workdir panel and click 'Open in Terminal'. In the local terminal, you can create a number of sessions by clicking +. To close an active session, click X or right-click a session tab, and then choose 'Close' option. -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.8[Version 1.3.8] (13.09.2015) +## [Version 1.3.8](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.8) (13.09.2015) -After all of the RCs, It's time to express all the noteworthy features. To examine all the details, please visit https://github.com/asciidocfx/AsciidocFX/compare/v1.3.6...v1.3.8[Full Changelog] +After all of the RCs, It's time to express all the noteworthy features. To examine all the details, please visit [Full Changelog](https://github.com/asciidocfx/AsciidocFX/compare/v1.3.6...v1.3.8) -==== Features +### Features -* Making a presentation in AsciidocFX is not a dream anymore! Thanks to https://github.com/rahmanusta[Rahman Usta], AsciidocFX now allows you to make slides by means of https://github.com/hakimel/reveal.js/[Reveal.js] and https://github.com/imakewebthings/deck.js[Deck.js] backends. To make this possible, just right-click anywhere on the workdir panel and then follow the path `new/slide`. +* Making a presentation in AsciidocFX is not a dream anymore! Thanks to [Rahman Usta](https://github.com/rahmanusta), AsciidocFX now allows you to make slides by means of [Reveal.js](https://github.com/hakimel/reveal.js/) and [Deck.js](https://github.com/imakewebthings/deck.js) backends. To make this possible, just right-click anywhere on the workdir panel and then follow the path `new/slide`. * As of 1.3.8, AFX also provides a new backend service called Odt. Using the service, you can convert an asciidoc/markdown document into a file ending with `odt` which stands for word processing (text) documents. * Another facility comes into play in this release which is _Outline_ View! The Outline view displays an outline of a structured asciidoc/markdown file that is currently open in the editor area. You can jump to an intended section easily. -* You can manipulate the default properties of AFX in the settings panel. To reach that panel, click 3dots(...) / Settings *or* kbd:[Ctrl+F4] . You will see a few sections such as the settings of preview panel and the locations part which lets you override/edit the default css values as well as set the mathjs and kindlegen path. +* You can manipulate the default properties of AFX in the settings panel. To reach that panel, click 3dots(...) / Settings *or* `Ctrl+F4` . You will see a few sections such as the settings of preview panel and the locations part which lets you override/edit the default css values as well as set the mathjs and kindlegen path. * By default, auto-saving feature is enable so that when you switch to other applications or when AFX is idle, your documents will be saved by AFX. To disable it, go to the general Settings panel. * Since AFX supports 5 different services, logging is a must for those who want to know whether a problem occurs or not during every process. To this end, a log view is now available at the bottom of the editor. You are given a few options based on the log view like classifying the log messages according to the log levels and browsing the corresponding log directory. * AsciidocFX Users can now edit all file formats such as JSON, XML, HTML and so on in the editor. * Since AFX lets you edit HTML documents, you can likewise preview the content on the HTML preview section. * You can save the frequently used directories (i.e. your favorite directories) by right-clicking a folder in the Workdir (i.e. treeview ) panel. -* Viewing rendered documents simultaneously in the preview section is now up to you. You can toggle this option from the preview. Just right click somewhere on the preview section and check "Stop Rendering" (https://github.com/asciidocfx/AsciidocFX/issues/95[#95]) +* Viewing rendered documents simultaneously in the preview section is now up to you. You can toggle this option from the preview. Just right click somewhere on the preview section and check "Stop Rendering" [#95]((https://github.com/asciidocfx/AsciidocFX/issues/95)) * Next to the 'stop rendering' feature, AFX also provides 'stop jumping' and 'stop scrolling' features over the preview section. * AFX has a Turkish README file. -==== Changes +### Changes * The AsciidocFX Cheetsheat updated. * Home button removed. * Minor bugs fixed. -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.6[Version 1.3.6] (03.04.2015) +## [Version 1.3.6](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.6) (03.04.2015) -==== Features +### Features -* A new handy extension comes into play: Users can visually illustrate their data with 8 different chart components (i.e. https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#pie-chart[pie], https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#line-chart[line], https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#area-chart[area], https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#bar-chart[bar], https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#scatter-chart[scatter], https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#bubble-chart[bubble], https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#stacked-area-chart[stacked-area], and https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#stacked-bar-chart[stacked-bar] charts) along with a few https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension-Options[options] supported by AsciidocFX, all of which belong to JavaFX. -* AFX has https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#using-external-csv-data[block macros] to reference data in external CSV file so that, users can directly refer to it without giving data inside block. +* A new handy extension comes into play: Users can visually illustrate their data with 8 different chart components (i.e. [pie](https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#pie-chart), [line](https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#line-chart), [area](https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#area-chart), [bar](https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#bar-chart), [scatter](https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#scatter-chart), [bubble](https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#bubble-chart), [stacked-area](https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#stacked-area-chart), and [stacked-bar](https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#stacked-bar-chart) charts) along with a few [options](https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension-Options) supported by AsciidocFX, all of which belong to JavaFX. +* AFX has [block macros](https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension#using-external-csv-data) to reference data in external CSV file so that, users can directly refer to it without giving data inside block. * As of 1.3.6, AFX does not prompt a warning dialog for empty "new *" tabs on exit. * Chart extension menu was added to the editor toolbar for asciidoc users. -* A shortcut to (convert and paste) copied selection (i.e. kbd:[Ctrl+V]). -* A shortcut to directly paste copied selection (i.e. RAW content) with no any conversion (i.e. kbd:[Ctrl+Shift+V]). +* A shortcut to (convert and paste) copied selection (i.e. `Ctrl+V`). +* A shortcut to directly paste copied selection (i.e. RAW content) with no any conversion (i.e. `Ctrl+Shift+V`). -==== Changes +### Changes * The AsciidocFX Cheetsheat updated. * The AsciidocFX Sample Book updated. * Asking "Paste" and "Paste Raw" options removed. Instead, AFX provides two shortcuts which we mention in the features section. Note that, you can still use these two options manually by right-clicking on the editor. -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.5[Version 1.3.5] (28.03.2015) +## [Version 1.3.5](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.5) (28.03.2015) * Almost bug-fixes * Prevent accident closing when there is changed files. -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.4[Version 1.3.4] (22.03.2015) +## [Version 1.3.4](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.4) (22.03.2015) -There are many features in this release, let's see all of them. To examine all the details, please visit https://github.com/asciidocfx/AsciidocFX/compare/v1.3.3...v1.3.4[Full Changelog]. +There are many features in this release, let's see all of them. To examine all the details, please visit [Full Changelog](https://github.com/asciidocfx/AsciidocFX/compare/v1.3.3...v1.3.4). -==== Features +### Features -* Big news, AsciidocFX salutes markdown users! As of 1.3.4, It facilitates users to open/edit/delete markdown documents along with its features as well as to convert markdown documents to asciidoc documents thanks to https://github.com/rahmanusta[Rahman Usta], by https://github.com/asciidocfx/AsciidocFX/blob/master/src/main/resources/public/js/marked-extension.js[extending] the https://github.com/chjj/marked[marked] framework. -* Users can transfer their https://www.gitbook.com/[Gitbooks] to Asciibooks. You can find this service from the ellipsis section in the file browser. In order to start this service, after selecting your existing gitbook directory you need to give another empty directory in which the corresponding asciidoc files will be located. -* Our another useful handy framework called " https://github.com/asciidocfx/highlight-treeview.js[treeview] syntax highlighting" is now utilized. We give you two choices to make your own filesystem view. +* Big news, AsciidocFX salutes markdown users! As of 1.3.4, It facilitates users to open/edit/delete markdown documents along with its features as well as to convert markdown documents to asciidoc documents thanks to [Rahman Usta](https://github.com/rahmanusta), by [extending](https://github.com/asciidocfx/AsciidocFX/blob/master/src/main/resources/public/js/marked-extension.js) the [marked](https://github.com/chjj/marked) framework. +* Users can transfer their [Gitbooks](https://www.gitbook.com/) to Asciibooks. You can find this service from the ellipsis section in the file browser. In order to start this service, after selecting your existing gitbook directory you need to give another empty directory in which the corresponding asciidoc files will be located. +* Our another useful handy framework called " [treeview](https://github.com/asciidocfx/highlight-treeview.js) syntax highlighting" is now utilized. We give you two choices to make your own filesystem view. * A new *remove* option is of worth in order to delete single or multiple files in the file browser. * A new *create* file option is available over the file tree view. Note that you can only use this feature if you right-click a folder. -* Opening multiple times of an already opened document was disabled (https://github.com/asciidocfx/AsciidocFX/issues/58[#58]). -* A new save alert message comes into play for unsaved files on exit in order to prevent losing unsaved work (https://github.com/asciidocfx/AsciidocFX/issues/52[#52]). +* Opening multiple times of an already opened document was disabled [#58]((https://github.com/asciidocfx/AsciidocFX/issues/58)). +* A new save alert message comes into play for unsaved files on exit in order to prevent losing unsaved work [#52]((https://github.com/asciidocfx/AsciidocFX/issues/52)). * "Paste" and "Paste Raw" options; If the copied content is HTML, you will be given two choices before pasting the content into the editor. ** When you used "Paste" option, AsciidocFX will convert and paste HTML content to Asciidoc or Markdown format automatically ** When you used "Paste Raw" option, AsciidocFX will paste RAW input @@ -156,40 +155,40 @@ There are many features in this release, let's see all of them. To examine all t * Several alert messages are included to clearly address some points such as when markdown does not support a text format while asciidoc does. * Markdown File extension association provided. -==== Changes +### Changes * The AsciidocFX Sample Book was updated to express all the available features of asciidoc. * The editor toolbar obtained a new design. -* Since the progress indicator of JavaFX is a bit problematic, we decided to use https://github.com/kimmobrunfeldt/progressbar.js[progressbar.js]. +* Since the progress indicator of JavaFX is a bit problematic, we decided to use [progressbar.js](https://github.com/kimmobrunfeldt/progressbar.js). -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.3[v1.3.3] (17.02.2015) +## [v1.3.3](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.3) (17.02.2015) -==== Features +### Features * `.svg` file extension is now supported among the other image files. -* A new HTML to AsciiDoc Converter called _https://github.com/asciidocfx/to-asciidoc[to-asciidoc]_ maintained by us, is utilized in the program as well so that, user can directly copy an HTML document and paste the converted one including AsciiDoc structure(s) into the editor. +* A new HTML to AsciiDoc Converter called [to-asciidoc](_https://github.com/asciidocfx/to-asciidoc)_ maintained by us, is utilized in the program as well so that, user can directly copy an HTML document and paste the converted one including AsciiDoc structure(s) into the editor. -==== Changes +### Changes * A new refresh button to refresh the preview section, it is especially important for mentioned images (i.e. `image::`) if presents. -== https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.2[v1.3.2] (01.02.2015) +## [v1.3.2](https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.3.2) (01.02.2015) -==== Features +### Features * Asciidoc File extension association. * Platform-specific file sorting in the TreeView. -* Filesystem functionalities such as Go Home/Up (https://github.com/asciidocfx/AsciidocFX/issues/42[#42]). +* Filesystem functionalities such as Go Home/Up [#42]((https://github.com/asciidocfx/AsciidocFX/issues/42)). * _Save as_ functionality for HTML, PDF, DocBook, and Ebook services. * Files can be now opened from terminal. -* Tooltips for the buttons of the editor bars. (https://github.com/asciidocfx/AsciidocFX/issues/43[#43]). -* https://gitter.im/asciidocfx/AsciidocFX[Gitter.im] public chat room. +* Tooltips for the buttons of the editor bars. [#43]((https://github.com/asciidocfx/AsciidocFX/issues/43)). +* [Gitter.im](https://gitter.im/asciidocfx/AsciidocFX) public chat room. * Easily accessible to available links such as _bug report_ within the program. * A shortcut to include a quote block in a doc file (i.e. type `quote` press `tab`). * Another option is provided to copy the current HTML source with embedded images if included. * A go-to-workdir facility for each opened tab. -* A shortcut to maximize the editor pane (i.e. kbd:[Ctrl+M]). +* A shortcut to maximize the editor pane (i.e. `Ctrl+M`). -==== Changes +### Changes * `book.*` file depencency cancelled. Now each AsciiDoc file independently can be rendered into any existing services. From 85a34148422403c032adad6794ed5b790edeeb29 Mon Sep 17 00:00:00 2001 From: Ayowel Date: Fri, 25 Jun 2021 10:53:14 +0200 Subject: [PATCH 2/6] Create maven.yml --- .github/workflows/maven.yml | 63 +++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/workflows/maven.yml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 000000000..6c3b4abca --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,63 @@ +# This workflow will build a Java project with Maven +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven + +name: Java CI with Maven + +env: + install4j_download_url: https://download-gcdn.ej-technologies.com/install4j/install4j_linux-x64_9_0_2.tar.gz + +on: + push: + pull_request: + workflow_dispatch: + inputs: + install4j_download_url: + description: Download source for Install4J + required: true + default: https://download-gcdn.ej-technologies.com/install4j/install4j_linux-x64_9_0_2.tar.gz + +jobs: + build: + runs-on: ubuntu-latest + environment: install4j + strategy: + matrix: + java: [ 16 ] + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK ${{ matrix.java }} + uses: actions/setup-java@v2 + with: + java-version: ${{ matrix.java }} + distribution: 'adopt' + - name: Build with Maven + run: mvn -B -Djava.version=${{ matrix.java }} -Dopenjfx.version=${{ matrix.java }} compile test + + + package: + runs-on: ubuntu-latest + needs: build + if: ${{ startsWith(github.ref, 'refs/tags/') }} + strategy: + matrix: + java: [ 16 ] + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK ${{ matrix.java }} + uses: actions/setup-java@v2 + with: + java-version: ${{ matrix.java }} + distribution: 'adopt' + - name: Download install4j + run: | + wget --tries=3 ${{ github.event.inputs.install4j_download_url || env.install4j_download_url }} -O install4j.tar.gz + mkdir install4j + tar -zxvf install4j.tar.gz --strip-components 1 -C install4j + - name: Configure Install4J + env: + LICENSE_KEY_9: ${{ secrets.INSTALL4J_LICENSE_KEY }} + run: mvn install4j:install-license + - name: Package with maven and install4j + run: mvn -B -Dinstall4j.home=install4j -Djava.version=${{ matrix.java }} -Dopenjfx.version=${{ matrix.java }} package From 9dfbff7784b2f95f332ccc0df2f735d52668ccfc Mon Sep 17 00:00:00 2001 From: Ayowel Date: Sat, 26 Jun 2021 09:49:40 +0200 Subject: [PATCH 3/6] Add codecov coverage report upload in workflow --- .github/workflows/maven.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 6c3b4abca..7d23944f3 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -33,7 +33,10 @@ jobs: distribution: 'adopt' - name: Build with Maven run: mvn -B -Djava.version=${{ matrix.java }} -Dopenjfx.version=${{ matrix.java }} compile test - + - name: Save coverage stats + uses: codecov/codecov-action@v1 + with: + fail_ci_if_error: false package: runs-on: ubuntu-latest From c7f9f1545a6a8ae18b367a1d1e40e70e9177c73b Mon Sep 17 00:00:00 2001 From: Ayowel Date: Sun, 1 Aug 2021 14:54:54 +0200 Subject: [PATCH 4/6] Add graphical tests support --- .github/workflows/maven.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 7d23944f3..7e7629a9a 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -31,8 +31,12 @@ jobs: with: java-version: ${{ matrix.java }} distribution: 'adopt' + - name: Set-up test environment + run: | + sudo apt-get update + sudo apt-get install -y xvfb - name: Build with Maven - run: mvn -B -Djava.version=${{ matrix.java }} -Dopenjfx.version=${{ matrix.java }} compile test + run: xvfb-run mvn -B -Djava.version=${{ matrix.java }} -Dopenjfx.version=${{ matrix.java }} test - name: Save coverage stats uses: codecov/codecov-action@v1 with: From 6c30cce2d681ab7fabca0adea97ee306b23dc5fe Mon Sep 17 00:00:00 2001 From: Ayowel Date: Sun, 1 Aug 2021 15:21:10 +0200 Subject: [PATCH 5/6] Add release support in github workflow --- .github/workflows/maven.yml | 72 +++++++++++++++++++++++++++++++------ asciidocfx.install4j | 16 +++++++-- pom.xml | 3 +- 3 files changed, 78 insertions(+), 13 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 7e7629a9a..3da08c97b 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,10 +1,10 @@ # This workflow will build a Java project with Maven # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven -name: Java CI with Maven +name: CI/CD env: - install4j_download_url: https://download-gcdn.ej-technologies.com/install4j/install4j_linux-x64_9_0_2.tar.gz + install4j_download_url: https://download-gcdn.ej-technologies.com/install4j/install4j_linux-x64_9_0_4.tar.gz on: push: @@ -14,12 +14,20 @@ on: install4j_download_url: description: Download source for Install4J required: true - default: https://download-gcdn.ej-technologies.com/install4j/install4j_linux-x64_9_0_2.tar.gz + default: https://download-gcdn.ej-technologies.com/install4j/install4j_linux-x64_9_0_4.tar.gz + release_build: + description: Whether we should build the release files + default: false + create_draft: + description: Whether a release draft should be generated - requires release_build + default: false + push_to_s3: + description: Whether generated products should be pushed to s3 - requires release_build + default: false jobs: build: runs-on: ubuntu-latest - environment: install4j strategy: matrix: java: [ 16 ] @@ -31,21 +39,23 @@ jobs: with: java-version: ${{ matrix.java }} distribution: 'adopt' + # Install xvfb to provide a graphical environment to use when running tests - name: Set-up test environment run: | sudo apt-get update sudo apt-get install -y xvfb - name: Build with Maven - run: xvfb-run mvn -B -Djava.version=${{ matrix.java }} -Dopenjfx.version=${{ matrix.java }} test + run: xvfb-run mvn -B -Djava.version=${{ matrix.java }} -Dopenjfx.version=${{ matrix.java }} -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 test - name: Save coverage stats uses: codecov/codecov-action@v1 with: fail_ci_if_error: false - package: + release: runs-on: ubuntu-latest + environment: install4j needs: build - if: ${{ startsWith(github.ref, 'refs/tags/') }} + if: ${{ github.event.inputs.release_build || startsWith(github.ref, 'refs/tags/v') }} strategy: matrix: java: [ 16 ] @@ -59,12 +69,54 @@ jobs: distribution: 'adopt' - name: Download install4j run: | - wget --tries=3 ${{ github.event.inputs.install4j_download_url || env.install4j_download_url }} -O install4j.tar.gz + wget --no-verbose --tries=3 ${{ github.event.inputs.install4j_download_url || env.install4j_download_url }} -O install4j.tar.gz mkdir install4j tar -zxvf install4j.tar.gz --strip-components 1 -C install4j - name: Configure Install4J env: LICENSE_KEY_9: ${{ secrets.INSTALL4J_LICENSE_KEY }} run: mvn install4j:install-license - - name: Package with maven and install4j - run: mvn -B -Dinstall4j.home=install4j -Djava.version=${{ matrix.java }} -Dopenjfx.version=${{ matrix.java }} package + - name: Add signing key + env: + # The signing key secret file should be stored as a base64 string + SIGNING_KEY: ${{ secrets.INSTALL4J_SIGNING_KEY }} + run: 'echo "$SIGNING_KEY" | base64 -d >code_sign.p12' + - name: Build with install4j + env: + LICENSE_KEY_9: ${{ secrets.INSTALL4J_LICENSE_KEY }} + MAC_KEYSTORE_PASSWORD: ${{ secrets.MAC_KEYSTORE_KEY }} + run: mvn -B -DskipTests=true -Djava.version=${{ matrix.java }} -Dopenjfx.version=${{ matrix.java }} -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=600 package + - name: Prepare release notes + run: | + awk -e '/^## /{a+=1} {if(a>1)exit} {if(a==1){print $0}}' CHANGELOG.md >RELEASE_MESSAGE.md + printf '\n## Files checksums\n| File | SHA 256 |\n| --- | --- |\n' >>RELEASE_MESSAGE.md + awk -e '{print"|"$2"|"$1"|"}' >RELEASE_MESSAGE.md + - name: Release draft + uses: softprops/action-gh-release@v1 + if: ${{ github.event.inputs.create_draft || startsWith(github.ref, 'refs/tags/v') }} + with: + body_path: RELEASE_MESSAGE.md + draft: true + fail_on_unmatched_files: true + files: | + target/media/AsciidocFX_Mac.dmg + target/media/AsciidocFX_Mac_No_JRE.dmg + target/media/AsciidocFX_Linux.tar.gz + target/media/AsciidocFX_Linux_No_JRE.tar.gz + target/media/AsciidocFX_Windows.exe + target/media/AsciidocFX_Windows_No_JRE.exe + target/media/AsciidocFX_Windows.zip + target/media/AsciidocFX_Windows_No_JRE.zip + target/media/updates.xml + LICENSE + - name: Publish to S3 + uses: jakejarvis/s3-sync-action@v0.5.1 + if: ${{ github.event.inputs.push_to_s3 || startsWith(github.ref, 'refs/tags/v') }} + with: + args: --acl public-read --follow-symlinks --delete + env: + AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + AWS_REGION: ${{ secrets.AWS_REGION }} + SOURCE_DIR: 'target/media' diff --git a/asciidocfx.install4j b/asciidocfx.install4j index ff9a9d7ae..c71c53e51 100644 --- a/asciidocfx.install4j +++ b/asciidocfx.install4j @@ -1,5 +1,5 @@ - + @@ -7,7 +7,7 @@ - + @@ -1192,6 +1192,18 @@ return true; + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml index 3d09c1499..3b79b84c3 100644 --- a/pom.xml +++ b/pom.xml @@ -16,8 +16,9 @@ ${java.version} ${java.version} com.kodedu.boot.AppStarter - /home/travis/build/asciidocfx/AsciidocFX/install4j9.0.2 + install4j ${env.LICENSE_KEY_9} + ${env.MAC_KEYSTORE_PASSWORD} 16 12.2.0 2.3.2 From fc33c473f50d260eaf1f3e6ded8e3b540fbc3c9c Mon Sep 17 00:00:00 2001 From: Ayowel Date: Sat, 7 Aug 2021 14:00:59 +0200 Subject: [PATCH 6/6] Remove unused and obsolete files --- .travis.yml | 62 -- MODULES.adoc | 76 --- code_sign.p12.enc | Bin 3168 -> 0 bytes index.html | 1536 --------------------------------------------- install-jdk.sh | 325 ---------- 5 files changed, 1999 deletions(-) delete mode 100644 .travis.yml delete mode 100644 MODULES.adoc delete mode 100644 code_sign.p12.enc delete mode 100644 index.html delete mode 100644 install-jdk.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 510b10a07..000000000 --- a/.travis.yml +++ /dev/null @@ -1,62 +0,0 @@ -sudo: false -language: java -jdk: -- openjdk16 -os: -- linux -script: mvn clean install -Pinstall-runtime -before_script: -- wget --tries=3 https://download-gcdn.ej-technologies.com/install4j/install4j_linux-x64_9_0_2.tar.gz -- tar zxvf install4j_linux-x64_9_0_2.tar.gz -#- wget --tries=3 https://gluonhq.com/download/javafx-16-jmods-mac -#- unzip javafx-16-jmods-mac && mkdir -p jmods/mac && mv javafx-jmods-16/* jmods/mac/ -#- wget --tries=3 https://gluonhq.com/download/javafx-16-jmods-windows -#- unzip javafx-16-jmods-windows && mkdir -p jmods/windows && mv javafx-jmods-16/* jmods/windows/ -#- wget --tries=3 https://gluonhq.com/download/javafx-16-jmods-linux -#- unzip javafx-16-jmods-linux && mkdir -p jmods/linux && mv javafx-jmods-16/* jmods/linux/ -- mvn clean -- mvn install4j:install-license -deploy: -- provider: releases - skip_cleanup: true - api_key: - secure: eXWmeEqed9dok9+JZNDEHabvFObneOtmEsoiA7T4RrKGNFOnrhH/tRh47uEmLsoXddnCu56Pykv3vatmWsXqdcKevfaXz+D4Rlw+O0oxQjVtxluHCjlStzPCMwYzW5n/mIns8TnqCLyLzdcT/JkB9lhA7jPmCBlBHh+tsu4UInU= - file: - - "/home/travis/build/asciidocfx/AsciidocFX/target/media/AsciidocFX_Mac.dmg" - - "/home/travis/build/asciidocfx/AsciidocFX/target/media/AsciidocFX_Linux.tar.gz" - - "/home/travis/build/asciidocfx/AsciidocFX/target/media/AsciidocFX_Windows.exe" - - "/home/travis/build/asciidocfx/AsciidocFX/target/media/AsciidocFX_Windows.zip" - - "/home/travis/build/asciidocfx/AsciidocFX/target/media/updates.xml" - on: - tags: true - all_branches: true - repo: asciidocfx/AsciidocFX -- provider: s3 - skip_cleanup: true - access_key_id: AKIAIHHVKYJLE6JUVEMA - secret_access_key: - secure: u3AfnEBb4o1boHzYsbPBlYqsxkKKWd4e02sabTLB7RRojgW1PpvGpvMCEZQ7EdziAfqJV2qZAI4ayYen36t2S0P9LMtt8NbnSO9RSF41Na+cGlsetbHgbejjK3QC5wM18j263gaxlM6uKD9wbO9VYaujYE6r66UUGdrQkNZh9xc= - bucket: asciidoc-fx - acl: public_read - local_dir: "/home/travis/build/asciidocfx/AsciidocFX/target/media" - file: - - "/home/travis/build/asciidocfx/AsciidocFX/target/media/AsciidocFX_Mac.dmg" - - "/home/travis/build/asciidocfx/AsciidocFX/target/media/AsciidocFX_Linux.tar.gz" - - "/home/travis/build/asciidocfx/AsciidocFX/target/media/AsciidocFX_Windows.exe" - - "/home/travis/build/asciidocfx/AsciidocFX/target/media/AsciidocFX_Windows.zip" - - "/home/travis/build/asciidocfx/AsciidocFX/target/media/updates.xml" - on: - tags: true - all_branches: true - repo: asciidocfx/AsciidocFX -env: - global: - - secure: x4NoL51Uq5eGy+qYR3R5ca5J16lXN+45EwcRTE3FBxzxN91vK6GrKW8sbjZLTXeEIjhn9X1IEe8A2ljh4fnkOtIGl2bVHm8KJPNWa/EKmCLZ7KjCzXtyI5743pb+IJpIyCaevwasTBGFvsrs3NOsV/zipk0nEu08VdqEvp7AsXE= - - secure: xfIJj1AUhUgXfrMZStwGv0njAc8eSPe38M+QOyApgl1LriEc2WX0vdf/zQhcELHmuAidkDV6t4KCQ6IavzylvYHbrSL3Ki7uTIf1qWKPkJKJq0yhOON4Qw44sziM9ePAMLu09C6sOzXkcIYw8VJGQA4Dh8OxiKUePX0wqUw9zIY= - - secure: itDqULG69MoCnvLvMoFpBC8osAb/603jmc47hwC3qn1X+egKrT8kM/w8DC5fYgwp45LKBaxZhxY1q2twxvC6tW28/Zc31kR65RkfbRv5b2jqvb+PFtBSTvBDtKQxPf5DgK1yvqZYZ8r46uYEjepKwELhsYF05W+4irZqakd3aIo= - - secure: xm/y8T8BYyTxr6qRJ6UP/GkMCEcPDAdrlMysOeZ4XChwZOGU4n0ECkxz0c9xtbdmAkgISYAhHTckQNHQiuOV1AGp+EZMvapPoT3k+AR3bv20NDb9xlTz2p3LPSmH35mRjttHslj2FE+4k+V5H8BoQIMtdkcFUye+PWn2hk54kZg= - - secure: aVp+h5KCEPp28y/RHiUVe+/Gyt52QNOXVJNAM0Y/GJ8M4ReJVC/INofHysPbIw/DDkTJXvwe19NT64bkpvwMJT69yvdx2vhNN8hWAxBZ7JS0WG92At3Jm0KUT2aX0zBHZEEf9PIpB9jPzUyS1CjILUmuSHL1UXTtivsEEi3jtgQ= - - secure: nKCOCCe3kR4es1qYdYawvdYMerrXcXqN9XtWbxGCjWte0tIwnvdMI+WlOzNoe03oqso/YHdkB/LekcCDPY//tAQd9kYD7kfO7ZNvwCkhf0ERKs5QGuLBk6XvDz2Rmx+CRCBxmfMKe+dkCgPNcRTSFtSURoXnbyUCI0lTAyO6Evs= -before_install: -- openssl aes-256-cbc -K $encrypted_56a53bf9cdec_key -iv $encrypted_56a53bf9cdec_iv - -in code_sign.p12.enc -out code_sign.p12 -d diff --git a/MODULES.adoc b/MODULES.adoc deleted file mode 100644 index c1cfcc426..000000000 --- a/MODULES.adoc +++ /dev/null @@ -1,76 +0,0 @@ ---illegal-access=permit --Xms128m --Xmx756m --Xshareclasses:name=asciidocfx-174,nonfatal ---add-exports -javafx.graphics/com.sun.javafx.scene.layout=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.util=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.application=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.sg.prism=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED ---add-exports -javafx.base/com.sun.javafx.logging=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.prism=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.glass.ui=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.geom.transform=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.glass.utils=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.font=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.scene.input=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.scene.text=ALL-UNNAMED ---add-exports -javafx.base/com.sun.javafx.event=ALL-UNNAMED ---add-exports -javafx.base/com.sun.javafx.reflect=ALL-UNNAMED ---add-exports -javafx.base/com.sun.javafx.beans=ALL-UNNAMED ---add-exports -javafx.base/com.sun.javafx.collections=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.scene.traversal=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED ---add-exports -javafx.base/com.sun.javafx.binding=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.geom=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.iio=ALL-UNNAMED ---add-exports -javafx.base/com.sun.javafx=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.prism.paint=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.scenario.effect=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.text=ALL-UNNAMED ---add-opens -javafx.base/com.sun.javafx.collections=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.scenario.effect.impl.prism=ALL-UNNAMED ---add-exports -javafx.graphics/com.sun.javafx.css=ALL-UNNAMED ---add-opens -javafx.base/com.sun.javafx.collections=javafx.web ---add-opens -javafx.controls/javafx.scene.control=ALL-UNNAMED ---add-exports -javafx.base/com.sun.javafx.property=ALL-UNNAMED ---add-exports -javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED ---module-path -jmods/mac-jars ---add-modules=ALL-MODULE-PATH ---add-modules=javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web \ No newline at end of file diff --git a/code_sign.p12.enc b/code_sign.p12.enc deleted file mode 100644 index c213d9cc43e76680a22778ac07bf7304cbb7fc9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3168 zcmV-m44?DorM}eZR!K*u5DT^j61rv8d z;F_y1mv8UD_j`Y(7}Z4+{-DB#!~ffw+h+}|<~@dLDoCF`4tR&r;(eg!V^13sYIfbA zzm+4x&Dc?6rIuRON)e8ZTCLJlC`_D}$(G5a!%@C#n}-W3AR_MwgktAZ>O3LHwo`K)-mhz(AbG;W-N()e*EczSs z@O1Q14`-=qxpb0lM(S&wwi}g2TlciK{UR80$~~; zapE}mwGZ9@Hc%0IF_i?CmSMWTI$-!`yqD~pq6 z`aFz|Re=nBsg8Ru+fv-!Yh9k#wyT=%JBMhrVhhUjnuZJ&Bg!^d73=rg$G%i&YX8`X z?|rZioVsJ9B^lm>fon3%Uo{3*vQ1Spj8UTu;+?b%KjnjLSv%8uLPyM3kpVH|{Kcwp z@f~+sd#hsxNWC#rgLoTGOgYM3GNa*~k6y(ifL!&>%kQQvu-kr`ky29bPEKUr^)bIw z%4`832Vjn{t8W^C>Rj}s~;I@DN=UuAE?#AJuv2PJ7sI@tUcu2^5^iE=KK z#Utp0((JRui7&M$DJK9AOQU;E%p=IBCWG~4jrb48wCixd#=uz${t=Edr=9kQQ8^0i zVtuD_d9UZsqYVz-7ANOlM0wG!Z%;gt%Qy*m(EYLCyLd=9p0KWgYQF+j^^ihcsY zire%$>;Ih%^O5vLV((^?t?sx7M_n&aaI4PEcQK9d3Z#C*B^`cz?7EIvBGaYs7@9#h z9X^)zg^wn~k&Mv6-Fo{{4?2p_^uRM9nPMg<=oZlNM6lyByBZO*zefNBJB@Dx7T#V`) znnORs`w@N0bk^Bz$4KA!TqN|XG~JT~8)Oz+HclVm;YMg7gr$-*Y>m9nvLwnDGDOK7 zZl~U%8Spy1vNoK;J!>Oh=a|t3G2iqqom}z zNCHws;4*VQKQ)yR{$evi7{am#_hhrHQ^#qU1)tB4G(6}tCDYEyre>FWTWGi`d*O-P z(ZH?{ICv(YCo1PXb|-)3tfJ%b?2Za$Obxm^I?u8t!fi*$j^71nfuGS;IAmeG0C4mE z?Q@0{ika6vxwkAMv0F6uC<(BmEY_e&TtBn~Lg6KNvL~&_ex)&LS&c7K!C%vS>+Ams z!d4zd(KX0)7;uyusr!Y{Y3to|BIFbzN%X8mG2f#f|F{CrcC`CxnoijC9G0^_Jyj~0 zLXy|6kgmQFpYw}nHpIA9w1HtJp&YTGF03qLFBTWIgMQXbV>o(2lM=!1)!jCu+| zNBcFlsH`1!gvo`2&Du}tm9TYzO&*S$mW9%bA3z2i%5|MsU6e_?1b-sYMa3;sMnqi^pvp$WX10^aVX zyCBqqjxNZl9KuoyUz+^ht$|5Ij-fZ~K-Ah#&o*t5oMxKVgsJj+KhdZUP~>pA@S90* zuepQ)$%vGhE%nLFW7!I9dfDg7lN*U2`@22B)mwV>t39Vrt9^#1i)Y5fOaX1li5<(OpS8CN3M%1OY|j>)6#VRYpal$`KMPHUDWvG1_sJz?;yhX2KR^2jM?le>d?*wfo`t^l{U(8<;NT}iv~Qp zMp4PJWMCR>)h^kz`)7JGtNJu1>-C$%N!-3m38Fj<3K}w>i>7Z@++%p51j1n`(cTz4 zN3U!8u*8k(u(0S_0q9(pt{71r!t!3<1OwL1eoPTJJnAwgpx~8uUmF=B$)yPDZ`O7I zZ)J1v<}Sjn-;Om1QFYdDSIZhv1R^JyQNxG}zVeiHP6=^$hx*!;!WZtUPH_pbWllPd;E@E%nAq6Ao zT?whyrh!GaCKooxA;M+ZQ;r}p$AXfigNF3F|MQzP=pyu zTb(nTb~{pv^GLO9XmCo}G_g(-24ZhSn+|naPy!&q)dS!f?(Fn_moim#YFCLDC!;BV zcJ-eHm#>`*-T7@Q%w+Mhm-B%CuYNa?sQ95f?Dsx(yva~Le=ua(>B$3fRjX;}Z;BG= zXYhw{a|a37gO#p;?`Btx|L$qmhCc3ypYYi|A1AT>BM@cy0Ltb0mDlx)nwj61csYGc z!3s4wP%FmZpzVw3pxU&hcRi-mY-v|dDx7nw5B26l-Wv7d@-k3&5X}9(J)vnCZnERY zW3FrG0WODk6kA4o(%zm!bvc%c61|7taOdW`F&ZU~Hw-1^G_4mJWt_R5lWNkVW@VC?|uPI-^S$_ zZ6xGi3}tM|AzMMswOyHTQf^VSZ7drl=;kp2M-$fe_DK(HyneANTyya1$PZvwXt_** z?*-YiA(=2Y4pA0g+w4vooa5T5Dnr0vQ=@Hv@nx!3yofmupf%K Go7{_oA|5XQ diff --git a/index.html b/index.html deleted file mode 100644 index 78fd6dfda..000000000 --- a/index.html +++ /dev/null @@ -1,1536 +0,0 @@ - - - - - - - -Asciidoc Book Editor based on JavaFX 16 - - - - - - -
-
-
-
-

Build Status -Gitter

-
-
-Star - -Fork -
- - -
-

Asciidoc FX is a book / document editor to build PDF, Epub, Mobi and HTML books, documents and slides. AsciidocFX is also a winner of Duke’s Choice Award 2015.

-
-
-
-asciidocfx -
-
Figure 1. AsciidocFX - Duke’s Choice Award 2015 winner
-
-
-
-
-

Features

-
-
-
    -
  • -

    Real-Time Preview

    -
  • -
  • -

    Multi-platform (Windows, Mac, Linux)

    -
  • -
  • -

    Creating Asciidoc Books

    -
  • -
  • -

    Creating Markdown Books

    -
  • -
  • -

    Creating PDF, HTML, Epub, Mobi, Odt, Docbook

    -
  • -
  • -

    Epub Viewer

    -
  • -
  • -

    External Browser Support

    -
  • -
  • -

    Table Generator

    -
  • -
  • -

    MathJax Extension

    -
  • -
  • -

    PlantUML Extension

    -
  • -
  • -

    ditaa Extension

    -
  • -
  • -

    Filesystem Tree Extension

    -
  • -
  • -

    JavaFX Charts Extension

    -
  • -
  • -

    Source Code Highlighter

    -
  • -
  • -

    Reveal.js Converter

    -
  • -
  • -

    Deck.js Converter

    -
  • -
  • -

    Nashorn support

    -
  • -
  • -

    Pseudo Terminal Emulator

    -
  • -
  • -

    Themeing (Dark & White) _New _

    -
  • -
-
-
-
-
-

Pseudo Terminal Emulator

-
-
-
-Pseudo Terminal Emulator -
-
-
-
-
-

How to Install AsciidocFX

-
-
-

There are a number of operating systems that AsciidocFX supports.

-
-
- - - - - -
- - -The latest releases are available from the Github releases page. -
-
-
-

Supported Operating Systems and Builds shows the list of available builds with links for reference. If you are looking for the very latest version, visit the link in the note above to be guaranteed of downloading the latest and greatest version of AsciidocFX.

-
-
- - - - - -
- - -Thanks install4j small for providing us open source license for the installers used in AsciidocFX distribution. -
-
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - -
Table 1. Supported Operating Systems and Builds
OSFilename

Mac

AsciidocFX_Mac.dmg

Windows

AsciidocFX_Windows.exe

Windows

AsciidocFX_Windows.zip

Linux

AsciidocFX_Linux.tar.gz

-
-

Install on Linux

-
-

After the download is completed, untar the package in your preferred directory.

-
-
-
-
$ cd bin
-$ ./AsciidocFX
-
-
-
-
-

Install on Windows

-
-

Download executable/installer and run it.

-
-
-
-

Install on Mac

-
-

Download the .dmg and run it.

-
-
-

or

-
-
-

Use Homebrew-cask to install it with one command: brew install --cask asciidocfx

-
-
-
-

Installation Notes

-
-

There are two AsciidocFX package flavors, you can download it with JRE 8 out-of-box or if you have already installed JRE 8 (Update 40 or above), you can download *No_JRE builds

-
-
-
-
Graphviz
-
-

PlantUML extension needs Graphviz, if you will use it, then install it:

-
-
Ubuntu
-
-
sudo apt-get install graphviz
-
-
-
-
Mac OS X
-
-
# Install Brew
-/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-# Install Graphviz
-brew install graphviz
-
-
-
-
Windows
-
-
http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi
-
-
-
-
-
-
-
-
Microsoft Core Fonts
-
-

You must install Microsoft Core Fonts on Linux OSes also.

-
-
-
-
-

Ubuntu/Debian

-
-
-
-
sudo apt-get install ttf-mscorefonts-installer
-
-
-
-

Fedora

-
-
-

If you are using Fedora, you need to install the RPM provided from this URL: mscorefonts2

-
-
-
-
KindleGen
-
-

You must install KindleGen, If you need to convert your documents into Mobi files. Once you specify the location of KindleGen executable, Mobi Service provided by AFX will be available.

-
-
-
-
-
-
-
-

A Quick Dive

- -
-
-

PlantUML Extension

-
-
-

You can fulfill your UML needs with AsciidocFX. It supports PlantUML. AsciidocFX converts this textual UML elements as png or svg image.

-
-
-

PlantUML is a component that allows to quickly write :

-
-
-
    -
  • -

    Sequence diagram,

    -
  • -
  • -

    Usecase diagram,

    -
  • -
  • -

    Class diagram,

    -
  • -
  • -

    Activity diagram, (here is the new syntax),

    -
  • -
  • -

    Component diagram,

    -
  • -
  • -

    State diagram,

    -
  • -
  • -

    Object diagram.

    -
  • -
  • -

    wireframe graphical interface

    -
  • -
-
-
-
-
.UML Diagram Example
-[uml,file="uml-example.png"]
---
-abstract class AbstractList
-abstract AbstractCollection
-interface List
-interface Collection
-
-List <|-- AbstractList
-Collection <|-- AbstractCollection
-
-Collection <|- List
-AbstractCollection <|- AbstractList
-AbstractList <|-- ArrayList
-
-class ArrayList {
-  Object[] elementData
-  size()
-}
-
-enum TimeUnit {
-  DAYS
-  HOURS
-  MINUTES
-}
-
-annotation SuppressWarnings
---
-
-
-
-
-uml example -
-
Figure 2. UML example output
-
-
- - - - - -
- - -In some UML elements, PlantUML needs to work with Graphviz. Because of this, you should install Graphviz manually for your platform. After installing Graphviz, you should set GRAPHVIZ_DOT environment variable to dot executable in Graphviz. -
-
-
-
-
-

ditaa Extension

-
-
-

AsciidocFX supports ditaa diagrams.

-
-
-

DITAA is a component that converts diagrams drawn in ascii art to bitmap graphics.

-
-
-
-
.ditaa Diagram Example
-[ditaa,file="images/ditaa-example.png"]
---
-    +--------+   +-------+    +-------+
-    |        |---+ ditaa +--->|       |
-    |  Text  |   +-------+    |diagram|
-    |Document|   |!magic!|    |       |
-    |     {d}|   |       |    |       |
-    +---+----+   +-------+    +-------+
-        :                         ^
-        |       Lots of work      |
-        +-------------------------+
---
-
-
-
-
-ditaa example -
-
-
-
-
-

MathJax Extension

-
-
-

MathJax is an open source JavaScript display engine for mathematics that works in all browsers.

-
-
-

You can use Tex or MathML languages for describing mathematical formulas in AsciidocFX. AsciidocFX converts this textual formulas as png or svg image.

-
-
-
For Example (Tex)
-
-
[math,file="tex-formula.png"]
---
-\begin{align}
-\dot{x} & = \sigma(y-x) \\
-\dot{y} & = \rho x - y - xz \\
-\dot{z} & = -\beta z + xyp
-\end{align}
---
-
-
-
-
-
-

Tex output

-
-
-
-tex formula -
-
-
-
For Example (MathML)
-
-
[math,file="mathml-formula.png"]
---
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
-  <mi>x</mi>
-  <mo>=</mo>
-  <mrow>
-    <mfrac>
-      <mrow>
-        <mo>&#x2212;</mo>
-        <mi>b</mi>
-        <mo>&#xB1;</mo>
-        <msqrt>
-          <msup>
-            <mi>b</mi>
-            <mn>2</mn>
-          </msup>
-          <mo>&#x2212;</mo>
-          <mn>4</mn>
-          <mi>a</mi>
-          <mi>c</mi>
-        </msqrt>
-      </mrow>
-      <mrow>
-        <mn>2</mn>
-        <mi>a</mi>
-      </mrow>
-    </mfrac>
-  </mrow>
-  <mtext>.</mtext>
-</math>
---
-
-
-
-
-
-

MathML output

-
-
-
-mathml formula -
-
-
-
-
-

Filesystem Tree Extension

-
-
-

You can represent filesystem tree in following tree block. There is two style of FS tree.

-
-
-
-
[tree,file="tree-view.png"]
---
-#src
-##main
-###java
-####com
-#####kodcu
-######App.java
-###resources
-####css
-#####style.css
-####js
-#####script.js
-####images
-#####image.png
---
-
-
-
-
-
-

Filesystem Tree output

-
-
-

When you drag and drop a folder to editor, AFX will generate this like tree automatically.

-
-
-
-tree view -
-
-
-
-
[tree,file="tree-view-new.png"]
---
-root
-|-- photos
-|   |-- camp.gif
-|   |-- festival.png
-|   `-- balloon.jpg
-|-- videos
-|   |-- car-video.avi
-|   |-- dance.mp4
-|   |-- dance01.mpg
-|   |-- another video.divx
-|   `-- school videos
-|       `-- firstday.flv
-|-- documents
-|   |-- jsfile.js
-|   |-- powerpoint.ppt
-|   |-- chapter-01.asc
-|   |-- archive-db.zip
-|   |-- .gitignore
-|   |-- README
-|   `-- configuration.conf
-`-- etc.
---
-
-
-
-
-
-

Filesystem Tree output (new)

-
-
-
-tree view new -
-
-
-
-
-

JavaFX Charts Extension

-
-
-

JavaFX has 8 kind of Chart component and AsciidocFX supports all of them.

-
-
-

Pie Chart

-
-
-
[chart,pie,file="secim-2014-pie.png",opt="title=2014 YEREL SEÇİM SONUÇLARI"]
---
-AKP,  45.6, orange
-CHP,  27.8,red
-MHP,  15.2
-BDP,  4.2
-SP,  2
---
-
-
-
-
-
-
chart::pie[data-uri="pie.csv",file="secim-2014-pie-csv.png"]
-
-
-
-
-secim 2014 pie -
-
-
-
-

Area Chart

-
-
-
[chart,area,file="area-chart.png"]
---
-//April
-1,  4
-3,  10
-6,  15
-9,  8
-12, 5
-
-//May
-1,  20
-3,  15
-6,  13
-9,  12
-12, 14
---
-
-
-
-
-
-
chart::area[data-uri="area.csv",file="area-chart-csv.png"]
-
-
-
-
-area chart -
-
-
-

For other charts and available options, look at Chart extension wiki page!

-
-
-
-
-
-

How to Build AsciidocFX

-
-
-
    -
  1. -

    Firstly, install JDK 8

    -
  2. -
  3. -

    Download Apache Maven and set /bin directory to environment variables

    -
  4. -
  5. -

    Enter AsciidocFX directory and run $ mvn clean install

    -
  6. -
  7. -

    Follow to target/appassembler/bin directory and you will see asciidocfx.sh and asciidocfx.bat

    -
  8. -
-
-
- - - - - -
- - -We are generating builts with Travis-CI automatically. -NOTE: All builds x64 based. If you want to use in x86 systems, build AsciidocFX yourself. -
-
-
-
-
-

Books Written with AsciidocFX

-
-
-
-
Java 8 Ebook
-
-
- -
-
-
AspectJ Ebook
-
-
- -
-
-
Mastering Cloudforms Automation
-
- -
-
-
-
-
-
-

Slides (Reveal.js and Deck.js)

-
-
-

AsciidocFX has a built-in template converter for Reveal.js and Deck.js. To getting start with slide authoring, you can just follow New  Slide menu.

-
-
-
-new slide -
-
Figure 3. New  Slide
-
-
-

After that AFX will prompt you a freespace directory name and "OK" you will see the slide demo.

-
-
-
-slide demo -
-
Figure 4. Slide demo
-
-
-

You can easily switch between reveal.js and deck.js by changing the comment below. Also, you can configure default settings by editing _settings_reveal.adoc and include::_settings_deck.adoc.

-
-
-
-
include::_settings_reveal.adoc[]
-
-// include::_settings_deck.adoc[]
-
-
-
-
-
-

Used Technologies

-
-
-

AsciidocFX uses Java, JavaScript and XML related technologies.

-
-
-
    -
  • -

    Java FX 8

    -
  • -
  • -

    Asciidoctor.js

    -
  • -
  • -

    Spring Boot

    -
  • -
  • -

    Spring WebSocket

    -
  • -
  • -

    Docbook

    -
  • -
  • -

    Apache Fop

    -
  • -
  • -

    Saxon 6.5

    -
  • -
  • -

    Ace editor

    -
  • -
  • -

    Nashorn

    -
  • -
-
-
-
-
-

AsciidocFX Configuration

-
-
-

You can configurate AsciidocFX with Settings page (Press Ctrl+F4). The all configs located in [Install_Dir]/conf folder.

-
-
-
-
-

Some Shortcuts

-
-
-

AFX supports this ace shortcuts https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts and custom shortcuts listed below . If you suggest us any shortcut request, we can implement it.

-
- ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ShortcutDetail

Ctrl+F4

Show settings

Ctrl+V

Converts and pastes selection

Ctrl+Shift+V

Pastes selection

tblx,y+Tab

Generates asciidoc table (x=row,y=column)

tblx.y+Tab

Generates asciidoc table (x=row,y=column)

src+Tab

Generates asciidoc source block (default lang: java)

src.lang+Tab

Generates asciidoc source block by lang

src,lang+Tab

Generates asciidoc source block by lang

img+Tab

Generates image section

book+Tab

Generates book header section

article+Tab

Generates article header section

UML+Tab

Generates UML block

MATH+Tab

Generates Math block

TREE+Tab

Generates Tree block

quote+Tab

Generates Quote block

Ctrl+B

Bolds selection

Ctrl+F

Find Text

Ctrl+F , Ctrl+F

Find and Replace Text

Ctrl+I

Italices selection

Ctrl+U

Underlines selection

Ctrl+H

Highlights selection

Ctrl+D

Duplicates selection

Ctrl+L

Displays line numbers

Ctrl+X

Removes current line

Ctrl+N

Creates new empty doc

Ctrl+M

Maximizes the tab pane

Ctrl+S

Saves current doc

Ctrl+W

Saves and closes current doc

Ctrl+Shift+C

Surrounds backtick `` selection

Ctrl+Mouse_Scroll_Up

Zoom in

Ctrl+Mouse_Scroll_Down

Zoom out

F12

Opens Firebug Lite (Requires Internet Connection)

-
-
-
-

Known Issues

-
-
-
-
PDF output shows all text as ####
-
-

On Linux platforms you can face with this issue. For the getting around for the issue you need to install Microsoft Core Fonts to your platform. How to install [microsoft-core-fonts]

-
-
Mac QWERTY Keyboard Bug
-
-

There is a bug in JavaFX which makes all keyboards on a Mac behave as "QWERTY". -This means, that on a German "QWERTZ" layout the shortcuts for undo and redo are swapped.

-
-
Text Artifacts (Rainbowing) on Text
-
-

If you are being distracted by rainbow text artifacts on text, you can work around the issue by passing some VM options in [Install_Dir]/AsciidocFX.vmoptions, as shared in this RichTextFX bug.

-
-
    -
  1. -

    Open AsciidocFX.vmoptions.

    -
  2. -
  3. -

    Add -Dprism.text=t2k and -Dprism.lcdtext=false to the file.

    -
  4. -
  5. -

    Save and close.

    -
  6. -
  7. -

    Launch AsciidocFX

    -
  8. -
-
-
-
-
-
-
-
-

Changelog

-
-
-

To see what has changed in recent versions of AsciidocFX, see the CHANGELOG

-
-
-
-
-

Support

-
-
-

Support AsciidocFX with pull requests or open an issue for bug & feature requests. You can make discussions in mail group or in the chat room at Gitter.im.

-
-
-
-
-

Contributors

-
-
-

Thank you to all the people who have already contributed to AsciidocFX! -Contributors

-
-
-
-
-

Backers

-
-
-

Thank you to all our backers! [Become a backer]

-
-
-

Backers on Open Collective

-
-
-
-
-

Sponsors

-
-
-

Thank you to all our sponsors! (please ask your company to also support this open source project by becoming a sponsor)

-
-
-

avatar -avatar -avatar -avatar -avatar -avatar -avatar -avatar -avatar -avatar

-
- -
-
-
- - - - - - \ No newline at end of file diff --git a/install-jdk.sh b/install-jdk.sh deleted file mode 100644 index 3288f42ad..000000000 --- a/install-jdk.sh +++ /dev/null @@ -1,325 +0,0 @@ -#!/usr/bin/env bash - -# -# Install JDK for Linux and Mac OS -# -# This script determines the most recent early-access build number, -# downloads the JDK archive to the user home directory and extracts -# it there. -# -# Exported environment variables (when sourcing this script) -# -# JAVA_HOME is set to the extracted JDK directory -# PATH is prepended with ${JAVA_HOME}/bin -# -# (C) 2019 Christian Stein -# -# https://github.com/sormuras/bach/blob/master/install-jdk.sh -# - -set -o errexit -#set -o nounset # https://github.com/travis-ci/travis-ci/issues/5434 -#set -o xtrace - -function initialize() { - readonly script_name="$(basename "${BASH_SOURCE[0]}")" - readonly script_version='2019-05-02' - - dry=false - silent=false - verbose=false - emit_java_home=false - - feature='ea' - license='GPL' - os='?' - url='?' - workspace="${HOME}" - target='?' - cacerts=false -} - -function usage() { -cat << EOF -Usage: ${script_name} [OPTION]... -Download and extract the latest-and-greatest JDK from java.net or Oracle. - -Version: ${script_version} -Options: - -h|--help Displays this help - -d|--dry-run Activates dry-run mode - -s|--silent Displays no output - -e|--emit-java-home Print value of "JAVA_HOME" to stdout (ignores silent mode) - -v|--verbose Displays verbose output - - -f|--feature 9|10|...|ea JDK feature release number, defaults to "ea" - -l|--license GPL|BCL License defaults to "GPL", BCL also indicates OTN-LA for Oracle Java SE - -o|--os linux-x64|osx-x64 Operating system identifier (works best with GPL license) - -u|--url "https://..." Use custom JDK archive (provided as .tar.gz file) - -w|--workspace PATH Working directory defaults to \${HOME} [${HOME}] - -t|--target PATH Target directory, defaults to first component of the tarball - -c|--cacerts Link system CA certificates (currently only Debian/Ubuntu is supported) -EOF -} - -function script_exit() { - if [[ $# -eq 1 ]]; then - printf '%s\n' "$1" - exit 0 - fi - - if [[ $# -eq 2 && $2 =~ ^[0-9]+$ ]]; then - printf '%b\n' "$1" - exit "$2" - fi - - script_exit 'Invalid arguments passed to script_exit()!' 2 -} - -function say() { - if [[ ${silent} != true ]]; then - echo "$@" - fi -} - -function verbose() { - if [[ ${verbose} == true ]]; then - echo "$@" - fi -} - -function parse_options() { - local option - while [[ $# -gt 0 ]]; do - option="$1" - shift - case ${option} in - -h|-H|--help) - usage - exit 0 - ;; - -v|-V|--verbose) - verbose=true - ;; - -s|-S|--silent) - silent=true - verbose "Silent mode activated" - ;; - -d|-D|--dry-run) - dry=true - verbose "Dry-run mode activated" - ;; - -e|-E|--emit-java-home) - emit_java_home=true - verbose "Emitting JAVA_HOME" - ;; - -f|-F|--feature) - feature="$1" - verbose "feature=${feature}" - shift - ;; - -l|-L|--license) - license="$1" - verbose "license=${license}" - shift - ;; - -o|-O|--os) - os="$1" - verbose "os=${os}" - shift - ;; - -u|-U|--url) - url="$1" - verbose "url=${url}" - shift - ;; - -w|-W|--workspace) - workspace="$1" - verbose "workspace=${workspace}" - shift - ;; - -t|-T|--target) - target="$1" - verbose "target=${target}" - shift - ;; - -c|-C|--cacerts) - cacerts=true - verbose "Linking system CA certificates" - ;; - *) - script_exit "Invalid argument was provided: ${option}" 2 - ;; - esac - done -} - -function determine_latest_jdk() { - local number - local curl_result - local url - - verbose "Determine latest JDK feature release number" - number=9 - while [[ ${number} != 99 ]] - do - url=http://jdk.java.net/${number} - curl_result=$(curl -o /dev/null --silent --head --write-out %{http_code} ${url}) - if [[ ${curl_result} -ge 400 ]]; then - break - fi - verbose " Found ${url} [${curl_result}]" - latest_jdk=${number} - number=$[$number +1] - done - - verbose "Latest JDK feature release number is: ${latest_jdk}" -} - -function perform_sanity_checks() { - if [[ ${feature} == '?' ]] || [[ ${feature} == 'ea' ]]; then - feature=${latest_jdk} - fi - if [[ ${feature} -lt 9 ]] || [[ ${feature} -gt ${latest_jdk} ]]; then - script_exit "Expected feature release number in range of 9 to ${latest_jdk}, but got: ${feature}" 3 - fi - if [[ ${feature} -gt 11 ]] && [[ ${license} == 'BCL' ]]; then - script_exit "BCL licensed downloads are only supported up to JDK 11, but got: ${feature}" 3 - fi - if [[ -d "$target" ]]; then - script_exit "Target directory must not exist, but it does: $(du -hs '${target}')" 3 - fi -} - -function determine_url() { - local DOWNLOAD='https://download.java.net/java' - local ORACLE='http://download.oracle.com/otn-pub/java/jdk' - - # Archived feature or official GA build? - case "${feature}-${license}" in - 9-GPL) url="${DOWNLOAD}/GA/jdk9/9.0.4/binaries/openjdk-9.0.4_${os}_bin.tar.gz"; return;; - 9-BCL) url="${ORACLE}/9.0.4+11/c2514751926b4512b076cc82f959763f/jdk-9.0.4_${os}_bin.tar.gz"; return;; - 10-GPL) url="${DOWNLOAD}/GA/jdk10/10.0.2/19aef61b38124481863b1413dce1855f/13/openjdk-10.0.2_${os}_bin.tar.gz"; return;; - 10-BCL) url="${ORACLE}/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_${os}_bin.tar.gz"; return;; - 11-GPL) url="${DOWNLOAD}/GA/jdk11/9/GPL/openjdk-11.0.2_${os}_bin.tar.gz"; return;; - 11-BCL) url="${ORACLE}/11.0.2+9/f51449fcd52f4d52b93a989c5c56ed3c/jdk-11.0.2_${os}_bin.tar.gz"; return;; - 12-GPL) url="${DOWNLOAD}/GA/jdk12.0.1/69cfe15208a647278a19ef0990eea691/12/GPL/openjdk-12.0.1_${os}_bin.tar.gz"; return;; - esac - - # EA or RC or GA build? - local JAVA_NET="http://jdk.java.net/${feature}" - local candidates=$(wget --quiet --output-document - ${JAVA_NET} | grep -Eo 'href[[:space:]]*=[[:space:]]*"[^\"]+"' | grep -Eo '(http|https)://[^"]+') - url=$(echo "${candidates}" | grep -Eo "${DOWNLOAD}/.+/jdk${feature}/.*${license}/.*jdk-${feature}.+${os}_bin(.tar.gz|.zip)$" || true) - - if [[ -z ${url} ]]; then - script_exit "Couldn't determine a download url for ${feature}-${license} on ${os}" 1 - fi -} - -function prepare_variables() { - if [[ ${os} == '?' ]]; then - if [[ "$OSTYPE" == "darwin"* ]]; then - os='osx-x64' - else - os='linux-x64' - fi - fi - if [[ ${url} == '?' ]]; then - determine_latest_jdk - perform_sanity_checks - determine_url - else - feature='' - license='' - os='' - fi - archive="${workspace}/$(basename ${url})" - status=$(curl -o /dev/null --silent --head --write-out %{http_code} ${url}) -} - -function print_variables() { -cat << EOF -Variables: - feature = ${feature} - license = ${license} - os = ${os} - url = ${url} - status = ${status} - archive = ${archive} -EOF -} - -function download_and_extract_and_set_target() { - local quiet='--quiet'; if [[ ${verbose} == true ]]; then quiet=''; fi - local local="--directory-prefix ${workspace}" - local remote='--timestamping --continue' - local wget_options="${quiet} ${local} ${remote}" - local tar_options="--file ${archive}" - - say "Downloading JDK from ${url}..." - verbose "Using wget options: ${wget_options}" - if [[ ${license} == 'GPL' ]]; then - wget ${wget_options} ${url} - else - wget ${wget_options} --header "Cookie: oraclelicense=accept-securebackup-cookie" ${url} - fi - - if [[ ${os} == 'windows-x64' ]]; then - script_exit "Extracting archives on Windows isn't supported, yet" 4 - fi - - verbose "Using tar options: ${tar_options}" - if [[ ${target} == '?' ]]; then - tar --extract ${tar_options} -C "${workspace}" - if [[ "$OSTYPE" != "darwin"* ]]; then - target="${workspace}"/$(tar --list ${tar_options} | grep 'bin/javac' | tr '/' '\n' | tail -3 | head -1) - else - target="${workspace}"/$(tar --list ${tar_options} | head -2 | tail -1 | cut -f 2 -d '/' -)/Contents/Home - fi - else - if [[ "$OSTYPE" != "darwin"* ]]; then - mkdir --parents "${target}" - tar --extract ${tar_options} -C "${target}" --strip-components=1 - else - mkdir -p "${target}" - tar --extract ${tar_options} -C "${target}" --strip-components=4 # . / / Contents / Home - fi - fi - - if [[ ${verbose} == true ]]; then - echo "Set target to: ${target}" - echo "Content of target directory:" - ls "${target}" - echo "Content of release file:" - [[ ! -f "${target}/release" ]] || cat "${target}/release" - fi - - # Link to system certificates - # http://openjdk.java.net/jeps/319 - # https://bugs.openjdk.java.net/browse/JDK-8196141 - if [[ ${cacerts} == true ]]; then - mv "${target}/lib/security/cacerts" "${target}/lib/security/cacerts.jdk" - ln -s /etc/ssl/certs/java/cacerts "${target}/lib/security/cacerts" - fi -} - -function main() { - initialize - parse_options "$@" - - say "$script_name $script_version" - prepare_variables - - if [[ ${silent} == false ]]; then print_variables; fi - if [[ ${dry} == true ]]; then exit 0; fi - - download_and_extract_and_set_target - - export JAVA_HOME=$(cd "${target}"; pwd) - export PATH=${JAVA_HOME}/bin:$PATH - - if [[ ${silent} == false ]]; then java -version; fi - if [[ ${emit_java_home} == true ]]; then echo "${JAVA_HOME}"; fi -} - -main "$@"