Skip to content

Commit

Permalink
Add Spoofax 2.5.10 release.
Browse files Browse the repository at this point in the history
  • Loading branch information
Gohla committed Jul 7, 2020
1 parent cca0253 commit d0b73b6
Show file tree
Hide file tree
Showing 7 changed files with 170 additions and 67 deletions.
2 changes: 1 addition & 1 deletion conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
project = 'Spoofax'
copyright = '2016-' + str(datetime.date.today().year) + ', MetaBorg'
author = 'MetaBorg'
version = '2.5.9'
version = '2.5.10'
release = version
language = None
exclude_patterns = ['.venv', '_build', 'notes', 'include', 'README.md']
Expand Down
1 change: 1 addition & 0 deletions include/_all.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@
.. include:: /include/hyperlink/download-2.5.7.rst
.. include:: /include/hyperlink/download-2.5.8.rst
.. include:: /include/hyperlink/download-2.5.9.rst
.. include:: /include/hyperlink/download-2.5.10.rst
31 changes: 31 additions & 0 deletions include/hyperlink/download-2.5.10.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
.. |2.5.10-version| replace:: ``2.5.10``
.. |2.5.10-date| replace:: 07-07-2020

.. _2.5.10-eclipse-windows-32-jre: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.10/org.metaborg.spoofax.eclipse.dist-2.5.10-windows-x86-jre.zip
.. _2.5.10-eclipse-windows-64-jre: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.10/org.metaborg.spoofax.eclipse.dist-2.5.10-windows-x64-jre.zip
.. _2.5.10-eclipse-linux-32-jre: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.10/org.metaborg.spoofax.eclipse.dist-2.5.10-linux-x86-jre.tar.gz
.. _2.5.10-eclipse-linux-64-jre: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.10/org.metaborg.spoofax.eclipse.dist-2.5.10-linux-x64-jre.tar.gz
.. _2.5.10-eclipse-macos-64-jre: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.10/org.metaborg.spoofax.eclipse.dist-2.5.10-macosx-x64-jre.tar.gz

.. _2.5.10-eclipse-windows-32: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.10/org.metaborg.spoofax.eclipse.dist-2.5.10-windows-x86.zip
.. _2.5.10-eclipse-windows-64: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.10/org.metaborg.spoofax.eclipse.dist-2.5.10-windows-x64.zip
.. _2.5.10-eclipse-linux-32: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.10/org.metaborg.spoofax.eclipse.dist-2.5.10-linux-x86.tar.gz
.. _2.5.10-eclipse-linux-64: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.10/org.metaborg.spoofax.eclipse.dist-2.5.10-linux-x64.tar.gz
.. _2.5.10-eclipse-macos-64: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.eclipse.dist/2.5.10/org.metaborg.spoofax.eclipse.dist-2.5.10-macosx-x64.tar.gz

.. _2.5.10-eclipse-update-site: http://artifacts.metaborg.org/content/unzip/releases-unzipped/org/metaborg/org.metaborg.spoofax.eclipse.updatesite/2.5.10/org.metaborg.spoofax.eclipse.updatesite-2.5.10-assembly.zip-unzip/
.. _2.5.10-eclipse-update-site-archive: http://artifacts.metaborg.org/content/repositories/releases/org/metaborg/org.metaborg.spoofax.eclipse.updatesite/2.5.10/org.metaborg.spoofax.eclipse.updatesite-2.5.10-assembly.zip
.. |2.5.10-eclipse-update-site| replace:: ``http://artifacts.metaborg.org/content/unzip/releases-unzipped/org/metaborg/org.metaborg.spoofax.eclipse.updatesite/2.5.10/org.metaborg.spoofax.eclipse.updatesite-2.5.10-assembly.zip-unzip/``

.. _2.5.10-intellij-update-site: http://artifacts.metaborg.org/content/repositories/releases/org/metaborg/org.metaborg.intellij.dist/2.5.10/org.metaborg.intellij.dist-2.5.10.zip
.. _2.5.10-intellij-update-site-archive: http://artifacts.metaborg.org/content/repositories/releases/org/metaborg/org.metaborg.intellij.dist/2.5.10/org.metaborg.intellij.dist-2.5.10.zip
.. |2.5.10-intellij-update-site| replace:: ``http://artifacts.metaborg.org/content/repositories/releases/org/metaborg/org.metaborg.intellij.dist/2.5.10/org.metaborg.intellij.dist-2.5.10.zip``

