Giter VIP home page Giter VIP logo

yangster's Introduction

Yangster

A tool for working with the YANG language.

Development

Open in Gitpod

Manual Setup

Install yarn. Clone and build yang-lsp.

Clone and Build Yangster

Requirements: Python 2.x, Java 8.x, node 8.x, yarn >1.0.2, a C++ compiler, curl, unzip.

git clone --recursive https://github.com/theia-ide/yangster.git && \
cd yangster && \
yarn

For incremental development use

yarn watch

Build on Windows

If you build on Windows, we recommend to install windows build tools, which includes Python and th VS C++ compiler.

npm install --global --production windows-build-tools

UNIX like shells like git-bash or Cygwin alsoe include curl and unzip as command line tools.

Run Yangster

The browser version: Run

yarn rebuild:browser && \
cd yangster-app && \
yarn start

Then point your browser to http://localhost:3000.

The Electron version:

yarn rebuild:electron && \
cd yangster-app-electron && \
yarn start

Connecting the LSP through a Socket

For development it is better to connect to the running LSP through a socket. For that you need to start the yangster-app using

cd yangster-app && \
yarn run start:backend:socket

It will try to connect to the yang-lsp server that you now need to start from within Eclipse by launching RunSocketServer.

Publishing Yangster

Each change on master triggers a build on Jenkins against Theia next. The resulting package is automatically published to npm with the next tag.

For a release (or when Theia releases a new major), we have to build against Theia latest. To achieve that

rm yarn.lock                 # make sure to re-install deps
node theia-version.js latest # set all dependencies to Theia to 'latest'
yarn                         # rebuild (don't forget!)
yarn run publish:latest      # publish
rm yarn.lock                 # make sure to re-install deps
node theia-version.sh next   # reset Theia dependencies to 'next'
yarn                         # make sure yarn-lock is reset to 'next'
git add -A
git commit -m 'Bumped version number'

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.