Git Product home page Git Product logo

WebDSL

Main repository for the WebDSL domain-specific language for web applications.

Installation

Either follow the installation instructions, or build from source. See also how to get WebDSL in Eclipse.

Building

Install Dependencies (macOS + brew)

brew install wget autoconf automake maven ant nailgun

ECJ (reduce heap usage)

The build script looks for an ecj script on the path to replace javac.

You can download the ECJ jar from

https://mvnrepository.com/artifact/org.eclipse.jdt.core.compiler/ecj/4.6.1

Then create an ecj file and put it on your path:

#!/bin/sh -e
ECJJAR=ecj-4.6.1.jar
java -Xmx1g -Xms100m -server -XX:+UseParallelGC -cp $ECJJAR org.eclipse.jdt.internal.compiler.batch.Main "$@"

Verify it:

which ecj

Note: If you get a GC overhead limit exceeded error when running ecj or make, increase the amount of heap memory -Xmx in the ecj script.

Build WebDSL compiler

Invoke the following commands from the root of the repository:

./bootstrap
./configure --prefix=/usr/local
make
make install

You can check the current version of your WebDSL installation:

webdsl version

It will report the hash of the commit from which WebDSL was built.

Note: If you get this error when invoking make:

Making all in src
make[1]: *** No rule to make target `libwebdsl-front.rtree',
  needed by `src-gen/org/webdsl/webdsl_generator/Main.java'.  Stop.
make: *** [all-recursive] Error 1

Clean the temporary files from the repository, e.g.:

git clean -fXd

Then reissue the commands for building WebDSL.

Note: When you change the JAR libraries, remove the existing WebDSL install directory or you might end up with duplicate JARs. The install directory is at $PREFIX/share/webdsl/, for example /usr/local/share/webdsl/ depending on how you invoked .configure.

Build and run a WebDSL application

Example application: https://github.com/webdsl/elib-example

Command-line build

IDE build

Dark Mode IDE

There is a separate Eclipse updatesite for getting the webdsl editor with dark mode friendly colors:

https://update.webdsl.org/update-dark

Additionally, install the DarkestDark theme plugin from eclipse marketplace.

Due to a restriction in the current editor framework this cannot be switched dynamically.

WebDSL's Projects

backupmon icon backupmon

Simple 1-file WebDSL project for monitoring file-sizes and free disk disk space for monitored directories

blog icon blog

a blogging / wiki web app

client-side-faceted-filtering icon client-side-faceted-filtering

Simple javascript library enabling easy implementation of client-side faceted search, or actually faceted filtering of DOM content

cs4105-demo icon cs4105-demo

Demo application for assignment in Software Security course at TUDelft and UTwente.

elib-authentication icon elib-authentication

A WebDSL Elib for user authentication with support for user registration, password reset, multiple email addresses and login

elib-example icon elib-example

Example project for using elib-bootstrap and related libraries.

elib-holder icon elib-holder

Elib that enables one to use 'holder.js', a library that generates images from a given height, width, bgcolor, textcolor and text

elib-tablesorter icon elib-tablesorter

Includes a table template allowing sorting, filtering, pagination. Currently using bootstrap theming. Based on https://github.com/Mottie/tablesorter

elib-timezones icon elib-timezones

Get support for projecting dates/times into different time zones.

pdf-inspector icon pdf-inspector

Prototype webdsl app returning information extracted from an uploaded PDF file using https://github.com/CrossRef/pdfextract

qa icon qa

simple Q&A application in WebDSL

reposearch icon reposearch

Reposearch is a web-based source code search engine, implemented using WebDSL. It has project-scoped autocompletion, code and hit highlighting and support for any ascii based programming language. SVN, GitHub repositories and zip-archives are currently supported

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.