Skip to content

Commit 6eb5937

Browse files
committed
Initial commit
0 parents  commit 6eb5937

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+2713
-0
lines changed

Diff for: .gitignore

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.hg
2+
.gradle
3+
build
4+
target
5+
out
6+
.idea
7+
*.iml
8+
*.ipr
9+
*.iws
10+
*.log*
11+
.DS_Store
12+
Thumbs.db
13+
/public/

Diff for: .gitlab-ci.yml

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
image: openjdk:8u171-jdk-stretch
2+
#services:
3+
#- docker:dind
4+
5+
variables:
6+
TERM: dumb
7+
DOCKER_DRIVER: overlay2
8+
9+
cache:
10+
key: ${CI_BUILD_REF_NAME}
11+
untracked: true
12+
paths:
13+
- ${HOME}/.m2
14+
- ${HOME}/.gradle
15+
16+
ci-job:
17+
before_script:
18+
- pwd
19+
- whoami
20+
- ls -lah .
21+
- uname -a
22+
- which bash
23+
- which apt-get
24+
- which apt || true
25+
- apt-get update -y >/dev/null || true
26+
- apt-get install -y --no-install-recommends curl jq bash sudo lsof >/dev/hull
27+
- source <(curl -s https://raw.githubusercontent.com/daggerok/bash-functions/master/main.bash)
28+
- stop_any 80 8080
29+
30+
script:
31+
- echo "uncomment what's needed."
32+
- #./gradlew -S >/dev/null
33+
- #bash build/libs/*.jar &
34+
- #wait_for 8080
35+
- #curl -s 127.0.0.1:8080
36+
- #curl -s 127.0.0.1:8080/api/ | jq .
37+
- #stop_any 80 8080
38+
#
39+
- #./mvnw >/dev/hull
40+
- #bash target/*.jar &
41+
- #wait_for 8080
42+
- #curl http://127.0.0.1:8080
43+
- #curl -sH'content-type:application/json' http://127.0.0.1:8080/api/ | jq .
44+
- #stop_any 80 8080
45+
46+
pages:
47+
script:
48+
- ./gradlew documentation >/dev/null
49+
50+
artifacts:
51+
paths:
52+
- public

Diff for: .hgignore

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
syntax: glob
2+
^.gradle/*
3+
.gradle
4+
^.git/*
5+
.git
6+
*/build/*
7+
*/target/*
8+
.DS_Store
9+
Thumbs.db
10+
*/out/*
11+
^.idea/*
12+
.idea
13+
*.iml
14+
*.ipr
15+
*.iws
16+
*.log*

Diff for: .mvn/Dockerfile

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
FROM openjdk:8u151-jre-alpine3.7
2+
MAINTAINER Maksim Kostromin https://github.com/daggerok
3+
RUN apk --no-cache --update add busybox-suid bash curl unzip sudo openssh-client shadow wget \
4+
&& adduser -h /home/appuser -s /bin/bash -D -u 1025 appuser wheel \
5+
&& echo 'appuser ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers \
6+
&& sed -i 's/.*requiretty$/Defaults !requiretty/' /etc/sudoers \
7+
&& wget --no-cookies \
8+
--no-check-certificate \
9+
--header 'Cookie: oraclelicense=accept-securebackup-cookie' \
10+
'http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip' \
11+
-O /tmp/jce_policy-8.zip \
12+
&& unzip -o /tmp/jce_policy-8.zip -d /tmp \
13+
&& mv -f ${JAVA_HOME}/lib/security ${JAVA_HOME}/lib/backup-security \
14+
&& mv -f /tmp/UnlimitedJCEPolicyJDK8 ${JAVA_HOME}/lib/security \
15+
&& apk del busybox-suid unzip openssh-client shadow wget \
16+
&& rm -rf /var/cache/apk/* /tmp/*
17+
USER appuser
18+
WORKDIR /home/appuser
19+
VOLUME /home/appuser
20+
ARG JAVA_OPTS_ARGS='\
21+
-Djavax.net.debug=ssl \
22+
-Djava.net.preferIPv4Stack=true \
23+
-XX:+UnlockExperimentalVMOptions \
24+
-XX:+UseCGroupMemoryLimitForHeap \
25+
-XshowSettings:vm '
26+
ENV JAVA_OPTS="${JAVA_OPTS} ${JAVA_OPTS_ARGS}"
27+
ENTRYPOINT java ${JAVA_OPTS} -jar ./app.jar
28+
CMD /bin/bash
29+
#EXPOSE 8080
30+
#HEALTHCHECK --timeout=1s \
31+
# --retries=66 \
32+
# CMD curl -f http://127.0.0.1:8080/actuator/health || exit 1
33+
COPY --chown=appuser ./target/*-all.jar ./app.jar

Diff for: .mvn/redeploy.sh

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/usr/bin/env bash
2+
# bash mvnw clean war:war -DskipTests; bash .mvn/redeploy.sh
3+
container=java-examples_maven-java-examples-app_1
4+
docker cp ./target/*.war ${container}:/home/jboss-eap-7.1/jboss-eap-7.1/standalone/deployments/app.war
5+

Diff for: .mvn/wrapper/maven-wrapper.jar

46.7 KB
Binary file not shown.

Diff for: .mvn/wrapper/maven-wrapper.properties

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip

Diff for: .travis.yml

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
service:
2+
- docker
3+
4+
env:
5+
global:
6+
- TERM=dumb
7+
8+
language: java
9+
jdk: oraclejdk8
10+
11+
addons:
12+
apt:
13+
update: true
14+
packages:
15+
- sudo
16+
- lsof
17+
- bash
18+
- unzip
19+
- curl
20+
- jq
21+
- libxml2-utils
22+
- docker-ce
23+
- python-pip
24+
25+
install: true
26+
before_script:
27+
- sudo pip install docker-compose httpie >/dev/null 2>&1
28+
- source <(curl -s https://raw.githubusercontent.com/daggerok/bash-functions/master/main.bash)
29+
30+
script:
31+
- bash gradlew >/dev/null 2>&1
32+
- java -jar ./build/libs/*-all.jar
33+
#
34+
- bash gradlew clean installDist >/dev/null 2>&1
35+
- bash ./build/install/java-examples/bin/java-examples
36+
#
37+
- bash gradlew clean distZip >/dev/null 2>&1
38+
- unzip -o ./build/distributions/java-examples-0.0.1.zip -d /tmp
39+
- bash /tmp/java-examples-0.0.1/bin/java-examples
40+
#
41+
- bash gradlew clean build composeUp
42+
- bash gradlew composeDown
43+
#
44+
- bash mvnw clean package >/dev/null 2>&1
45+
- java -jar target/*-all.jar
46+
#
47+
- bash mvnw com.dkanejs.maven.plugins:docker-compose-maven-plugin:1.0.1:up -P docker
48+
- bash mvnw com.dkanejs.maven.plugins:docker-compose-maven-plugin:1.0.1:down -P docker
49+
50+
before_deploy: ./gradlew documentation
51+
52+
deploy:
53+
provider: pages
54+
skip-cleanup: true
55+
# travis encrypt GITHUB_TOKEN=<your github repo token> --add
56+
github-token: "$GITHUB_TOKEN"
57+
keep-history: true
58+
on:
59+
branch: master
60+
local-dir: target/generated-docs
61+
target_branch: gh-pages
62+
63+
before_cache:
64+
- bash -c 'for item in $(find ~/.gradle -name "*.lock"); do sudo rm -rf $item ; done'
65+
66+
cache:
67+
directories:
68+
- $HOME/.m2
69+
- $HOME/.gradle
70+
- $HOME/.docker

Diff for: LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2018 Maksim Kostromin
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

Diff for: README.adoc

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
= java-examples image:https://travis-ci.org/daggerok/java-examples.svg?branch=master["Build Status", link="https://travis-ci.org/daggerok/java-examples"]
2+
3+
////
4+
image:https://gitlab.com/daggerok/java-examples/badges/master/build.svg["Build Status", link="https://gitlab.com/daggerok/java-examples/-/jobs"]
5+
image:https://img.shields.io/bitbucket/pipelines/daggerok/java-examples.svg["Build Status", link="https://bitbucket.com/daggerok/java-examples"]
6+
////
7+
8+
//tag::content[]
9+
10+
Read link:https://daggerok.github.io/java-examples[project reference documentation]
11+
12+
.build
13+
[source,bash]
14+
----
15+
# maven jar
16+
./mvnw clean package
17+
java -jar target/*-all.jar
18+
19+
# maven docker / docker-compose
20+
./mvnw com.dkanejs.maven.plugins:docker-compose-maven-plugin:1.0.1:up -P docker
21+
./mvnw com.dkanejs.maven.plugins:docker-compose-maven-plugin:1.0.1:down -P docker
22+
23+
# gradle jar
24+
./gradlew
25+
java -jar ./build/libs/*-all.jar
26+
27+
# gradle install script
28+
./gradlew clean installDist
29+
./build/install/java-examples/bin/java-examples
30+
31+
# gradle distribution
32+
./gradlew clean distZip
33+
unzip -o ./build/distributions/java-examples-0.0.1.zip -d /tmp
34+
bash /tmp/java-examples-0.0.1/bin/java-examples
35+
36+
# gradle docker / docker-compose
37+
./gradlew clean build composeUp
38+
./gradlew composeDown
39+
----
40+
41+
Initially generated by using link:https://github.com/daggerok/generator-jvm/[generator-jvm] yeoman generator (java)
42+
43+
//end::content[]

Diff for: bitbucket-pipelines.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# This is a sample build configuration for Docker.
2+
# Check our guides at https://confluence.atlassian.com/x/O1toN for more examples.
3+
# Only use spaces to indent your .yml configuration.
4+
# -----
5+
# You can specify a custom docker image from Docker Hub as your build environment.
6+
image: openjdk:8u171-jdk-stretch
7+
8+
pipelines:
9+
default:
10+
- step:
11+
services:
12+
- docker
13+
script:
14+
- #export IMAGE_NAME=daggerok/java-examples:$BITBUCKET_COMMIT
15+
- #docker build -t $IMAGE_NAME .
16+
- #docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
17+
- #docker push $IMAGE_NAME
18+
- #./gradlew -Si
19+
- #./mvnw

Diff for: build.gradle

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
buildscript {
2+
ext {
3+
javaVersion = JavaVersion.VERSION_1_8
4+
lombokVersion = '1.18.2' // java 10
5+
//lombokVersion = '1.16.20' // java 8
6+
logbackVersion = '1.2.3'
7+
slf4jVersion = '1.7.25'
8+
vavrVersion = '0.9.2'
9+
10+
phantomjsDriverVersion = '1.4.4'
11+
seleniumDriverVersion = '3.12.0'
12+
junitPlatformVersion = '1.2.0'
13+
junitJupiterVersion = '5.2.0'
14+
selenideVersion = '4.11.4'
15+
jgivenVersion = '0.15.3'
16+
hamcrestVersion = '1.3'
17+
junit4Version = '4.12'
18+
19+
allureVersion = '2.6.0'
20+
21+
asciidoctorjPdfVersion = '1.5.0-alpha.15'
22+
}
23+
24+
dependencies {
25+
classpath "org.asciidoctor:asciidoctorj-pdf:$asciidoctorjPdfVersion"
26+
}
27+
28+
//// spring-boot versions overriding, be careful with it!
29+
// In our case we are fixing PhantomJS (replacing older spring-boot version):
30+
ext['selenium.version'] = "$seleniumDriverVersion"
31+
}
32+
33+
plugins {
34+
id 'org.asciidoctor.convert' version '1.5.7' apply false
35+
id 'org.ajoberstar.git-publish' version '0.3.0' apply false
36+
id 'io.spring.dependency-management' version '1.0.5.RELEASE' apply false
37+
id 'com.avast.gradle.docker-compose' version '0.6.13' apply false
38+
id 'com.github.johnrengelman.shadow' version '2.0.2' apply false
39+
id 'io.franzbecker.gradle-lombok' version '1.14' apply false
40+
id 'cn.bestwu.propdeps-eclipse' version '0.0.10' apply false
41+
id 'cn.bestwu.propdeps-maven' version '0.0.10' apply false
42+
id 'cn.bestwu.propdeps-idea' version '0.0.10' apply false
43+
id 'cn.bestwu.propdeps' version '0.0.10' apply false
44+
id 'io.qameta.allure' version '2.5' apply false
45+
}
46+
47+
/*
48+
wrapper {
49+
gradleVersion = '4.9'
50+
distributionType = 'BIN'
51+
}
52+
*/
53+
54+
apply from: "$projectDir/gradle/ide.gradle"
55+
apply from: "$projectDir/gradle/clean.gradle"
56+
apply from: "$projectDir/gradle/repositories.gradle"
57+
apply from: "$projectDir/gradle/java.gradle"
58+
apply from: "$projectDir/gradle/main.gradle"
59+
apply from: "$projectDir/gradle/junit.gradle"
60+
apply from: "$projectDir/gradle/publish.gradle"
61+
apply from: "$projectDir/gradle/findbugs.gradle"
62+
//apply from: "$projectDir/gradle/jacoco.gradle"
63+
//apply from: "$projectDir/gradle/allure.gradle"
64+
//apply from: "$projectDir/gradle/selenide.gradle"
65+
apply from: "$projectDir/gradle/docker-compose.gradle"
66+
apply from: "$projectDir/gradle/docs.gradle"

Diff for: docker-compose-gradle.yaml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
version: "2.1"
2+
3+
services:
4+
5+
gradle-java-examples-app:
6+
build:
7+
context: .
8+
dockerfile: gradle/Dockerfile
9+
volumes: ["gradle-java-examples-app-data:/home/appuser"]
10+
networks: [backing-services]
11+
#ports: ["8080:8080"]
12+
#restart: unless-stopped
13+
#mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024)
14+
15+
volumes:
16+
gradle-java-examples-app-data: {}
17+
18+
networks:
19+
backing-services:
20+
driver: bridge

Diff for: docker-compose-maven.yaml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
version: "2.1"
2+
3+
services:
4+
5+
maven-java-examples-app:
6+
build:
7+
context: .
8+
dockerfile: .mvn/Dockerfile
9+
volumes: ["maven-java-examples-app-data:/home/appuser"]
10+
networks: [backing-services]
11+
#ports: ["8080:8080"]
12+
#restart: unless-stopped
13+
#mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024)
14+
15+
volumes:
16+
maven-java-examples-app-data: {}
17+
18+
networks:
19+
backing-services:
20+
driver: bridge

0 commit comments

Comments
 (0)