Skip to content

Commit

Permalink
Merge pull request #2 from paulodamaso/1
Browse files Browse the repository at this point in the history
For #1: initial repo configuration
  • Loading branch information
paulodamaso authored May 8, 2020
2 parents 1b032f7 + ee2a09a commit af7ff65
Show file tree
Hide file tree
Showing 13 changed files with 340 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .0pdd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
errors:
- [email protected]
format:
- short-title
- title-length=100
tags:
- pdd
28 changes: 28 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
version: '{build}'
skip_tags: true
clone_depth: 10
environment:
MAVEN_VERSION: 3.6.2
matrix:
- JAVA_HOME: C:\Program Files\Java\jdk1.8.0
install:
- ps: |
Add-Type -AssemblyName System.IO.Compression.FileSystem
if (!(Test-Path -Path "C:\maven" )) {
Write-Host "Downloading Maven $env:MAVEN_VERSION"
(new-object System.Net.WebClient).DownloadFile("https://repo1.maven.org/maven2/org/apache/maven/apache-maven/$env:MAVEN_VERSION/apache-maven-$env:MAVEN_VERSION-bin.zip", 'C:\maven-bin.zip')
[System.IO.Compression.ZipFile]::ExtractToDirectory("C:\maven-bin.zip", "C:\maven")
}
- cmd: SET M2_HOME=C:\maven\apache-maven-%MAVEN_VERSION%
# Prepend Java entry, remove Ruby entry (C:\Ruby193\bin;) from PATH
- cmd: SET PATH=%M2_HOME%\bin;%JAVA_HOME%\bin;%PATH:C:\Ruby193\bin;=%;
- cmd: SET MAVEN_OPTS=-XX:MaxPermSize=1g -Xmx2g
- cmd: SET JAVA_OPTS=-XX:MaxPermSize=1g -Xmx2g
- cmd: mvn --version
- cmd: java -version
build_script:
- mvn clean install -Pqulice --errors --batch-mode

cache:
- C:\maven\ -> appveyor.yml
- C:\Users\appveyor\.m2\ -> pom.xml
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Make sure the title of the issue explains the problem you are having. Also, the description of the issue must clearly explain what is broken, not what you want us to implement. Go through this checklist and make sure you answer "YES" to all points:

- You have all pre-requisites listed in README.md installed
- You are sure that you are not reporting a duplicate (search all issues)
- You say "is broken" or "doesn't work" in the title
- You tell us what you are trying to do
- You explain the results you are getting
- You suggest an alternative result you would like to see

This article will help you understand what we are looking for: https://www.yegor256.com/2014/11/24/principles-of-bug-tracking.html

Thank you for your contribution!
14 changes: 14 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Many thanks for your contribution, we truly appreciate it. We will appreciate it even more, if you make sure that you can say "YES" to each point in this short checklist:

- You made a small amount of changes (less than 100 lines, less than 10 files)
- You made changes related to only one bug (create separate PRs for separate problems, or leave puzzles)
- You are ready to defend your changes (there will be a code review)
- You don't touch what you don't understand
- You ran the build locally and it passed
- Title begins with the issue's number, then a short title
- Description begins with the issue's number, then enumerates the changes - summarized - in bulletpoints
- Description does not contain GitHub keywords (https://help.github.com/articles/closing-issues-using-keywords/).

This article will help you understand what we are looking for: https://www.yegor256.com/2015/02/09/serious-code-reviewer.html

Thank you for your contribution!
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/.idea/
/target/
5 changes: 5 additions & 0 deletions .pdd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
--source=.
--verbose
--rule min-words:20
--rule min-estimate:15
--rule max-estimate:120
29 changes: 29 additions & 0 deletions .rultor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
docker:
image: yegor256/rultor-image:1.3
assets:
settings.xml: yegor256/home#assets/jpeek/settings.xml
pubring.gpg: yegor256/home#assets/pubring.gpg
secring.gpg: yegor256/home#assets/secring.gpg
install: |
sudo update-java-alternatives -s java-1.8.0-openjdk-amd64
pdd -f /dev/null
architect:
- paulodamaso
merge:
script: |
mvn clean install -Pqulice --errors --settings ../settings.xml
mvn clean site -Psite --errors --settings ../settings.xml
deploy:
script: |
mvn clean deploy -Pqulice --errors --settings ../settings.xml
release:
sensitive:
- settings.xml
script: |-
export GPG_TTY=$(tty)
gpg --import /home/r/pubring.gpg
gpg --allow-secret-key-import --no-tty --batch --import /home/r/secring.gpg
[[ "${tag}" =~ ^[0-9]+(\.[0-9]+)*$ ]] || exit -1
mvn versions:set "-DnewVersion=${tag}"
git commit -am "${tag}"
mvn clean deploy -Pjpeek -Psonar -Pqulice -Psonatype --errors --settings ../settings.xml
22 changes: 22 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
dist: trusty
language: java
sudo: false
cache:
directories:
- $HOME/.m2
script:
- set -e
- pdd -f /dev/null
- mvn clean install -Pqulice --errors --batch-mode
install:
- gem install pdd -v 0.20.5
- gem install est -v 0.3.4
- gem install xcop -v 0.6
env:
global:
- MAVEN_OPTS="-Xmx256m"
- JAVA_OPTS="-Xmx256m"
jdk:
- openjdk8
after_success:
- "bash <(curl -s https://codecov.io/bash)"
21 changes: 21 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The MIT License (MIT)

Copyright (c) 2020 Yegor Bugayenko

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## How to use?

Add the plugin execution to your `pom.xml`:

```
<plugin>
<groupId>org.jpeek</groupId>
<artifactId>jpeek-maven-plugin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>jpeek-analysis</goal>
</goals>
</execution>
</executions>
</plugin>
```
105 changes: 105 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
The MIT License (MIT)
Copyright (c) 2017-2020 Yegor Bugayenko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jpeek</groupId>
<artifactId>jpeek-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<name>jpeek-maven-plugin</name>
<description>Maven plugin for jpeek - Static collector of Java code metrics</description>
<url>https://github.com/yegor256/jpeek-maven-plugin</url>
<inceptionYear>2020</inceptionYear>
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>
<organization>
<name>jPeek</name>
<url>https://github.com/yegor256/jpeek</url>
</organization>
<licenses>
<license>
<name>MIT</name>
<url>https://www.jpeek.org/LICENSE.txt</url>
<distribution>site</distribution>
</license>
</licenses>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/yegor256/jpeek-maven-plugin/issues</url>
</issueManagement>
<scm>
<connection>scm:git:[email protected]:yegor256/jpeek-maven-plugin.git</connection>
<developerConnection>scm:git:[email protected]:yegor256/jpeek-maven-plugin.git</developerConnection>
<url>https://github.com/yegor256/jpeek-maven-plugin</url>
</scm>
<ciManagement>
<system>rultor</system>
<url>https://www.rultor.com/s/jpeek-maven-plugin</url>
</ciManagement>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>qulice</id>
<build>
<plugins>
<plugin>
<groupId>com.qulice</groupId>
<artifactId>qulice-maven-plugin</artifactId>
<version>0.18.17</version>
<executions>
<execution>
<id>jcabi-qulice-check</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<license>file:${basedir}/LICENSE.txt</license>
<excludes>
<exclude>duplicatefinder:.*</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
47 changes: 47 additions & 0 deletions src/main/java/org/jpeek/plugin/JpeekMojo.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2020 Yegor Bugayenko
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package org.jpeek.plugin;

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;

/**
* {@link org.apache.maven.plugin.AbstractMojo} implementation for jPeek.
*
* @since 0.1
* @todo #1:30min Implement jpeek plugin execution
* JpeekMojo must execute jpeek and analyze project files upon build.
* Use the jpeek jar from manve repository to execute it with in the
* project.
*/
@Mojo(name = "jpeek-analysis", defaultPhase = LifecyclePhase.TEST)
public class JpeekMojo extends AbstractMojo {
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
//method body
}
}
30 changes: 30 additions & 0 deletions src/main/java/org/jpeek/plugin/package-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2020 Yegor Bugayenko
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/

/**
* JPeek web.
*
* @since 0.7
*/
package org.jpeek.plugin;

1 comment on commit af7ff65

@0pdd
Copy link
Collaborator

@0pdd 0pdd commented on af7ff65 May 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Puzzle 1-34fd3cb7 discovered in src/main/java/org/jpeek/plugin/JpeekMojo.java and submitted as #3. Please, remember that the puzzle was not necessarily added in this particular commit. Maybe it was added earlier, but we discovered it only now.

Please sign in to comment.