Skip to content

Commit d704355

Browse files
Initial commit - Adding first implementation + tests + travis conf
1 parent 6d02d7c commit d704355

File tree

20 files changed

+722
-23
lines changed

20 files changed

+722
-23
lines changed

.gitignore

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,9 @@
1-
# Compiled class file
2-
*.class
3-
4-
# Log file
5-
*.log
6-
7-
# BlueJ files
8-
*.ctxt
9-
10-
# Mobile Tools for Java (J2ME)
11-
.mtj.tmp/
12-
13-
# Package Files #
14-
*.jar
15-
*.war
16-
*.ear
17-
*.zip
18-
*.tar.gz
19-
*.rar
20-
21-
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
22-
hs_err_pid*
1+
*.iml
2+
.gradle
3+
/local.properties
4+
/.idea/workspace.xml
5+
/.idea/*
6+
.DS_Store
7+
/build
8+
/captures
9+
.externalNativeBuild

.travis.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
language: java
2+
jdk: oraclejdk8
3+
sudo: false
4+
5+
script:
6+
- ./gradlew clean build test check
7+
8+
cache:
9+
directories:
10+
- $HOME/.gradle

README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,14 @@
1-
# UtilsVerifier
1+
# UtilsVerifier
2+
UtilsVerifier is a pure java library that can be used in junit tests to verify that Utility method is properly defined.
3+
4+
Check by default includes:
5+
* private constructor check
6+
* class is final
7+
* class has no instance fields
8+
* class has no instance methods
9+
10+
Usage
11+
--------
12+
```java
13+
UtilsVerifier.forClass(ClassToTest.class).verify();
14+
```

build.gradle

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
ext.deps = [junit : 'junit:junit:4.12',
2+
mockitocore: 'org.mockito:mockito-core:2.8.47']
3+
4+
buildscript {
5+
repositories {
6+
google()
7+
jcenter()
8+
}
9+
dependencies {
10+
classpath 'com.android.tools.build:gradle:3.0.1'
11+
}
12+
}
13+
14+
allprojects {
15+
repositories {
16+
jcenter()
17+
}
18+
}
19+
20+
apply plugin: "java-library"
21+
22+
sourceCompatibility = JavaVersion.VERSION_1_5
23+
targetCompatibility = JavaVersion.VERSION_1_5
24+
25+
dependencies {
26+
testImplementation deps.junit
27+
testImplementation deps.mockitocore
28+
}

gradle-mvn-push.gradle

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
/*
2+
* Copyright 2013 Chris Banes
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
apply plugin: 'maven'
18+
apply plugin: 'signing'
19+
20+
def isReleaseBuild() {
21+
return VERSION_NAME.contains("SNAPSHOT") == false
22+
}
23+
24+
def getReleaseRepositoryUrl() {
25+
return hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL
26+
: "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
27+
}
28+
29+
def getSnapshotRepositoryUrl() {
30+
return hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL
31+
: "https://oss.sonatype.org/content/repositories/snapshots/"
32+
}
33+
34+
def getRepositoryUsername() {
35+
return hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : ""
36+
}
37+
38+
def getRepositoryPassword() {
39+
return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : ""
40+
}
41+
42+
afterEvaluate { project ->
43+
uploadArchives {
44+
repositories {
45+
mavenDeployer {
46+
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
47+
48+
pom.groupId = GROUP
49+
pom.artifactId = POM_ARTIFACT_ID
50+
pom.version = VERSION_NAME
51+
52+
repository(url: getReleaseRepositoryUrl()) {
53+
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
54+
}
55+
snapshotRepository(url: getSnapshotRepositoryUrl()) {
56+
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
57+
}
58+
59+
pom.project {
60+
name POM_NAME
61+
packaging POM_PACKAGING
62+
description POM_DESCRIPTION
63+
url POM_URL
64+
65+
scm {
66+
url POM_SCM_URL
67+
connection POM_SCM_CONNECTION
68+
developerConnection POM_SCM_DEV_CONNECTION
69+
}
70+
71+
licenses {
72+
license {
73+
name POM_LICENCE_NAME
74+
url POM_LICENCE_URL
75+
distribution POM_LICENCE_DIST
76+
}
77+
}
78+
79+
developers {
80+
developer {
81+
id POM_DEVELOPER_ID
82+
name POM_DEVELOPER_NAME
83+
}
84+
}
85+
}
86+
}
87+
}
88+
}
89+
90+
signing {
91+
required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
92+
sign configurations.archives
93+
}
94+
95+
task androidJavadocs(type: Javadoc) {
96+
source = android.sourceSets.main.java.srcDirs
97+
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
98+
classpath += configurations.compile
99+
options {
100+
options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PUBLIC
101+
linksOffline "http://d.android.com/reference", "${android.sdkDirectory}/docs/reference"
102+
links "http://reactivex.io/RxJava/javadoc"
103+
}
104+
}
105+
106+
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
107+
classifier = 'javadoc'
108+
from androidJavadocs.destinationDir
109+
}
110+
111+
task androidSourcesJar(type: Jar) {
112+
classifier = 'sources'
113+
from android.sourceSets.main.java.sourceFiles
114+
}
115+
116+
artifacts {
117+
archives androidSourcesJar
118+
archives androidJavadocsJar
119+
}
120+
}

gradle.properties

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
POM_NAME=UtilsVerifier
2+
POM_ARTIFACT_ID=utilsverifier
3+
POM_PACKAGING=jar
4+
5+
VERSION_NAME=0.0.1-SNAPSHOT
6+
VERSION_CODE=1
7+
GROUP=com.github.karczews
8+
9+
POM_DESCRIPTION=UtilsVerifier can be used in JUnit 4 unit tests to verify whether given util class is well formed one.
10+
POM_URL=https://github.com/karczews/UtilsVerifier
11+
POM_SCM_URL=https://github.com/karczews/UtilsVerifier
12+
POM_SCM_CONNECTION=scm:[email protected]:karczews/UtilsVerifier.git
13+
POM_SCM_DEV_CONNECTION=scm:[email protected]:karczews/UtilsVerifier.git
14+
POM_LICENCE_NAME=The Apache Software License, Version 2.0
15+
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
16+
POM_LICENCE_DIST=repo
17+
POM_DEVELOPER_ID=karczews
18+
POM_DEVELOPER_NAME=Krzysztof Karczewski

gradle/wrapper/gradle-wrapper.jar

52.4 KB
Binary file not shown.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#Sat Jul 22 09:08:20 CEST 2017
2+
distributionBase=GRADLE_USER_HOME
3+
distributionPath=wrapper/dists
4+
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

gradlew

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
#!/usr/bin/env bash
2+
3+
##############################################################################
4+
##
5+
## Gradle start up script for UN*X
6+
##
7+
##############################################################################
8+
9+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10+
DEFAULT_JVM_OPTS=""
11+
12+
APP_NAME="Gradle"
13+
APP_BASE_NAME=`basename "$0"`
14+
15+
# Use the maximum available, or set MAX_FD != -1 to use that value.
16+
MAX_FD="maximum"
17+
18+
warn ( ) {
19+
echo "$*"
20+
}
21+
22+
die ( ) {
23+
echo
24+
echo "$*"
25+
echo
26+
exit 1
27+
}
28+
29+
# OS specific support (must be 'true' or 'false').
30+
cygwin=false
31+
msys=false
32+
darwin=false
33+
case "`uname`" in
34+
CYGWIN* )
35+
cygwin=true
36+
;;
37+
Darwin* )
38+
darwin=true
39+
;;
40+
MINGW* )
41+
msys=true
42+
;;
43+
esac
44+
45+
# Attempt to set APP_HOME
46+
# Resolve links: $0 may be a link
47+
PRG="$0"
48+
# Need this for relative symlinks.
49+
while [ -h "$PRG" ] ; do
50+
ls=`ls -ld "$PRG"`
51+
link=`expr "$ls" : '.*-> \(.*\)$'`
52+
if expr "$link" : '/.*' > /dev/null; then
53+
PRG="$link"
54+
else
55+
PRG=`dirname "$PRG"`"/$link"
56+
fi
57+
done
58+
SAVED="`pwd`"
59+
cd "`dirname \"$PRG\"`/" >/dev/null
60+
APP_HOME="`pwd -P`"
61+
cd "$SAVED" >/dev/null
62+
63+
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64+
65+
# Determine the Java command to use to start the JVM.
66+
if [ -n "$JAVA_HOME" ] ; then
67+
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68+
# IBM's JDK on AIX uses strange locations for the executables
69+
JAVACMD="$JAVA_HOME/jre/sh/java"
70+
else
71+
JAVACMD="$JAVA_HOME/bin/java"
72+
fi
73+
if [ ! -x "$JAVACMD" ] ; then
74+
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75+
76+
Please set the JAVA_HOME variable in your environment to match the
77+
location of your Java installation."
78+
fi
79+
else
80+
JAVACMD="java"
81+
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82+
83+
Please set the JAVA_HOME variable in your environment to match the
84+
location of your Java installation."
85+
fi
86+
87+
# Increase the maximum file descriptors if we can.
88+
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89+
MAX_FD_LIMIT=`ulimit -H -n`
90+
if [ $? -eq 0 ] ; then
91+
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92+
MAX_FD="$MAX_FD_LIMIT"
93+
fi
94+
ulimit -n $MAX_FD
95+
if [ $? -ne 0 ] ; then
96+
warn "Could not set maximum file descriptor limit: $MAX_FD"
97+
fi
98+
else
99+
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100+
fi
101+
fi
102+
103+
# For Darwin, add options to specify how the application appears in the dock
104+
if $darwin; then
105+
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106+
fi
107+
108+
# For Cygwin, switch paths to Windows format before running java
109+
if $cygwin ; then
110+
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111+
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112+
JAVACMD=`cygpath --unix "$JAVACMD"`
113+
114+
# We build the pattern for arguments to be converted via cygpath
115+
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116+
SEP=""
117+
for dir in $ROOTDIRSRAW ; do
118+
ROOTDIRS="$ROOTDIRS$SEP$dir"
119+
SEP="|"
120+
done
121+
OURCYGPATTERN="(^($ROOTDIRS))"
122+
# Add a user-defined pattern to the cygpath arguments
123+
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124+
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125+
fi
126+
# Now convert the arguments - kludge to limit ourselves to /bin/sh
127+
i=0
128+
for arg in "$@" ; do
129+
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130+
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131+
132+
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133+
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134+
else
135+
eval `echo args$i`="\"$arg\""
136+
fi
137+
i=$((i+1))
138+
done
139+
case $i in
140+
(0) set -- ;;
141+
(1) set -- "$args0" ;;
142+
(2) set -- "$args0" "$args1" ;;
143+
(3) set -- "$args0" "$args1" "$args2" ;;
144+
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145+
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146+
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147+
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148+
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149+
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150+
esac
151+
fi
152+
153+
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154+
function splitJvmOpts() {
155+
JVM_OPTS=("$@")
156+
}
157+
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158+
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159+
160+
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"

0 commit comments

Comments
 (0)