.. _2.5.10-sunshine-jar: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.sunshine2/2.5.10/org.metaborg.sunshine2-2.5.10.jar
.. _2.5.10-spt-testrunner-jar: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spt.cmd/2.5.10/org.metaborg.spt.cmd-2.5.10.jar

.. _2.5.10-spoofax-core-uber-jar: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/org.metaborg.spoofax.core.uber/2.5.10/org.metaborg.spoofax.core.uber-2.5.10.jar
.. |2.5.10-spoofax-core-uber-maven-artifact| replace:: ``org.metaborg:org.metaborg.spoofax.core.uber:2.5.10``

.. _2.5.10-strategoxt-distrib: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/strategoxt-distrib/2.5.10/strategoxt-distrib-2.5.10-bin.tar
.. _2.5.10-strategoxt-jar: http://artifacts.metaborg.org/service/local/repositories/releases/content/org/metaborg/strategoxt-jar/2.5.10/strategoxt-jar-2.5.10.jar
48 changes: 24 additions & 24 deletions include/hyperlink/download-rel.rst
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
.. |rel-version| replace:: |2.5.9-version|
.. |rel-date| replace:: |2.5.9-date|
.. |rel-version| replace:: |2.5.10-version|
.. |rel-date| replace:: |2.5.10-date|

.. _rel-eclipse-windows-32-jre: 2.5.9-eclipse-windows-32-jre_
.. _rel-eclipse-windows-64-jre: 2.5.9-eclipse-windows-64-jre_
.. _rel-eclipse-linux-32-jre: 2.5.9-eclipse-linux-32-jre_
.. _rel-eclipse-linux-64-jre: 2.5.9-eclipse-linux-64-jre_
.. _rel-eclipse-macos-64-jre: 2.5.9-eclipse-macos-64-jre_
.. _rel-eclipse-windows-32-jre: 2.5.10-eclipse-windows-32-jre_
.. _rel-eclipse-windows-64-jre: 2.5.10-eclipse-windows-64-jre_
.. _rel-eclipse-linux-32-jre: 2.5.10-eclipse-linux-32-jre_
.. _rel-eclipse-linux-64-jre: 2.5.10-eclipse-linux-64-jre_
.. _rel-eclipse-macos-64-jre: 2.5.10-eclipse-macos-64-jre_

.. _rel-eclipse-windows-32: 2.5.9-eclipse-windows-32_
.. _rel-eclipse-windows-64: 2.5.9-eclipse-windows-64_
.. _rel-eclipse-linux-32: 2.5.9-eclipse-linux-32_
.. _rel-eclipse-linux-64: 2.5.9-eclipse-linux-64_
.. _rel-eclipse-macos-64: 2.5.9-eclipse-macos-64_
.. _rel-eclipse-windows-32: 2.5.10-eclipse-windows-32_
.. _rel-eclipse-windows-64: 2.5.10-eclipse-windows-64_
.. _rel-eclipse-linux-32: 2.5.10-eclipse-linux-32_
.. _rel-eclipse-linux-64: 2.5.10-eclipse-linux-64_
.. _rel-eclipse-macos-64: 2.5.10-eclipse-macos-64_

.. _rel-eclipse-update-site: 2.5.9-eclipse-update-site_
.. _rel-eclipse-update-site-archive: 2.5.9-eclipse-update-site-archive_
.. |rel-eclipse-update-site| replace:: |2.5.9-eclipse-update-site|
.. _rel-eclipse-update-site: 2.5.10-eclipse-update-site_
.. _rel-eclipse-update-site-archive: 2.5.10-eclipse-update-site-archive_
.. |rel-eclipse-update-site| replace:: |2.5.10-eclipse-update-site|

.. _rel-intellij-update-site: 2.5.9-intellij-update-site_
.. _rel-intellij-update-site-archive: 2.5.9-intellij-update-site-archive_
.. |rel-intellij-update-site| replace:: |2.5.9-intellij-update-site|
.. _rel-intellij-update-site: 2.5.10-intellij-update-site_
.. _rel-intellij-update-site-archive: 2.5.10-intellij-update-site-archive_
.. |rel-intellij-update-site| replace:: |2.5.10-intellij-update-site|

