weso / shex-lite

Scala implementation of a compiler for a subset of the Shape Expressions Compact Syntax.
Other
8 stars 9 forks source link

[SLI-0094] ShEx-Lite 2.0 beta planning (goal: 2020-04-22) #94

Closed thewillyhuman closed 4 years ago

thewillyhuman commented 4 years ago

Description

Date Released 2020-04-22
Release Reviewer @thewilly
Release shex-lite 2.0 beta
Mail Thread google groups
Included Issues SLM-0001

Primary Focus: Shape expressions subset definition

This release focuses on defining the foundations for the future of language. Specifically, define the subset of the grammar that will be part of shex-lite.

As part of this release, therefore support for grammar and syntactic and semantic validations is included.

List of issues included in this release
  • SLI-0028: Semantically validate a schema.
  • SLI-0029: Semanticaly validate a prefix definition.
  • SLI-0030: Semanticaly validate a base definition.
  • SLI-0031: Semanticaly validate an start definition.
  • SLI-0032: Semanticaly validate an import statement.
  • SLI-0033: Semanticaly validate a shape definition.
  • SLI-0034: Semanticaly validate a triple expression.
  • SLI-0035: Semanticaly validate a triple constraint.
  • SLI-0036: Semanticaly validate a shape invocation.
  • SLI-0037: Design the public API.
  • SLI-0038: Add code coverage badge to README.
  • SLI-0041: Symbol table implementation does not meet weso/shex-lite-evolution/pull/16...
  • SLI-0042: Error codes and messages are not descriptive enough and are hardcoded in so...
  • SLI-0046: Build status of master is failing.
  • SLI-0050: Travis CI is completly unstable for scala builds.
  • SLI-0059: Builds and tests are still unstable due to how tests are executed by sbt.
  • SLI-0060: Readme build status badge still points to travis when travis is no longer used.
  • SLI-0066: Symbol table current implementation does not meet single responsability princ...
  • SLI-0070: Semanticaly validate a prefix invocation.
  • SLI-0074: The a keyword is not recognized.
  • SLI-0075: Generate java class for valid schema.
  • SLI-0076: Generate java attributes for valid schema.
  • SLI-0077: Generate java getters for valid schema.
  • SLI-0078: Generate java setters for valid schema.
  • SLI-0079: Generate java all args constructor for a valid schema.
  • Other Improvements

    This release also includes a very basic CLI application that allows to use the compiler com the command line tool. The CLI tool includes the following instruction set:

    Usage
    
     shexlc [options] <files> ... : compile and generate target domain model objects
    
    Options
    
       -gd, --generate-domain-model-objects : if present will generate domain object models
       -hw, --hide-warnings                 : if present will hide the warnings
    
    Arguments
    
       <files> : ShEx-Lite sources to compile

    Usage Example

    In order to execute this release two example shexl files are attached. To execute from CLI you just have to write:

    java -jar shexlc-2.0-beta.jar

    This will print the help page with all the instructions to compile the included files.

    thewillyhuman commented 4 years ago

    🎉 Release launched: shex-lite 2.0 beta. 🎉