Initial application generated by JHipster-5.8.2
This commit is contained in:
commit
e0b3d2a36d
24
.editorconfig
Normal file
24
.editorconfig
Normal file
@ -0,0 +1,24 @@
|
||||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
|
||||
# Change these settings to your own preference
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
# We recommend you to keep these unchanged
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[package.json]
|
||||
indent_style = space
|
||||
indent_size = 2
|
148
.gitattributes
vendored
Normal file
148
.gitattributes
vendored
Normal file
@ -0,0 +1,148 @@
|
||||
# This file is inspired by https://github.com/alexkaratarakis/gitattributes
|
||||
#
|
||||
# Auto detect text files and perform LF normalization
|
||||
# http://davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/
|
||||
* text=auto
|
||||
|
||||
# The above will handle all files NOT found below
|
||||
# These files are text and should be normalized (Convert crlf => lf)
|
||||
|
||||
*.bat text eol=crlf
|
||||
*.coffee text
|
||||
*.css text
|
||||
*.cql text
|
||||
*.df text
|
||||
*.ejs text
|
||||
*.html text
|
||||
*.java text
|
||||
*.js text
|
||||
*.json text
|
||||
*.less text
|
||||
*.properties text
|
||||
*.sass text
|
||||
*.scss text
|
||||
*.sh text eol=lf
|
||||
*.sql text
|
||||
*.txt text
|
||||
*.ts text
|
||||
*.xml text
|
||||
*.yaml text
|
||||
*.yml text
|
||||
|
||||
# Documents
|
||||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
||||
*.markdown text
|
||||
*.md text
|
||||
*.adoc text
|
||||
*.textile text
|
||||
*.mustache text
|
||||
*.csv text
|
||||
*.tab text
|
||||
*.tsv text
|
||||
*.txt text
|
||||
AUTHORS text
|
||||
CHANGELOG text
|
||||
CHANGES text
|
||||
CONTRIBUTING text
|
||||
COPYING text
|
||||
copyright text
|
||||
*COPYRIGHT* text
|
||||
INSTALL text
|
||||
license text
|
||||
LICENSE text
|
||||
NEWS text
|
||||
readme text
|
||||
*README* text
|
||||
TODO text
|
||||
|
||||
# Graphics
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.jpeg binary
|
||||
*.gif binary
|
||||
*.tif binary
|
||||
*.tiff binary
|
||||
*.ico binary
|
||||
# SVG treated as an asset (binary) by default. If you want to treat it as text,
|
||||
# comment-out the following line and uncomment the line after.
|
||||
*.svg binary
|
||||
#*.svg text
|
||||
*.eps binary
|
||||
|
||||
# These files are binary and should be left untouched
|
||||
# (binary is a macro for -text -diff)
|
||||
*.class binary
|
||||
*.jar binary
|
||||
*.war binary
|
||||
|
||||
## LINTERS
|
||||
.csslintrc text
|
||||
.eslintrc text
|
||||
.jscsrc text
|
||||
.jshintrc text
|
||||
.jshintignore text
|
||||
.stylelintrc text
|
||||
|
||||
## CONFIGS
|
||||
*.conf text
|
||||
*.config text
|
||||
.editorconfig text
|
||||
.gitattributes text
|
||||
.gitconfig text
|
||||
.gitignore text
|
||||
.htaccess text
|
||||
*.npmignore text
|
||||
|
||||
## HEROKU
|
||||
Procfile text
|
||||
.slugignore text
|
||||
|
||||
## AUDIO
|
||||
*.kar binary
|
||||
*.m4a binary
|
||||
*.mid binary
|
||||
*.midi binary
|
||||
*.mp3 binary
|
||||
*.ogg binary
|
||||
*.ra binary
|
||||
|
||||
## VIDEO
|
||||
*.3gpp binary
|
||||
*.3gp binary
|
||||
*.as binary
|
||||
*.asf binary
|
||||
*.asx binary
|
||||
*.fla binary
|
||||
*.flv binary
|
||||
*.m4v binary
|
||||
*.mng binary
|
||||
*.mov binary
|
||||
*.mp4 binary
|
||||
*.mpeg binary
|
||||
*.mpg binary
|
||||
*.swc binary
|
||||
*.swf binary
|
||||
*.webm binary
|
||||
|
||||
## ARCHIVES
|
||||
*.7z binary
|
||||
*.gz binary
|
||||
*.rar binary
|
||||
*.tar binary
|
||||
*.zip binary
|
||||
|
||||
## FONTS
|
||||
*.ttf binary
|
||||
*.eot binary
|
||||
*.otf binary
|
||||
*.woff binary
|
||||
*.woff2 binary
|
144
.gitignore
vendored
Normal file
144
.gitignore
vendored
Normal file
@ -0,0 +1,144 @@
|
||||
######################
|
||||
# Project Specific
|
||||
######################
|
||||
/build/www/**
|
||||
/src/test/javascript/coverage/
|
||||
|
||||
######################
|
||||
# Node
|
||||
######################
|
||||
/node/
|
||||
node_tmp/
|
||||
node_modules/
|
||||
npm-debug.log.*
|
||||
/.awcache/*
|
||||
/.cache-loader/*
|
||||
|
||||
######################
|
||||
# SASS
|
||||
######################
|
||||
.sass-cache/
|
||||
|
||||
######################
|
||||
# Eclipse
|
||||
######################
|
||||
*.pydevproject
|
||||
.project
|
||||
.metadata
|
||||
tmp/
|
||||
tmp/**/*
|
||||
*.tmp
|
||||
*.bak
|
||||
*.swp
|
||||
*~.nib
|
||||
local.properties
|
||||
.classpath
|
||||
.settings/
|
||||
.loadpath
|
||||
.factorypath
|
||||
/src/main/resources/rebel.xml
|
||||
|
||||
# External tool builders
|
||||
.externalToolBuilders/**
|
||||
|
||||
# Locally stored "Eclipse launch configurations"
|
||||
*.launch
|
||||
|
||||
# CDT-specific
|
||||
.cproject
|
||||
|
||||
# PDT-specific
|
||||
.buildpath
|
||||
|
||||
######################
|
||||
# Intellij
|
||||
######################
|
||||
.idea/
|
||||
*.iml
|
||||
*.iws
|
||||
*.ipr
|
||||
*.ids
|
||||
*.orig
|
||||
classes/
|
||||
out/
|
||||
|
||||
######################
|
||||
# Visual Studio Code
|
||||
######################
|
||||
.vscode/
|
||||
|
||||
######################
|
||||
# Maven
|
||||
######################
|
||||
/log/
|
||||
/target/
|
||||
|
||||
######################
|
||||
# Gradle
|
||||
######################
|
||||
.gradle/
|
||||
/build/
|
||||
|
||||
######################
|
||||
# Package Files
|
||||
######################
|
||||
*.jar
|
||||
*.war
|
||||
*.ear
|
||||
*.db
|
||||
|
||||
######################
|
||||
# Windows
|
||||
######################
|
||||
# Windows image file caches
|
||||
Thumbs.db
|
||||
|
||||
# Folder config file
|
||||
Desktop.ini
|
||||
|
||||
######################
|
||||
# Mac OSX
|
||||
######################
|
||||
.DS_Store
|
||||
.svn
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear on external disk
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
|
||||
######################
|
||||
# Directories
|
||||
######################
|
||||
/bin/
|
||||
/deploy/
|
||||
|
||||
######################
|
||||
# Logs
|
||||
######################
|
||||
*.log*
|
||||
|
||||
######################
|
||||
# Others
|
||||
######################
|
||||
*.class
|
||||
*.*~
|
||||
*~
|
||||
.merge_file*
|
||||
|
||||
######################
|
||||
# Gradle Wrapper
|
||||
######################
|
||||
!gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
######################
|
||||
# Maven Wrapper
|
||||
######################
|
||||
!.mvn/wrapper/maven-wrapper.jar
|
||||
|
||||
######################
|
||||
# ESLint
|
||||
######################
|
||||
.eslintcache
|
3
.prettierignore
Normal file
3
.prettierignore
Normal file
@ -0,0 +1,3 @@
|
||||
node_modules
|
||||
target
|
||||
package-lock.json
|
12
.prettierrc
Normal file
12
.prettierrc
Normal file
@ -0,0 +1,12 @@
|
||||
# Prettier configuration
|
||||
|
||||
printWidth: 140
|
||||
singleQuote: true
|
||||
tabWidth: 4
|
||||
useTabs: false
|
||||
|
||||
# js and ts rules:
|
||||
arrowParens: avoid
|
||||
|
||||
# jsx and tsx rules:
|
||||
jsxBracketSameLine: false
|
38
.yo-rc.json
Normal file
38
.yo-rc.json
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
"generator-jhipster": {
|
||||
"promptValues": {
|
||||
"packageName": "org.hostsharing.hsadminng",
|
||||
"nativeLanguage": "de"
|
||||
},
|
||||
"jhipsterVersion": "5.8.2",
|
||||
"applicationType": "monolith",
|
||||
"baseName": "hsadminNg",
|
||||
"packageName": "org.hostsharing.hsadminng",
|
||||
"packageFolder": "org/hostsharing/hsadminng",
|
||||
"serverPort": "8080",
|
||||
"authenticationType": "jwt",
|
||||
"cacheProvider": "ehcache",
|
||||
"enableHibernateCache": false,
|
||||
"websocket": false,
|
||||
"databaseType": "sql",
|
||||
"devDatabaseType": "h2Memory",
|
||||
"prodDatabaseType": "postgresql",
|
||||
"searchEngine": false,
|
||||
"messageBroker": false,
|
||||
"serviceDiscoveryType": false,
|
||||
"buildTool": "gradle",
|
||||
"enableSwaggerCodegen": true,
|
||||
"jwtSecretKey": "ZDFlMDUzODIzMTUzZDEwZjExN2E5ZjAzY2VhZmYzNDE1YjhlYWUxZGRhMGU3ODZiNjRkNjVlNzEwZjExYWY4YzczM2NlYzI5YWE1OTRkNWM0YThlYjZjZjA5Zjc5YWJkOTgzYjdhZjQxZWQyZGUyYjFlYjI5ZDE3NmE4M2UzYjQ=",
|
||||
"clientFramework": "angularX",
|
||||
"useSass": false,
|
||||
"clientPackageManager": "npm",
|
||||
"testFrameworks": ["cucumber"],
|
||||
"jhiPrefix": "jhi",
|
||||
"entitySuffix": "",
|
||||
"dtoSuffix": "DTO",
|
||||
"otherModules": [],
|
||||
"enableTranslation": true,
|
||||
"nativeLanguage": "de",
|
||||
"languages": ["de", "en"]
|
||||
}
|
||||
}
|
196
README.md
Normal file
196
README.md
Normal file
@ -0,0 +1,196 @@
|
||||
# hsadminNg
|
||||
|
||||
This application was generated using JHipster 5.8.2, you can find documentation and help at [https://www.jhipster.tech/documentation-archive/v5.8.2](https://www.jhipster.tech/documentation-archive/v5.8.2).
|
||||
|
||||
## Development
|
||||
|
||||
Before you can build this project, you must install and configure the following dependencies on your machine:
|
||||
|
||||
1. [Node.js][]: We use Node to run a development web server and build the project.
|
||||
Depending on your system, you can install Node either from source or as a pre-packaged bundle.
|
||||
|
||||
After installing Node, you should be able to run the following command to install development tools.
|
||||
You will only need to run this command when dependencies change in [package.json](package.json).
|
||||
|
||||
npm install
|
||||
|
||||
We use npm scripts and [Webpack][] as our build system.
|
||||
|
||||
Run the following commands in two separate terminals to create a blissful development experience where your browser
|
||||
auto-refreshes when files change on your hard drive.
|
||||
|
||||
./gradlew
|
||||
npm start
|
||||
|
||||
Npm is also used to manage CSS and JavaScript dependencies used in this application. You can upgrade dependencies by
|
||||
specifying a newer version in [package.json](package.json). You can also run `npm update` and `npm install` to manage dependencies.
|
||||
Add the `help` flag on any command to see how you can use it. For example, `npm help update`.
|
||||
|
||||
The `npm run` command will list all of the scripts available to run for this project.
|
||||
|
||||
### Service workers
|
||||
|
||||
Service workers are commented by default, to enable them please uncomment the following code.
|
||||
|
||||
- The service worker registering script in index.html
|
||||
|
||||
```html
|
||||
<script>
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker.register('./service-worker.js').then(function() {
|
||||
console.log('Service Worker Registered');
|
||||
});
|
||||
}
|
||||
</script>
|
||||
```
|
||||
|
||||
Note: workbox creates the respective service worker and dynamically generate the `service-worker.js`
|
||||
|
||||
### Managing dependencies
|
||||
|
||||
For example, to add [Leaflet][] library as a runtime dependency of your application, you would run following command:
|
||||
|
||||
npm install --save --save-exact leaflet
|
||||
|
||||
To benefit from TypeScript type definitions from [DefinitelyTyped][] repository in development, you would run following command:
|
||||
|
||||
npm install --save-dev --save-exact @types/leaflet
|
||||
|
||||
Then you would import the JS and CSS files specified in library's installation instructions so that [Webpack][] knows about them:
|
||||
Edit [src/main/webapp/app/vendor.ts](src/main/webapp/app/vendor.ts) file:
|
||||
|
||||
```
|
||||
import 'leaflet/dist/leaflet.js';
|
||||
```
|
||||
|
||||
Edit [src/main/webapp/content/css/vendor.css](src/main/webapp/content/css/vendor.css) file:
|
||||
|
||||
```
|
||||
@import '~leaflet/dist/leaflet.css';
|
||||
```
|
||||
|
||||
Note: there are still few other things remaining to do for Leaflet that we won't detail here.
|
||||
|
||||
For further instructions on how to develop with JHipster, have a look at [Using JHipster in development][].
|
||||
|
||||
### Using angular-cli
|
||||
|
||||
You can also use [Angular CLI][] to generate some custom client code.
|
||||
|
||||
For example, the following command:
|
||||
|
||||
ng generate component my-component
|
||||
|
||||
will generate few files:
|
||||
|
||||
create src/main/webapp/app/my-component/my-component.component.html
|
||||
create src/main/webapp/app/my-component/my-component.component.ts
|
||||
update src/main/webapp/app/app.module.ts
|
||||
|
||||
### Doing API-First development using openapi-generator
|
||||
|
||||
[OpenAPI-Generator]() is configured for this application. You can generate API code from the `src/main/resources/swagger/api.yml` definition file by running:
|
||||
|
||||
```bash
|
||||
./gradlew openApiGenerate
|
||||
```
|
||||
|
||||
Then implements the generated delegate classes with `@Service` classes.
|
||||
|
||||
To edit the `api.yml` definition file, you can use a tool such as [Swagger-Editor](). Start a local instance of the swagger-editor using docker by running: `docker-compose -f src/main/docker/swagger-editor.yml up -d`. The editor will then be reachable at [http://localhost:7742](http://localhost:7742).
|
||||
|
||||
Refer to [Doing API-First development][] for more details.
|
||||
|
||||
## Building for production
|
||||
|
||||
To optimize the hsadminNg application for production, run:
|
||||
|
||||
./gradlew -Pprod clean bootWar
|
||||
|
||||
This will concatenate and minify the client CSS and JavaScript files. It will also modify `index.html` so it references these new files.
|
||||
To ensure everything worked, run:
|
||||
|
||||
java -jar build/libs/*.war
|
||||
|
||||
Then navigate to [http://localhost:8080](http://localhost:8080) in your browser.
|
||||
|
||||
Refer to [Using JHipster in production][] for more details.
|
||||
|
||||
## Testing
|
||||
|
||||
To launch your application's tests, run:
|
||||
|
||||
./gradlew test
|
||||
|
||||
### Client tests
|
||||
|
||||
Unit tests are run by [Jest][] and written with [Jasmine][]. They're located in [src/test/javascript/](src/test/javascript/) and can be run with:
|
||||
|
||||
npm test
|
||||
|
||||
For more information, refer to the [Running tests page][].
|
||||
|
||||
### Code quality
|
||||
|
||||
Sonar is used to analyse code quality. You can start a local Sonar server (accessible on http://localhost:9001) with:
|
||||
|
||||
```
|
||||
docker-compose -f src/main/docker/sonar.yml up -d
|
||||
```
|
||||
|
||||
Then, run a Sonar analysis:
|
||||
|
||||
```
|
||||
./gradlew -Pprod clean test sonarqube
|
||||
```
|
||||
|
||||
For more information, refer to the [Code quality page][].
|
||||
|
||||
## Using Docker to simplify development (optional)
|
||||
|
||||
You can use Docker to improve your JHipster development experience. A number of docker-compose configuration are available in the [src/main/docker](src/main/docker) folder to launch required third party services.
|
||||
|
||||
For example, to start a postgresql database in a docker container, run:
|
||||
|
||||
docker-compose -f src/main/docker/postgresql.yml up -d
|
||||
|
||||
To stop it and remove the container, run:
|
||||
|
||||
docker-compose -f src/main/docker/postgresql.yml down
|
||||
|
||||
You can also fully dockerize your application and all the services that it depends on.
|
||||
To achieve this, first build a docker image of your app by running:
|
||||
|
||||
./gradlew bootWar -Pprod jibDockerBuild
|
||||
|
||||
Then run:
|
||||
|
||||
docker-compose -f src/main/docker/app.yml up -d
|
||||
|
||||
For more information refer to [Using Docker and Docker-Compose][], this page also contains information on the docker-compose sub-generator (`jhipster docker-compose`), which is able to generate docker configurations for one or several JHipster applications.
|
||||
|
||||
## Continuous Integration (optional)
|
||||
|
||||
To configure CI for your project, run the ci-cd sub-generator (`jhipster ci-cd`), this will let you generate configuration files for a number of Continuous Integration systems. Consult the [Setting up Continuous Integration][] page for more information.
|
||||
|
||||
[jhipster homepage and latest documentation]: https://www.jhipster.tech
|
||||
[jhipster 5.8.2 archive]: https://www.jhipster.tech/documentation-archive/v5.8.2
|
||||
[using jhipster in development]: https://www.jhipster.tech/documentation-archive/v5.8.2/development/
|
||||
[using docker and docker-compose]: https://www.jhipster.tech/documentation-archive/v5.8.2/docker-compose
|
||||
[using jhipster in production]: https://www.jhipster.tech/documentation-archive/v5.8.2/production/
|
||||
[running tests page]: https://www.jhipster.tech/documentation-archive/v5.8.2/running-tests/
|
||||
[code quality page]: https://www.jhipster.tech/documentation-archive/v5.8.2/code-quality/
|
||||
[setting up continuous integration]: https://www.jhipster.tech/documentation-archive/v5.8.2/setting-up-ci/
|
||||
[node.js]: https://nodejs.org/
|
||||
[yarn]: https://yarnpkg.org/
|
||||
[webpack]: https://webpack.github.io/
|
||||
[angular cli]: https://cli.angular.io/
|
||||
[browsersync]: http://www.browsersync.io/
|
||||
[jest]: https://facebook.github.io/jest/
|
||||
[jasmine]: http://jasmine.github.io/2.0/introduction.html
|
||||
[protractor]: https://angular.github.io/protractor/
|
||||
[leaflet]: http://leafletjs.com/
|
||||
[definitelytyped]: http://definitelytyped.org/
|
||||
[openapi-generator]: https://openapi-generator.tech
|
||||
[swagger-editor]: http://editor.swagger.io
|
||||
[doing api-first development]: https://www.jhipster.tech/documentation-archive/v5.8.2/doing-api-first-development/
|
39
angular.json
Normal file
39
angular.json
Normal file
@ -0,0 +1,39 @@
|
||||
{
|
||||
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
||||
"version": 1,
|
||||
"newProjectRoot": "projects",
|
||||
"projects": {
|
||||
"hsadmin-ng": {
|
||||
"root": "",
|
||||
"sourceRoot": "src/main/webapp",
|
||||
"projectType": "application",
|
||||
"architect": {}
|
||||
}
|
||||
},
|
||||
"defaultProject": "hsadmin-ng",
|
||||
"cli": {
|
||||
"packageManager": "npm"
|
||||
},
|
||||
"schematics": {
|
||||
"@schematics/angular:component": {
|
||||
"inlineStyle": true,
|
||||
"inlineTemplate": false,
|
||||
"spec": false,
|
||||
"prefix": "jhi",
|
||||
"styleExt": "css"
|
||||
},
|
||||
"@schematics/angular:directive": {
|
||||
"spec": false,
|
||||
"prefix": "jhi"
|
||||
},
|
||||
"@schematics/angular:guard": {
|
||||
"spec": false
|
||||
},
|
||||
"@schematics/angular:pipe": {
|
||||
"spec": false
|
||||
},
|
||||
"@schematics/angular:service": {
|
||||
"spec": false
|
||||
}
|
||||
}
|
||||
}
|
287
build.gradle
Normal file
287
build.gradle
Normal file
@ -0,0 +1,287 @@
|
||||
import org.gradle.internal.os.OperatingSystem
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
maven { url "http://repo.spring.io/plugins-release" }
|
||||
maven { url "https://plugins.gradle.org/m2/" }
|
||||
}
|
||||
dependencies {
|
||||
classpath "org.springframework.boot:spring-boot-gradle-plugin:${spring_boot_version}"
|
||||
classpath "io.spring.gradle:propdeps-plugin:0.0.10.RELEASE"
|
||||
classpath "org.openapitools:openapi-generator-gradle-plugin:3.3.0"
|
||||
classpath "gradle.plugin.com.gorylenko.gradle-git-properties:gradle-git-properties:1.5.2"
|
||||
//jhipster-needle-gradle-buildscript-dependency - JHipster will add additional gradle build script plugins here
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id "org.sonarqube" version "2.6.2"
|
||||
id "net.ltgt.apt-eclipse" version "0.19"
|
||||
id "net.ltgt.apt-idea" version "0.19"
|
||||
id "net.ltgt.apt" version "0.19"
|
||||
id "io.spring.dependency-management" version "1.0.6.RELEASE"
|
||||
id "com.moowork.node" version "1.2.0"
|
||||
id 'org.liquibase.gradle' version '2.0.1'
|
||||
//jhipster-needle-gradle-plugins - JHipster will add additional gradle plugins here
|
||||
}
|
||||
|
||||
apply plugin: 'java'
|
||||
sourceCompatibility=1.8
|
||||
targetCompatibility=1.8
|
||||
// Until JHipster supports JDK 9
|
||||
assert System.properties['java.specification.version'] == '1.8'
|
||||
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'org.springframework.boot'
|
||||
apply plugin: 'war'
|
||||
apply plugin: 'propdeps'
|
||||
apply plugin: 'com.moowork.node'
|
||||
apply plugin: 'io.spring.dependency-management'
|
||||
apply plugin: 'idea'
|
||||
|
||||
idea {
|
||||
module {
|
||||
excludeDirs += files('node_modules')
|
||||
}
|
||||
}
|
||||
|
||||
dependencyManagement {
|
||||
imports {
|
||||
mavenBom 'io.github.jhipster:jhipster-dependencies:' + jhipster_dependencies_version
|
||||
//jhipster-needle-gradle-dependency-management - JHipster will add additional dependencies management here
|
||||
}
|
||||
}
|
||||
|
||||
defaultTasks 'bootRun'
|
||||
|
||||
group = 'org.hostsharing.hsadminng'
|
||||
version = '0.0.1-SNAPSHOT'
|
||||
|
||||
description = ''
|
||||
|
||||
bootWar {
|
||||
mainClassName = 'org.hostsharing.hsadminng.HsadminNgApp'
|
||||
}
|
||||
|
||||
war {
|
||||
webAppDirName = 'build/www/'
|
||||
enabled = true
|
||||
extension = 'war.original'
|
||||
}
|
||||
|
||||
springBoot {
|
||||
mainClassName = 'org.hostsharing.hsadminng.HsadminNgApp'
|
||||
}
|
||||
|
||||
if (OperatingSystem.current().isWindows()) {
|
||||
// https://stackoverflow.com/questions/40037487/the-filename-or-extension-is-too-long-error-using-gradle
|
||||
task classpathJar(type: Jar) {
|
||||
dependsOn configurations.runtime
|
||||
appendix = 'classpath'
|
||||
|
||||
doFirst {
|
||||
manifest {
|
||||
attributes 'Class-Path': configurations.runtime.files.collect {
|
||||
it.toURI().toURL().toString().replaceFirst(/file:\/+/, '/').replaceAll(' ', '%20')
|
||||
}.join(' ')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bootRun {
|
||||
dependsOn classpathJar
|
||||
doFirst {
|
||||
classpath = files("$buildDir/classes/java/main", "$buildDir/resources/main", classpathJar.archivePath)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
test {
|
||||
exclude '**/CucumberTest*'
|
||||
|
||||
// uncomment if the tests reports are not generated
|
||||
// see https://github.com/jhipster/generator-jhipster/pull/2771 and https://github.com/jhipster/generator-jhipster/pull/4484
|
||||
// ignoreFailures true
|
||||
reports.html.enabled = false
|
||||
}
|
||||
|
||||
task cucumberTest(type: Test) {
|
||||
description = "Execute cucumber BDD tests."
|
||||
group = "verification"
|
||||
include '**/CucumberTest*'
|
||||
|
||||
// uncomment if the tests reports are not generated
|
||||
// see https://github.com/jhipster/generator-jhipster/pull/2771 and https://github.com/jhipster/generator-jhipster/pull/4484
|
||||
// ignoreFailures true
|
||||
reports.html.enabled = false
|
||||
}
|
||||
|
||||
check.dependsOn cucumberTest
|
||||
task testReport(type: TestReport) {
|
||||
destinationDir = file("$buildDir/reports/tests")
|
||||
reportOn test
|
||||
}
|
||||
|
||||
task cucumberTestReport(type: TestReport) {
|
||||
destinationDir = file("$buildDir/reports/tests")
|
||||
reportOn cucumberTest
|
||||
}
|
||||
|
||||
apply from: 'gradle/docker.gradle'
|
||||
apply from: 'gradle/sonar.gradle'
|
||||
apply from: 'gradle/swagger.gradle'
|
||||
//jhipster-needle-gradle-apply-from - JHipster will add additional gradle scripts to be applied here
|
||||
|
||||
if (project.hasProperty('prod')) {
|
||||
apply from: 'gradle/profile_prod.gradle'
|
||||
} else {
|
||||
apply from: 'gradle/profile_dev.gradle'
|
||||
}
|
||||
|
||||
|
||||
if (!project.hasProperty('runList')) {
|
||||
project.ext.runList = 'main'
|
||||
}
|
||||
|
||||
project.ext.diffChangelogFile = 'src/main/resources/config/liquibase/changelog/' + new Date().format('yyyyMMddHHmmss') + '_changelog.xml'
|
||||
|
||||
liquibase {
|
||||
activities {
|
||||
main {
|
||||
driver ''
|
||||
url ''
|
||||
username 'hsadminNg'
|
||||
password ''
|
||||
changeLogFile 'src/main/resources/config/liquibase/master.xml'
|
||||
defaultSchemaName ''
|
||||
logLevel 'debug'
|
||||
classpath 'src/main/resources/'
|
||||
}
|
||||
diffLog {
|
||||
driver ''
|
||||
url ''
|
||||
username 'hsadminNg'
|
||||
password ''
|
||||
changeLogFile project.ext.diffChangelogFile
|
||||
referenceUrl 'hibernate:spring:org.hostsharing.hsadminng.domain?dialect=&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy'
|
||||
defaultSchemaName ''
|
||||
logLevel 'debug'
|
||||
classpath "$buildDir/classes/java/main"
|
||||
}
|
||||
}
|
||||
|
||||
runList = project.ext.runList
|
||||
}
|
||||
|
||||
configurations {
|
||||
providedRuntime
|
||||
compile.exclude module: "spring-boot-starter-tomcat"
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
//jhipster-needle-gradle-repositories - JHipster will add additional repositories
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Use ", version: jhipster_dependencies_version, changing: true" if you want
|
||||
// to use a SNAPSHOT release instead of a stable release
|
||||
compile group: "io.github.jhipster", name: "jhipster-framework"
|
||||
compile "org.springframework.boot:spring-boot-starter-cache"
|
||||
compile "io.dropwizard.metrics:metrics-core"
|
||||
compile 'io.micrometer:micrometer-registry-prometheus'
|
||||
compile "net.logstash.logback:logstash-logback-encoder"
|
||||
compile "com.fasterxml.jackson.datatype:jackson-datatype-hppc"
|
||||
compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
|
||||
compile "com.fasterxml.jackson.datatype:jackson-datatype-hibernate5"
|
||||
compile "com.fasterxml.jackson.core:jackson-annotations"
|
||||
compile "com.fasterxml.jackson.core:jackson-databind"
|
||||
compile "com.fasterxml.jackson.module:jackson-module-afterburner"
|
||||
compile "javax.cache:cache-api"
|
||||
compile "org.hibernate:hibernate-core"
|
||||
compile "com.zaxxer:HikariCP"
|
||||
compile "org.apache.commons:commons-lang3"
|
||||
compile "commons-io:commons-io"
|
||||
compile "javax.transaction:javax.transaction-api"
|
||||
compile "org.ehcache:ehcache"
|
||||
compile "org.hibernate:hibernate-entitymanager"
|
||||
compile "org.hibernate:hibernate-envers"
|
||||
compile "org.hibernate.validator:hibernate-validator"
|
||||
compile "org.liquibase:liquibase-core"
|
||||
compile "com.mattbertolini:liquibase-slf4j"
|
||||
liquibaseRuntime "org.liquibase:liquibase-core"
|
||||
liquibaseRuntime "org.liquibase.ext:liquibase-hibernate5:${liquibase_hibernate5_version}"
|
||||
liquibaseRuntime sourceSets.main.compileClasspath
|
||||
compile "org.springframework.boot:spring-boot-loader-tools"
|
||||
compile "org.springframework.boot:spring-boot-starter-mail"
|
||||
compile "org.springframework.boot:spring-boot-starter-logging"
|
||||
compile "org.springframework.boot:spring-boot-starter-actuator"
|
||||
compile "org.springframework.boot:spring-boot-starter-aop"
|
||||
compile "org.springframework.boot:spring-boot-starter-data-jpa"
|
||||
compile "org.springframework.boot:spring-boot-starter-security"
|
||||
compile ("org.springframework.boot:spring-boot-starter-web") {
|
||||
exclude module: 'spring-boot-starter-tomcat'
|
||||
}
|
||||
compile "org.springframework.boot:spring-boot-starter-undertow"
|
||||
compile "org.springframework.boot:spring-boot-starter-thymeleaf"
|
||||
compile "org.zalando:problem-spring-web:0.24.0-RC.0"
|
||||
compile "org.springframework.boot:spring-boot-starter-cloud-connectors"
|
||||
compile "org.springframework.security:spring-security-config"
|
||||
compile "org.springframework.security:spring-security-data"
|
||||
compile "org.springframework.security:spring-security-web"
|
||||
compile "io.jsonwebtoken:jjwt-api"
|
||||
runtime "io.jsonwebtoken:jjwt-impl"
|
||||
runtime "io.jsonwebtoken:jjwt-jackson"
|
||||
compile ("io.springfox:springfox-swagger2") {
|
||||
exclude module: 'mapstruct'
|
||||
}
|
||||
compile "io.springfox:springfox-bean-validators"
|
||||
compile "org.postgresql:postgresql"
|
||||
liquibaseRuntime "org.postgresql:postgresql"
|
||||
compile "org.mapstruct:mapstruct-jdk8:${mapstruct_version}"
|
||||
annotationProcessor "org.mapstruct:mapstruct-processor:${mapstruct_version}"
|
||||
annotationProcessor "org.hibernate:hibernate-jpamodelgen"
|
||||
annotationProcessor ("org.springframework.boot:spring-boot-configuration-processor") {
|
||||
exclude group: 'com.vaadin.external.google', module: 'android-json'
|
||||
}
|
||||
testCompile "com.jayway.jsonpath:json-path"
|
||||
testCompile "io.cucumber:cucumber-junit"
|
||||
testCompile "io.cucumber:cucumber-spring"
|
||||
testCompile ("org.springframework.boot:spring-boot-starter-test") {
|
||||
exclude group: 'com.vaadin.external.google', module: 'android-json'
|
||||
}
|
||||
testCompile "org.springframework.security:spring-security-test"
|
||||
testCompile "org.springframework.boot:spring-boot-test"
|
||||
testCompile "org.assertj:assertj-core"
|
||||
testCompile "junit:junit"
|
||||
testCompile "org.mockito:mockito-core"
|
||||
testCompile "com.mattbertolini:liquibase-slf4j"
|
||||
testCompile "org.hamcrest:hamcrest-library"
|
||||
testCompile "com.h2database:h2"
|
||||
liquibaseRuntime "com.h2database:h2"
|
||||
//jhipster-needle-gradle-dependency - JHipster will add additional dependencies here
|
||||
}
|
||||
|
||||
task cleanResources(type: Delete) {
|
||||
delete 'build/resources'
|
||||
}
|
||||
|
||||
wrapper {
|
||||
gradleVersion = '4.10.2'
|
||||
}
|
||||
|
||||
task stage(dependsOn: 'bootWar') {
|
||||
}
|
||||
|
||||
if (project.hasProperty('nodeInstall')) {
|
||||
node {
|
||||
version = "${node_version}"
|
||||
npmVersion = "${npm_version}"
|
||||
yarnVersion = "${yarn_version}"
|
||||
download = true
|
||||
}
|
||||
}
|
53
gradle.properties
Normal file
53
gradle.properties
Normal file
@ -0,0 +1,53 @@
|
||||
rootProject.name=hsadmin-ng
|
||||
profile=dev
|
||||
|
||||
# Build properties
|
||||
node_version=10.15.0
|
||||
npm_version=6.4.1
|
||||
yarn_version=1.13.0
|
||||
|
||||
# Dependency versions
|
||||
jhipster_dependencies_version=2.1.1
|
||||
# The spring-boot version should match the one managed by
|
||||
# https://mvnrepository.com/artifact/io.github.jhipster/jhipster-dependencies/${jhipster_dependencies_version}
|
||||
spring_boot_version=2.0.8.RELEASE
|
||||
# The hibernate version should match the one managed by
|
||||
# https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-dependencies/${spring-boot.version} -->
|
||||
hibernate_version=5.2.17.Final
|
||||
mapstruct_version=1.2.0.Final
|
||||
|
||||
liquibase_hibernate5_version=3.6
|
||||
liquibaseTaskPrefix=liquibase
|
||||
|
||||
# jhipster-needle-gradle-property - JHipster will add additional properties here
|
||||
|
||||
## below are some of the gradle performance improvement settings that can be used as required, these are not enabled by default
|
||||
|
||||
## The Gradle daemon aims to improve the startup and execution time of Gradle.
|
||||
## The daemon is enabled by default in Gradle 3+ setting this to false will disable this.
|
||||
## TODO: disable daemon on CI, since builds should be clean and reliable on servers
|
||||
## https://docs.gradle.org/current/userguide/gradle_daemon.html#sec:ways_to_disable_gradle_daemon
|
||||
## un comment the below line to disable the daemon
|
||||
|
||||
#org.gradle.daemon=false
|
||||
|
||||
## Specifies the JVM arguments used for the daemon process.
|
||||
## The setting is particularly useful for tweaking memory settings.
|
||||
## Default value: -Xmx1024m -XX:MaxPermSize=256m
|
||||
## un comment the below line to override the daemon defaults
|
||||
|
||||
#org.gradle.jvmargs=-Xmx1024m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
|
||||
|
||||
## When configured, Gradle will run in incubating parallel mode.
|
||||
## This option should only be used with decoupled projects. More details, visit
|
||||
## http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||
## un comment the below line to enable parallel mode
|
||||
|
||||
#org.gradle.parallel=true
|
||||
|
||||
## Enables new incubating mode that makes Gradle selective when configuring projects.
|
||||
## Only relevant projects are configured which results in faster builds for large multi-projects.
|
||||
## http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
|
||||
## un comment the below line to enable the selective mode
|
||||
|
||||
#org.gradle.configureondemand=true
|
35
gradle/docker.gradle
Normal file
35
gradle/docker.gradle
Normal file
@ -0,0 +1,35 @@
|
||||
buildscript {
|
||||
repositories {
|
||||
gradlePluginPortal()
|
||||
}
|
||||
dependencies {
|
||||
classpath "gradle.plugin.com.google.cloud.tools:jib-gradle-plugin:0.9.11"
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: com.google.cloud.tools.jib.gradle.JibPlugin
|
||||
|
||||
jib {
|
||||
from {
|
||||
image = 'openjdk:8-jre-alpine'
|
||||
}
|
||||
to {
|
||||
image = 'hsadminng:latest'
|
||||
}
|
||||
container {
|
||||
entrypoint = ['sh', '-c', 'chmod +x /entrypoint.sh && sync && /entrypoint.sh']
|
||||
ports = ['8080']
|
||||
environment = [
|
||||
SPRING_OUTPUT_ANSI_ENABLED: 'ALWAYS',
|
||||
JHIPSTER_SLEEP: '0'
|
||||
]
|
||||
useCurrentTimestamp = true
|
||||
}
|
||||
}
|
||||
|
||||
task copyWwwIntoStatic (type: Copy) {
|
||||
from 'build/www/'
|
||||
into 'build/resources/main/static'
|
||||
}
|
||||
|
||||
jibDockerBuild.dependsOn copyWwwIntoStatic
|
63
gradle/profile_dev.gradle
Normal file
63
gradle/profile_dev.gradle
Normal file
@ -0,0 +1,63 @@
|
||||
import org.gradle.internal.os.OperatingSystem
|
||||
|
||||
apply plugin: 'org.springframework.boot'
|
||||
apply plugin: 'com.moowork.node'
|
||||
|
||||
dependencies {
|
||||
compile "org.springframework.boot:spring-boot-devtools"
|
||||
compile "com.h2database:h2"
|
||||
}
|
||||
|
||||
def profiles = 'dev'
|
||||
if (project.hasProperty('no-liquibase')) {
|
||||
profiles += ',no-liquibase'
|
||||
}
|
||||
if (project.hasProperty('tls')) {
|
||||
profiles += ',tls'
|
||||
}
|
||||
|
||||
springBoot {
|
||||
buildInfo {
|
||||
properties {
|
||||
time = null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bootRun {
|
||||
args = []
|
||||
}
|
||||
|
||||
task webpackBuildDev(type: NpmTask) {
|
||||
inputs.files(fileTree('src/main/webapp/'))
|
||||
|
||||
def webpackDevFiles = fileTree('webpack//')
|
||||
webpackDevFiles.exclude('webpack.prod.js')
|
||||
inputs.files(webpackDevFiles)
|
||||
|
||||
outputs.files(fileTree("build/www/"))
|
||||
|
||||
dependsOn npmInstall
|
||||
|
||||
args = ["run", "webpack:build"]
|
||||
}
|
||||
|
||||
task copyIntoStatic (type: Copy) {
|
||||
from 'build/www/'
|
||||
into 'build/resources/main/static'
|
||||
}
|
||||
|
||||
processResources {
|
||||
filesMatching('**/application.yml') {
|
||||
filter {
|
||||
it.replace('#project.version#', version)
|
||||
}
|
||||
filter {
|
||||
it.replace('#spring.profiles.active#', profiles)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
processResources.dependsOn webpackBuildDev
|
||||
copyIntoStatic.dependsOn processResources
|
||||
bootJar.dependsOn copyIntoStatic
|
63
gradle/profile_prod.gradle
Normal file
63
gradle/profile_prod.gradle
Normal file
@ -0,0 +1,63 @@
|
||||
apply plugin: 'org.springframework.boot'
|
||||
apply plugin: 'com.gorylenko.gradle-git-properties'
|
||||
apply plugin: 'com.moowork.node'
|
||||
|
||||
dependencies {
|
||||
testCompile "com.h2database:h2"
|
||||
}
|
||||
|
||||
def profiles = 'prod'
|
||||
if (project.hasProperty('no-liquibase')) {
|
||||
profiles += ',no-liquibase'
|
||||
}
|
||||
|
||||
if (project.hasProperty('swagger')) {
|
||||
profiles += ',swagger'
|
||||
}
|
||||
|
||||
springBoot {
|
||||
buildInfo()
|
||||
}
|
||||
|
||||
bootRun {
|
||||
args = []
|
||||
}
|
||||
|
||||
task webpack_test(type: NpmTask, dependsOn: 'npm_install') {
|
||||
args = ["run", "webpack:test"]
|
||||
}
|
||||
|
||||
task webpack(type: NpmTask, dependsOn: 'npm_install') {
|
||||
args = ["run", "webpack:prod"]
|
||||
}
|
||||
|
||||
task copyIntoStatic (type: Copy) {
|
||||
from 'build/www/'
|
||||
into 'build/resources/main/static'
|
||||
}
|
||||
|
||||
processResources {
|
||||
filesMatching('**/application.yml') {
|
||||
filter {
|
||||
it.replace('#project.version#', version)
|
||||
}
|
||||
filter {
|
||||
it.replace('#spring.profiles.active#', profiles)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
generateGitProperties {
|
||||
onlyIf {
|
||||
!source.isEmpty()
|
||||
}
|
||||
}
|
||||
|
||||
gitProperties {
|
||||
keys = ['git.branch', 'git.commit.id.abbrev', 'git.commit.id.describe']
|
||||
}
|
||||
|
||||
test.dependsOn webpack_test
|
||||
processResources.dependsOn webpack
|
||||
copyIntoStatic.dependsOn processResources
|
||||
bootJar.dependsOn copyIntoStatic
|
47
gradle/sonar.gradle
Normal file
47
gradle/sonar.gradle
Normal file
@ -0,0 +1,47 @@
|
||||
apply plugin: "org.sonarqube"
|
||||
apply plugin: 'jacoco'
|
||||
|
||||
jacoco {
|
||||
toolVersion = '0.8.2'
|
||||
}
|
||||
|
||||
jacocoTestReport {
|
||||
reports {
|
||||
xml.enabled true
|
||||
}
|
||||
}
|
||||
|
||||
sonarqube {
|
||||
properties {
|
||||
property "sonar.host.url", "http://localhost:9001"
|
||||
property "sonar.exclusions", "src/main/webapp/content/**/*.*,src/main/webapp/i18n/*.js, build/www/**/*.*"
|
||||
|
||||
property "sonar.issue.ignore.multicriteria", "S3437,S4502,S4684,UndocumentedApi,BoldAndItalicTagsCheck"
|
||||
|
||||
// Rule https://sonarcloud.io/coding_rules?open=Web%3ABoldAndItalicTagsCheck&rule_key=Web%3ABoldAndItalicTagsCheck is ignored. Even if we agree that using the "i" tag is an awful practice, this is what is recommended by http://fontawesome.io/examples/
|
||||
property "sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey", ">src/main/webapp/app/**/*.*"
|
||||
property "sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey", "Web:BoldAndItalicTagsCheck"
|
||||
|
||||
// Rule https://sonarcloud.io/coding_rules?open=squid%3AS3437&rule_key=squid%3AS3437 is ignored, as a JPA-managed field cannot be transient
|
||||
property "sonar.issue.ignore.multicriteria.S3437.resourceKey", "src/main/java/**/*"
|
||||
property "sonar.issue.ignore.multicriteria.S3437.ruleKey", "squid:S3437"
|
||||
|
||||
// Rule https://sonarcloud.io/coding_rules?open=squid%3AUndocumentedApi&rule_key=squid%3AUndocumentedApi is ignored, as we want to follow "clean code" guidelines and classes, methods and arguments names should be self-explanatory
|
||||
property "sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey", "src/main/java/**/*"
|
||||
property "sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey", "squid:UndocumentedApi"
|
||||
// Rule https://sonarcloud.io/coding_rules?open=squid%3AS4502&rule_key=squid%3AS4502 is ignored, as for JWT tokens we are not subject to CSRF attack
|
||||
property "sonar.issue.ignore.multicriteria.S4502.resourceKey", "src/main/java/**/*"
|
||||
property "sonar.issue.ignore.multicriteria.S4502.ruleKey", "squid:S4502"
|
||||
|
||||
// Rule https://sonarcloud.io/coding_rules?open=squid%3AS4684&rule_key=squid%3AS4684
|
||||
property "sonar.issue.ignore.multicriteria.S4684.resourceKey", "src/main/java/**/*"
|
||||
property "sonar.issue.ignore.multicriteria.S4684.ruleKey", "squid:S4684"
|
||||
|
||||
property "sonar.jacoco.reportPaths", "${project.buildDir}/jacoco/test.exec"
|
||||
property "sonar.java.codeCoveragePlugin", "jacoco"
|
||||
property "sonar.typescript.lcov.reportPaths", "${project.buildDir}/test-results/lcov.info"
|
||||
property "sonar.junit.reportPaths", "${project.buildDir}/test-results"
|
||||
property "sonar.sources", "${project.projectDir}/src/main/"
|
||||
property "sonar.tests", "${project.projectDir}/src/test/"
|
||||
}
|
||||
}
|
28
gradle/swagger.gradle
Normal file
28
gradle/swagger.gradle
Normal file
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Plugin that provides API-first development using OpenAPI-generator to
|
||||
* generate Spring-MVC endpoint stubs at compile time from an OpenAPI definition file
|
||||
*/
|
||||
apply plugin: 'org.openapi.generator'
|
||||
|
||||
openApiGenerate {
|
||||
generatorName = "spring"
|
||||
inputSpec = "$rootDir/src/main/resources/swagger/api.yml".toString()
|
||||
outputDir = "$buildDir/openapi".toString()
|
||||
apiPackage = "org.hostsharing.hsadminng.web.api"
|
||||
modelPackage = "org.hostsharing.hsadminng.web.api.model"
|
||||
apiFilesConstrainedTo = [""]
|
||||
modelFilesConstrainedTo = [""]
|
||||
supportingFilesConstrainedTo = ["ApiUtil.java"]
|
||||
configOptions = [delegatePattern: "true"]
|
||||
validateSpec = true
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java {
|
||||
srcDir file("${project.buildDir.path}/openapi/src/main/java")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
compileJava.dependsOn("openApiGenerate")
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
Binary file not shown.
5
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
5
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
3
gradle/zipkin.gradle
Normal file
3
gradle/zipkin.gradle
Normal file
@ -0,0 +1,3 @@
|
||||
dependencies {
|
||||
compile "org.springframework.cloud:spring-cloud-starter-zipkin"
|
||||
}
|
172
gradlew
vendored
Executable file
172
gradlew
vendored
Executable file
@ -0,0 +1,172 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=$(save "$@")
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||
cd "$(dirname "$0")"
|
||||
fi
|
||||
|
||||
exec "$JAVACMD" "$@"
|
84
gradlew.bat
vendored
Normal file
84
gradlew.bat
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS=
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
18161
package-lock.json
generated
Normal file
18161
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
126
package.json
Normal file
126
package.json
Normal file
@ -0,0 +1,126 @@
|
||||
{
|
||||
"name": "hsadmin-ng",
|
||||
"version": "0.0.0",
|
||||
"description": "Description for hsadminNg",
|
||||
"private": true,
|
||||
"license": "UNLICENSED",
|
||||
"cacheDirectories": [
|
||||
"node_modules"
|
||||
],
|
||||
"dependencies": {
|
||||
"@angular/common": "7.2.4",
|
||||
"@angular/compiler": "7.2.4",
|
||||
"@angular/core": "7.2.4",
|
||||
"@angular/forms": "7.2.4",
|
||||
"@angular/platform-browser": "7.2.4",
|
||||
"@angular/platform-browser-dynamic": "7.2.4",
|
||||
"@angular/router": "7.2.4",
|
||||
"@fortawesome/angular-fontawesome": "0.3.0",
|
||||
"@fortawesome/fontawesome-svg-core": "1.2.14",
|
||||
"@fortawesome/free-solid-svg-icons": "5.7.1",
|
||||
"@ng-bootstrap/ng-bootstrap": "4.0.2",
|
||||
"@ngx-translate/core": "11.0.1",
|
||||
"@ngx-translate/http-loader": "4.0.0",
|
||||
"bootstrap": "4.2.1",
|
||||
"core-js": "2.6.4",
|
||||
"moment": "2.24.0",
|
||||
"ng-jhipster": "0.9.1",
|
||||
"ngx-cookie": "2.0.1",
|
||||
"ngx-infinite-scroll": "7.0.1",
|
||||
"ngx-webstorage": "2.0.1",
|
||||
"rxjs": "6.4.0",
|
||||
"swagger-ui": "2.2.10",
|
||||
"tslib": "1.9.3",
|
||||
"zone.js": "0.8.29"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular/cli": "7.3.1",
|
||||
"@angular/compiler-cli": "7.2.4",
|
||||
"@ngtools/webpack": "7.3.1",
|
||||
"@types/jest": "24.0.0",
|
||||
"@types/node": "10.12.24",
|
||||
"angular-router-loader": "0.8.5",
|
||||
"angular2-template-loader": "0.6.2",
|
||||
"autoprefixer": "9.4.7",
|
||||
"browser-sync": "2.26.3",
|
||||
"browser-sync-webpack-plugin": "2.2.2",
|
||||
"cache-loader": "2.0.1",
|
||||
"codelyzer": "4.5.0",
|
||||
"copy-webpack-plugin": "4.6.0",
|
||||
"css-loader": "2.1.0",
|
||||
"file-loader": "3.0.1",
|
||||
"fork-ts-checker-webpack-plugin": "0.5.2",
|
||||
"friendly-errors-webpack-plugin": "1.7.0",
|
||||
"generator-jhipster": "5.8.2",
|
||||
"html-loader": "0.5.5",
|
||||
"html-webpack-plugin": "3.2.0",
|
||||
"husky": "1.3.1",
|
||||
"jest": "24.1.0",
|
||||
"jest-junit": "6.2.1",
|
||||
"jest-preset-angular": "6.0.2",
|
||||
"jest-sonar-reporter": "2.0.0",
|
||||
"lint-staged": "8.1.3",
|
||||
"merge-jsons-webpack-plugin": "1.0.18",
|
||||
"mini-css-extract-plugin": "0.5.0",
|
||||
"moment-locales-webpack-plugin": "1.0.7",
|
||||
"optimize-css-assets-webpack-plugin": "5.0.1",
|
||||
"prettier": "1.16.4",
|
||||
"reflect-metadata": "0.1.13",
|
||||
"rimraf": "2.6.3",
|
||||
"simple-progress-webpack-plugin": "1.1.2",
|
||||
"style-loader": "0.23.1",
|
||||
"terser-webpack-plugin": "1.2.2",
|
||||
"thread-loader": "2.1.2",
|
||||
"to-string-loader": "1.1.5",
|
||||
"ts-loader": "5.3.3",
|
||||
"tslint": "5.12.1",
|
||||
"tslint-config-prettier": "1.18.0",
|
||||
"tslint-loader": "3.6.0",
|
||||
"typescript": "3.2.4",
|
||||
"postcss-loader": "3.0.0",
|
||||
"webpack": "4.29.3",
|
||||
"webpack-cli": "3.2.3",
|
||||
"webpack-dev-server": "3.1.14",
|
||||
"webpack-merge": "4.2.1",
|
||||
"webpack-notifier": "1.7.0",
|
||||
"webpack-visualizer-plugin": "0.1.11",
|
||||
"workbox-webpack-plugin": "3.6.3",
|
||||
"write-file-webpack-plugin": "4.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.9.0"
|
||||
},
|
||||
"lint-staged": {
|
||||
"{,src/**/}*.{md,json,ts,css,scss}": [
|
||||
"prettier --write",
|
||||
"git add"
|
||||
]
|
||||
},
|
||||
"scripts": {
|
||||
"prettier:format": "prettier --write \"{,src/**/}*.{md,json,ts,css,scss}\"",
|
||||
"lint": "tslint --project tsconfig.json -e 'node_modules/**'",
|
||||
"lint:fix": "npm run lint -- --fix",
|
||||
"ngc": "ngc -p tsconfig-aot.json",
|
||||
"cleanup": "rimraf build/{aot,www}",
|
||||
"clean-www": "rimraf build//www/app/{src,build/}",
|
||||
"start": "npm run webpack:dev",
|
||||
"start-tls": "npm run webpack:dev -- --env.tls",
|
||||
"serve": "npm run start",
|
||||
"build": "npm run webpack:prod",
|
||||
"test": "npm run lint && jest --coverage --logHeapUsage -w=2 --config src/test/javascript/jest.conf.js",
|
||||
"test:watch": "npm run test -- --watch",
|
||||
"webpack:dev": "npm run webpack-dev-server -- --config webpack/webpack.dev.js --inline --hot --port=9060 --watch-content-base --env.stats=minimal",
|
||||
"webpack:dev-verbose": "npm run webpack-dev-server -- --config webpack/webpack.dev.js --inline --hot --port=9060 --watch-content-base --profile --progress --env.stats=normal",
|
||||
"webpack:build:main": "npm run webpack -- --config webpack/webpack.dev.js --env.stats=minimal",
|
||||
"webpack:build": "npm run cleanup && npm run webpack:build:main",
|
||||
"webpack:prod:main": "npm run webpack -- --config webpack/webpack.prod.js --profile",
|
||||
"webpack:prod": "npm run cleanup && npm run webpack:prod:main && npm run clean-www",
|
||||
"webpack:test": "npm run test",
|
||||
"webpack-dev-server": "node --max_old_space_size=4096 node_modules/webpack-dev-server/bin/webpack-dev-server.js",
|
||||
"webpack": "node --max_old_space_size=4096 node_modules/webpack/bin/webpack.js"
|
||||
},
|
||||
"jestSonar": {
|
||||
"reportPath": "build/test-results/jest",
|
||||
"reportFile": "TESTS-results-sonar.xml"
|
||||
}
|
||||
}
|