.. _rel-sunshine-jar: 2.5.9-sunshine-jar_
.. _rel-spt-testrunner-jar: 2.5.9-spt-testrunner-jar_
.. _rel-sunshine-jar: 2.5.10-sunshine-jar_
.. _rel-spt-testrunner-jar: 2.5.10-spt-testrunner-jar_

.. _rel-spoofax-core-uber-jar: 2.5.9-spoofax-core-uber-jar_
.. |rel-spoofax-core-uber-maven-artifact| replace:: |2.5.9-spoofax-core-uber-maven-artifact|
.. _rel-spoofax-core-uber-jar: 2.5.10-spoofax-core-uber-jar_
.. |rel-spoofax-core-uber-maven-artifact| replace:: |2.5.10-spoofax-core-uber-maven-artifact|

.. _rel-strategoxt-distrib: 2.5.9-strategoxt-distrib_
.. _rel-strategoxt-jar: 2.5.9-strategoxt-jar_
.. _rel-strategoxt-distrib: 2.5.10-strategoxt-distrib_
.. _rel-strategoxt-jar: 2.5.10-strategoxt-jar_
112 changes: 112 additions & 0 deletions source/release/note/2.5.10.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
==============
Spoofax 2.5.10
==============

Spoofax 2.5.10 contains several smaller improvements.

Changes
-------

SDF3 — Lexical and context-free sort declarations
In SDF3 you can now explicitly declare your sorts. Declare lexical sorts
in a ``lexical sorts`` block, and context-free sorts in a
``context-free sorts`` block. Sorts declared in a kernel ``sorts`` block
default to declaring context-free sorts until a suffix such as ``-LEX``
is added. Note that you have to use ``sdf2table: java`` to support
lexical sorts.

Statix — New projects use the signature generator by default
New project that use Statix automatically have the Statix signature generator
enabled. For this to work properly, declare your lexical and context-free
sorts in SDF3 explicitly. See the :ref:`Statix signature generator
<statix-signature-generator>` documentation for more information.

TypeSmart — Support for TypeSmart was removed
We anticipate a more useable type analysis for Stratego in the form of a gradual type system.

The ``metaborg.yaml`` file of a generated project used to contain
a ``debug: typesmart: false``. This was to turn off the TypeSmart dynamic
analysis by default. This analysis would stop any Stratego code when it tried
to construct a tree that did not conform to the grammar of the project.

To our knowledge TypeSmart was not used in any active Spoofax project. It did,
however, slow down the build time of all Spoofax projects, because extraction
of the grammar into a TypeSmart readable format had to be done even if the
analysis was off for that project. These two points, and the anticipation of
a gradual type system for Stratego, were the reasons to drop TypeSmart support.

Stratego — Combined compiled Stratego and helper code
Compilation of Stratego and helper code written in Java (in
``src/main/strategies``) is now combined in a single jar file per Spoofax
language instead of two. See the migration guide for more information on what to
change in your Spoofax project.

SPT — Ambiguous parse test expectation
SPT gains support for the ``parse ambiguous`` expectation, which succeeds
when a fragment parses successfully but with ambiguities.
Tests with the ``parse succeeds`` expectation will now fail when the
input parses ambiguously. To write tests for ambiguous parses, use the
``parse ambiguous`` expectation instead.


Downloads
---------

Eclipse plugin
~~~~~~~~~~~~~~

Premade Eclipse installations
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

With embedded JRE:

- `Windows 32-bits, embedded JRE <2.5.10-eclipse-windows-32-jre_>`_
- `Windows 64-bits, embedded JRE <2.5.10-eclipse-windows-64-jre_>`_
- `Linux 32-bits, embedded JRE <2.5.10-eclipse-linux-32-jre_>`_
- `Linux 64-bits, embedded JRE <2.5.10-eclipse-linux-64-jre_>`_
- `macOS, embedded JRE <2.5.10-eclipse-macos-64-jre_>`_

Without embedded JRE:

