Dummy package for atom-boot-properties

This commit is contained in:
BoykoAlex
2018-02-21 18:42:56 -05:00
parent 20433f8606
commit a098df744c
15 changed files with 20 additions and 301 deletions

View File

@@ -1,53 +0,0 @@
# Atom package for Spring Boot Application Properties
[![macOS Build Status](https://travis-ci.org/spring-projects/atom-boot-properties.svg?branch=master)](https://travis-ci.org/spring-projects/atom-boot-properties) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/1jvknxt9jhykgrxo?svg=true)](https://ci.appveyor.com/project/spring-projects/atom-boot-properties/branch/master) [![Dependency Status](https://david-dm.org/spring-projects/atom-boot-properties.svg)](https://david-dm.org/spring-projects/atom-boot-properties)
Atom package and Language Server providing support for editing `application.properties`
and `application.yml` files containing Spring Boot configuration properties.
## Installation:
Install it from Atom `Install Packages`, search for `boot-properties`
## Usage:
The extension will automatically activate when you edit files with the following
name patterns:
- `application.properties` => activates support for .properties file format.
- `application.yml` => activates support for .yml file format.
For all other files select grammar to be `Spring-Boot-Properties` for `properties` file format or `Spring-Boot-Properties-YAML` for 'YAML' file format
# Developer notes
## Bulding and Running
To build all these pieces you normally only need to run:
npm install
Now you can link it to Atom:
apm link .
Open Atom or execute `Refresh Window` in the opened instance (Packages -> Command Palette -> Toggle then search for the command).
## Debugging
**Client Side Debugging**: Open Atom's `Developer Tools` view - View -> Developer -> Toggle Developer Tools
**Server Side Debugging**: Change `launchVmArgs(version)` implementation in `lib/main.js` to be:
```
launchVmArgs(version) {
return Promise.resolve([
'-Xdebug',
'-agentlib:jdwp=transport=dt_socket,server=y,address=7999,suspend=n',
'-Dorg.slf4j.simpleLogger.logFile=boot-properties.log',
'-Dorg.slf4j.simpleLogger.defaultLogLevel=debug',
]);
}
```
(Then setup the remote debugger from your IDE on the same port `7999`)

View File

@@ -1,64 +1,3 @@
# Atom package and Language Server for Spring Boot Application Properties
# Atom package and Language Server for Spring Boot Application Properties __(Obsolete)__
Atom package and Language Server providing support for working with Spring Boot
`application.properties` and `application.yml` files.
# Usage:
The package will automatically activate when you edit files with the following
name patterns:
- `application.properties` => activates support for Spring Boot properties in `.properties`format.
- `application.yml` => activates support for Spring Boot properties in `.yml` format.
For all other files select grammar to be `Spring-Boot-Properties` for `properties` file format or `Spring-Boot-Properties-YAML` for 'YAML' file format
# Functionality
This package analyzes your project's classpath and parses and indexes any [Spring Boot
Properties Metadata](https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html) it finds. Both Maven and Gradle projects are supported.
The data in the index is used to provide validation, code completions and information
hovers while editing Spring Boot Properties in either `.properties` or `.yml` format.
## Validation
Property keys as well as property values are validated. Property keys are validated for being known properties and values are checked for being of expected type as well being a valid value
![application-yaml-validation][yaml-validation]
![application-properties-validation][properties-validation]
## Code Completions
Both YAML and Properties formats have support for Content Assist on property keys and values helping to write valid Spring Boot configuration files right from the start.
![application-yaml-completions][yaml-completion]
![application-properties-completions][properties-completion]
## Information Hovers
Hovering over property keys provide valuable documentation about the purpose of the property and expected type for its value in a small popup window.
![application-yaml-hovers][yaml-hovers]
## Issues and Feature Requests
Please report bugs, issues and feature requests on the [Github STS4 issue tracker](https://github.com/spring-projects/sts4/issues).
# Releases:
Released versions of this extension can be installed directly from the vscode marketplace.
There are also development snapshots available with the latest fixes and improvements as a `.tgz` file
that can be donwloaded from
[here](http://dist.springsource.com/snapshot/STS4/nightly-distributions.html). To install it:
1. Unpack into a folder `<package>` (this folder should have `package.json` file)
2. Execute `apm link .` from that folder
3. Execute `Window Reload` (Package -> Command Palette -> Toggle then search for it) command in the opened Atom instance or open an Atom instance
[yaml-completion]: https://github.com/spring-projects/sts4/blob/714c6bbb519f714ebba9f9fc5968ac2e619159f8/atom-extensions/atom-boot-properties/readme-imgs/yaml-completion.png
[properties-completion]: https://github.com/spring-projects/sts4/blob/714c6bbb519f714ebba9f9fc5968ac2e619159f8/atom-extensions/atom-boot-properties/readme-imgs/properties-completion.png
[yaml-validation]: https://github.com/spring-projects/sts4/blob/714c6bbb519f714ebba9f9fc5968ac2e619159f8/atom-extensions/atom-boot-properties/readme-imgs/yaml-validation.png
[properties-validation]: https://github.com/spring-projects/sts4/blob/714c6bbb519f714ebba9f9fc5968ac2e619159f8/atom-extensions/atom-boot-properties/readme-imgs/properties-validation.png
[yaml-hovers]: https://github.com/spring-projects/sts4/blob/714c6bbb519f714ebba9f9fc5968ac2e619159f8/atom-extensions/atom-boot-properties/readme-imgs/yaml-hovers.png
It has been merged with Spring Boot support and has moved to [Spring Boot](https://github.com/spring-projects/atom-spring-boot)

View File

@@ -1,37 +0,0 @@
{
"max_line_length": {
"level": "ignore"
},
"no_empty_param_list": {
"level": "error"
},
"arrow_spacing": {
"level": "error"
},
"no_interpolation_in_single_quotes": {
"level": "error"
},
"no_debugger": {
"level": "error"
},
"prefer_english_operator": {
"level": "error"
},
"colon_assignment_spacing": {
"spacing": {
"left": 0,
"right": 1
},
"level": "error"
},
"braces_spacing": {
"spaces": 0,
"level": "error"
},
"spacing_after_comma": {
"level": "error"
},
"no_stand_alone_at": {
"level": "error"
}
}

View File

@@ -1,8 +0,0 @@
'scopeName': 'source.boot-properties-yaml'
'name': 'Spring-Boot-Properties-YAML'
'fileTypes': [
'application.yml'
]
'patterns': [
{ 'include': 'source.yaml' }
]

View File

@@ -1,8 +0,0 @@
'scopeName': 'source.boot-properties'
'name': 'Spring-Boot-Properties'
'fileTypes': [
'application.properties'
]
'patterns': [
{ 'include': 'source.java-properties' }
]

View File

@@ -1,20 +1,13 @@
const path = require('path');
const { JavaProcessLanguageClient } = require('pivotal-atom-languageclient-commons');
const PROPERTIES = require('../properties.json');
const {AutoLanguageClient} = require('atom-languageclient');
class BootPropertiesClient extends JavaProcessLanguageClient {
class BootPropertiesClient extends AutoLanguageClient {
constructor() {
//noinspection JSAnnotator
super(
PROPERTIES.jarUrl,
path.join(__dirname, '..', 'server'),
'boot-properties-language-server.jar'
);
super();
}
getGrammarScopes() {
return ['source.boot-properties','source.boot-properties-yaml'];
return [];
}
getLanguageName() {
@@ -26,20 +19,20 @@ class BootPropertiesClient extends JavaProcessLanguageClient {
}
activate() {
// replace the example argument 'linter-ruby' with the name of this Atom package
require('atom-package-deps')
.install('boot-properties')
.then(() => console.debug('All dependencies installed, good to go'));
const notification = atom.notifications.addInfo('`boot-properties` Extension __NOT__ Functional', {
dismissable: true,
detail: '`boot-properties` extension starting from 0.1.4 is obsolete',
description: 'The `boot-properties` extension is obsolete and no longer functional. Please uninstall it and install the `spring-boot` extension instead.',
buttons: [{
text: 'OK',
onDidClick: () => {
notification.dismiss();
}
}]
});
super.activate();
}
launchVmArgs(version) {
return Promise.resolve([
'-Dorg.slf4j.simpleLogger.logFile=boot-properties.log',
'-Dorg.slf4j.simpleLogger.defaultLogLevel=debug',
]);
}
}
module.exports = new BootPropertiesClient();

View File

@@ -10,74 +10,12 @@
"atom": ">=1.21.0"
},
"files": [
"grammars/",
"settings/",
"lib/",
"server/",
"properties.json"
"lib/"
],
"dependencies": {
"atom-package-deps": "^4.6.0",
"download": "^6.2.5",
"pivotal-atom-languageclient-commons": "0.0.19"
},
"devDependencies": {
"coffeelint": "^1.10.1"
"atom-languageclient": "0.8.0"
},
"scripts": {
"clean": "rm -fr node_modules",
"postinstall": "node script.js"
},
"package-deps": [
"atom-ide-ui"
],
"consumedServices": {
"linter-indie": {
"versions": {
"2.0.0": "consumeLinterV2"
}
},
"datatip": {
"versions": {
"0.1.0": "consumeDatatip"
}
}
},
"providedServices": {
"autocomplete.provider": {
"versions": {
"2.0.0": "provideAutocomplete"
}
},
"code-actions": {
"versions": {
"0.1.0": "provideCodeActions"
}
},
"code-format.range": {
"versions": {
"0.1.0": "provideCodeFormat"
}
},
"code-highlight": {
"versions": {
"0.1.0": "provideCodeHighlight"
}
},
"definitions": {
"versions": {
"0.1.0": "provideDefinitions"
}
},
"find-references": {
"versions": {
"0.1.0": "provideFindReferences"
}
},
"outline-view": {
"versions": {
"0.1.0": "provideOutlines"
}
}
"clean": "rm -fr node_modules"
}
}

View File

@@ -1,3 +0,0 @@
{
"jarUrl": "https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/fatjars/snapshots/boot-properties-language-server-0.0.10-201711231810.jar"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -1,34 +0,0 @@
const fs = require('fs');
const path = require('path');
const download = require('download');
const PROPERTIES = require('./properties.json');
let fileExists = function(path) {
return new Promise((resolve, reject) => {
fs.access(path, fs.R_OK, error => {
resolve(!error || error.code !== 'ENOENT');
})
});
};
const serverDownloadUrl = PROPERTIES.jarUrl;
const serverHome = path.join(__dirname, 'server');
const localFileName = path.join(serverHome, 'boot-properties-language-server.jar');
fileExists(localFileName).then(exists => {
if (!exists) {
console.log(`Downloading ${serverDownloadUrl} to ${localFileName}`);
fileExists(serverHome)
.then(doesExist => { if (!doesExist) fs.mkdir(serverHome) })
.then(() => download(serverDownloadUrl))
.then(data => fs.writeFileSync(localFileName, data))
.then(() => fileExists(localFileName))
.then(doesExist => { if (!doesExist) throw Error(`Failed to install the ${this.getServerName()} language server`) })
.then(() => console.log(`Successfully downloaded ${serverDownloadUrl}`));
}
});

View File

@@ -1,8 +0,0 @@
'.source.boot-properties-yaml':
'editor':
'autoIndentOnPaste': false
'commentStart': '# '
'foldEndPattern': '^\\s*$|^\\s*\\}|^\\s*\\]|^\\s*\\)'
'increaseIndentPattern': '^\\s*.*(:|-) ?(&\\w+)?(\\{[^}"\']*|\\([^)"\']*)?$'
'decreaseIndentPattern': '^\\s+\\}$'
'tabType': 'soft'