- `Windows 32-bits <2.5.10-eclipse-windows-32_>`_
- `Windows 64-bits <2.5.10-eclipse-windows-64_>`_
- `Linux 32-bits <2.5.10-eclipse-linux-32_>`_
- `Linux 64-bits <2.5.10-eclipse-linux-64_>`_
- `macOS <2.5.10-eclipse-macos-64_>`_

Update site
^^^^^^^^^^^

- Eclipse update site: |2.5.10-eclipse-update-site|
- `Eclipse update site archive <2.5.10-eclipse-update-site-archive_>`_

IntelliJ plugin
~~~~~~~~~~~~~~~

- IntelliJ update site: |2.5.10-intellij-update-site|
- `IntelliJ update site archive <2.5.10-intellij-update-site-archive_>`_

Command-line utilities
~~~~~~~~~~~~~~~~~~~~~~

- `Sunshine JAR <2.5.10-sunshine-jar_>`_
- `SPT testrunner JAR <2.5.10-spt-testrunner-jar_>`_

Core API
~~~~~~~~

- `Spoofax Core uber JAR <2.5.10-spoofax-core-uber-jar_>`_
- Spoofax Core uber Maven artifact: |2.5.10-spoofax-core-uber-maven-artifact|

StrategoXT
~~~~~~~~~~

- `StrategoXT distribution <2.5.10-strategoxt-distrib_>`_
- `StrategoXT JAR <2.5.10-strategoxt-jar_>`_

Maven artifacts
~~~~~~~~~~~~~~~

Maven artifacts can be found on our `artifact server <artifact-server-releases_>`_.
The Maven version used for this release is ``2.5.10``. See the instructions on :ref:`using MetaBorg Maven artifacts <dev-maven>` for more information.

1 change: 1 addition & 0 deletions source/release/note/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Release notes describe the changes made in the release, and provide download lin
.. toctree::
:maxdepth: 1

2.5.10 (07-07-2020) <2.5.10>
2.5.9 (08-05-2020) <2.5.9>
2.5.8 (28-04-2020) <2.5.8>
2.5.7 (26-06-2019) <2.5.7>
Expand Down
42 changes: 0 additions & 42 deletions source/release/note/vnext.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,45 +8,3 @@ See the corresponding :ref:`migration guide <vnext-migration-guide>` for migrati

Changes
-------
SDF3 — Lexical and context-free sort declarations
In SDF3 you can now explicitly declare your sorts. Declare lexical sorts
in a ``lexical sorts`` block, and context-free sorts in a
``context-free sorts`` block. Sorts declared in a kernel ``sorts`` block
default to declaring context-free sorts until a suffix such as ``-LEX``
is added. Note that you have to use ``sdf2table: java`` to support
lexical sorts.

Statix — New projects use the signature generator by default
New project that use Statix automatically have the Statix signature generator
enabled. For this to work properly, declare your lexical and context-free
sorts in SDF3 explicitly. See the :ref:`Statix signature generator
<statix-signature-generator>` documentation for more information.
TypeSmart — Support for TypeSmart was removed
We anticipate a more useable type analysis for Stratego in the form of a gradual type system.

The ``metaborg.yaml`` file of a generated project used to contain
a ``debug: typesmart: false``. This was to turn off the TypeSmart dynamic
analysis by default. This analysis would stop any Stratego code when it tried
to construct a tree that did not conform to the grammar of the project.

To our knowledge TypeSmart was not used in any active Spoofax project. It did,
however, slow down the build time of all Spoofax projects, because extraction
of the grammar into a TypeSmart readable format had to be done even if the
analysis was off for that project. These two points, and the anticipation of
a gradual type system for Stratego, were the reasons to drop TypeSmart support.

Stratego — Combined compiled Stratego and helper code
Compilation of Stratego and helper code written in Java (in
``src/main/strategies``) is now combined in a single jar file per Spoofax
language instead of two. See the migration guide for more information on what to
change in your Spoofax project.

SPT — Ambiguous parse test expectation
SPT gains support for the ``parse ambiguous`` expectation, which succeeds
when a fragment parses successfully but with ambiguities.
Tests with the ``parse succeeds`` expectation will now fail when the
input parses ambiguously. To write tests for ambiguous parses, use the
``parse ambiguous`` expectation instead.

Overall
~~~~~~~

0 comments on commit d0b73b6

Please sign in to comment.