PL-8330 Travis CI build

This commit is contained in:
Yuriy Artamonov 2016-12-09 13:25:10 +04:00
parent 57880ffcc3
commit 0f3375b53a
33 changed files with 357 additions and 693 deletions

13
.travis.yml Normal file
View File

@ -0,0 +1,13 @@
language: java
jdk: oraclejdk8
before_install:
- git clone https://github.com/cuba-platform/cuba-gradle-plugin.git $TRAVIS_BUILD_DIR/cuba-gradle-plugin
- (cd $TRAVIS_BUILD_DIR/cuba-gradle-plugin && chmod +x ./gradlew && ./gradlew install)
- chmod +x ./gradlew
- ./gradlew startDb createTestDb
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/

View File

@ -89,7 +89,6 @@ configure([sharedLibModule, globalModule, coreModule, clientModule, guiModule,
apply(plugin: 'java')
apply(plugin: 'idea')
apply(plugin: 'maven')
apply(plugin: 'checkstyle')
apply(plugin: 'cuba')
dependencies {
@ -106,22 +105,6 @@ configure([sharedLibModule, globalModule, coreModule, clientModule, guiModule,
archives sourceJar
}
String checkstyleConfigDir = "${rootProject.projectDir}/config/checkstyle"
checkstyle {
configFile = new File("${checkstyleConfigDir}/checkstyle.xml".toString())
configProperties = [
'checkstyleConfigDir' : checkstyleConfigDir
]
reportsDir = new File("${buildDir}/checkstyle".toString())
}
checkstyleMain << {
def checkstyleDir = "${project.buildDir}/checkstyle".toString()
ant.xslt('in': "$checkstyleDir/main.xml",
out: "$checkstyleDir/$project.name-checkstyle.html",
style: "$checkstyleConfigDir/checkstyle.xsl")
}
jar {
manifest {
attributes("Implementation-Version": cubaVersion)

View File

@ -1,345 +0,0 @@
<?xml version="1.0"?>
<!--
~ Copyright (c) 2008-2016 Haulmont.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<!--
Checkstyle configuration that checks the sun coding conventions from:
- the Java Language Specification at
http://java.sun.com/docs/books/jls/second_edition/html/index.html
- the Sun Code Conventions at http://java.sun.com/docs/codeconv/
- the Javadoc guidelines at
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
- the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
- some best practices
Checkstyle is very configurable. Be sure to read the documentation at
http://checkstyle.sf.net (or in your downloaded distribution).
Most Checks are configurable, be sure to consult the documentation.
To completely disable a check, just comment it out or delete it from the file.
Finally, it is worth reading the documentation.
-->
<module name="Checker">
<!--
If you set the basedir property below, then all reported file
names will be relative to the specified directory. See
http://checkstyle.sourceforge.net/5.x/config.html#Checker
<property name="basedir" value="${basedir}"/>
-->
<module name="SuppressionFilter">
<property name="file" value="${checkstyleConfigDir}/suppressions.xml"/>
</module>
<!-- Checks that a package-info.java file exists for each package. -->
<!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocPackage -->
<!--<module name="JavadocPackage">-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<!-- Checks whether files end with a new line. -->
<!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
<!--<module name="NewlineAtEndOfFile">-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<!-- Checks that property files contain the same keys. -->
<!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
<!--<module name="Translation">-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<!-- Checks for Size Violations. -->
<!-- See http://checkstyle.sf.net/config_sizes.html -->
<module name="FileLength">
<property name="severity" value="warning"/>
</module>
<!-- Checks for whitespace -->
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
<module name="FileTabCharacter">
<property name="severity" value="warning"/>
</module>
<!-- Miscellaneous other checks. -->
<!-- See http://checkstyle.sf.net/config_misc.html -->
<!--<module name="RegexpSingleline">-->
<!--<property name="format" value="\s+$"/>-->
<!--<property name="minimum" value="0"/>-->
<!--<property name="maximum" value="0"/>-->
<!--<property name="message" value="Line has trailing spaces."/>-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<module name="TreeWalker">
<!-- Checks for Javadoc comments. -->
<!-- See http://checkstyle.sf.net/config_javadoc.html -->
<module name="JavadocMethod">
<property name="severity" value="warning"/>
<property name="scope" value="public"/>
<property name="allowMissingPropertyJavadoc" value="true"/>
<property name="allowUndeclaredRTE" value="true"/>
<property name="allowMissingParamTags" value="true"/>
</module>
<module name="JavadocType">
<property name="severity" value="warning"/>
<property name="scope" value="public"/>
<property name="tokens" value="INTERFACE_DEF"/>
</module>
<!--<module name="JavadocVariable">-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<module name="JavadocStyle">
<property name="severity" value="warning"/>
</module>
<!-- Checks for Naming Conventions. -->
<!-- See http://checkstyle.sf.net/config_naming.html -->
<module name="ConstantName">
<property name="severity" value="warning"/>
</module>
<module name="LocalFinalVariableName">
<property name="severity" value="warning"/>
</module>
<module name="LocalVariableName">
<property name="severity" value="warning"/>
</module>
<module name="MemberName">
<property name="severity" value="warning"/>
</module>
<module name="MethodName">
<property name="severity" value="warning"/>
</module>
<module name="PackageName">
<property name="severity" value="warning"/>
</module>
<module name="ParameterName">
<property name="severity" value="warning"/>
</module>
<module name="StaticVariableName">
<property name="severity" value="warning"/>
</module>
<module name="TypeName">
<property name="severity" value="warning"/>
</module>
<!-- Checks for Headers -->
<!-- See http://checkstyle.sf.net/config_header.html -->
<!-- <module name="Header"> -->
<!-- The follow property value demonstrates the ability -->
<!-- to have access to ANT properties. In this case it uses -->
<!-- the ${basedir} property to allow Checkstyle to be run -->
<!-- from any directory within a project. See property -->
<!-- expansion, -->
<!-- http://checkstyle.sf.net/config.html#properties -->
<!-- <property -->
<!-- name="headerFile" -->
<!-- value="${basedir}/java.header"/> -->
<!-- </module> -->
<!-- Following interprets the header file as regular expressions. -->
<!-- <module name="RegexpHeader"/> -->
<!-- Checks for imports -->
<!-- See http://checkstyle.sf.net/config_import.html -->
<!--<module name="AvoidStarImport">-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<module name="IllegalImport">
<property name="severity" value="warning"/>
</module> <!-- defaults to sun.* packages -->
<module name="RedundantImport">
<property name="severity" value="warning"/>
</module>
<module name="UnusedImports">
<property name="severity" value="warning"/>
</module>
<!-- Checks for Size Violations. -->
<!-- See http://checkstyle.sf.net/config_sizes.html -->
<module name="LineLength">
<property name="severity" value="warning"/>
<property name="max" value="120"/>
</module>
<module name="MethodLength">
<property name="severity" value="warning"/>
</module>
<module name="ParameterNumber">
<property name="severity" value="warning"/>
</module>
<!-- Checks for whitespace -->
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
<module name="EmptyForIteratorPad">
<property name="severity" value="warning"/>
</module>
<module name="GenericWhitespace">
<property name="severity" value="warning"/>
</module>
<module name="MethodParamPad">
<property name="severity" value="warning"/>
</module>
<module name="NoWhitespaceAfter">
<property name="severity" value="warning"/>
</module>
<module name="NoWhitespaceBefore">
<property name="severity" value="warning"/>
</module>
<module name="OperatorWrap">
<property name="severity" value="warning"/>
</module>
<module name="ParenPad">
<property name="severity" value="warning"/>
</module>
<module name="TypecastParenPad">
<property name="severity" value="warning"/>
</module>
<module name="WhitespaceAfter">
<property name="severity" value="warning"/>
</module>
<module name="WhitespaceAround">
<property name="severity" value="warning"/>
</module>
<!-- Modifier Checks -->
<!-- See http://checkstyle.sf.net/config_modifiers.html -->
<!--<module name="ModifierOrder">-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<module name="RedundantModifier">
<property name="severity" value="warning"/>
</module>
<!-- Checks for blocks. You know, those {}'s -->
<!-- See http://checkstyle.sf.net/config_blocks.html -->
<module name="AvoidNestedBlocks">
<property name="severity" value="warning"/>
</module>
<module name="EmptyBlock">
<property name="severity" value="warning"/>
</module>
<module name="LeftCurly">
<property name="severity" value="warning"/>
</module>
<module name="NeedBraces">
<property name="tokens" value="LITERAL_DO, LITERAL_FOR, LITERAL_WHILE"/>
<property name="severity" value="warning"/>
</module>
<module name="RightCurly">
<property name="severity" value="warning"/>
</module>
<!-- Checks for common coding problems -->
<!-- See http://checkstyle.sf.net/config_coding.html -->
<!--<module name="AvoidInlineConditionals">-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<module name="EmptyStatement">
<property name="severity" value="warning"/>
</module>
<module name="EqualsHashCode">
<property name="severity" value="warning"/>
</module>
<!--<module name="HiddenField">-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<module name="IllegalInstantiation">
<property name="severity" value="warning"/>
</module>
<module name="InnerAssignment">
<property name="severity" value="warning"/>
</module>
<!--<module name="MagicNumber">-->
<!--<property name="severity" value="warning"/>-->
<!--<property name="ignoreHashCodeMethod" value="true"/>-->
<!--<property name="ignoreAnnotation" value="true"/>-->
<!--</module>-->
<module name="MissingSwitchDefault">
<property name="severity" value="warning"/>
</module>
<module name="RedundantThrows">
<property name="severity" value="warning"/>
</module>
<module name="SimplifyBooleanExpression">
<property name="severity" value="warning"/>
</module>
<module name="SimplifyBooleanReturn">
<property name="severity" value="warning"/>
</module>
<!-- Checks for class design -->
<!-- See http://checkstyle.sf.net/config_design.html -->
<!--<module name="DesignForExtension">-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<module name="FinalClass">
<property name="severity" value="warning"/>
</module>
<module name="HideUtilityClassConstructor">
<property name="severity" value="warning"/>
</module>
<!--<module name="InterfaceIsType">-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<module name="VisibilityModifier">
<property name="severity" value="warning"/>
<property name="protectedAllowed" value="true"/>
<property name="packageAllowed" value="true"/>
</module>
<!-- Miscellaneous other checks. -->
<!-- See http://checkstyle.sf.net/config_misc.html -->
<module name="ArrayTypeStyle">
<property name="severity" value="warning"/>
</module>
<!--<module name="FinalParameters">-->
<!--<property name="severity" value="warning"/>-->
<!--</module>-->
<module name="TodoComment">
<property name="severity" value="warning"/>
</module>
<module name="UpperEll">
<property name="severity" value="warning"/>
</module>
</module>
</module>

View File

@ -1,195 +0,0 @@
<!--
~ Copyright (c) 2008-2016 Haulmont.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:decimal-format decimal-separator="." grouping-separator="," />
<xsl:key name="files" match="file" use="@name" />
<!-- Checkstyle XML Style Sheet by Stephane Bailliez <sbailliez@apache.org> -->
<!-- Part of the Checkstyle distribution found at http://checkstyle.sourceforge.net -->
<!-- Usage (generates checkstyle_report.html): -->
<!-- <checkstyle failonviolation="false" config="${check.config}"> -->
<!-- <fileset dir="${src.dir}" includes="**/*.java"/> -->
<!-- <formatter type="xml" toFile="${doc.dir}/checkstyle_report.xml"/> -->
<!-- </checkstyle> -->
<!-- <style basedir="${doc.dir}" destdir="${doc.dir}" -->
<!-- includes="checkstyle_report.xml" -->
<!-- style="${doc.dir}/checkstyle-noframes-sorted.xsl"/> -->
<xsl:template match="checkstyle">
<html>
<head>
<style type="text/css">
.bannercell {
border: 0px;
padding: 0px;
}
body {
margin-left: 10;
margin-right: 10;
font:normal 80% arial,helvetica,sanserif;
background-color:#FFFFFF;
color:#000000;
}
.a td {
background: #efefef;
}
.b td {
background: #fff;
}
th, td {
text-align: left;
vertical-align: top;
}
th {
font-weight:bold;
background: #ccc;
color: black;
}
table, th, td {
font-size:100%;
border: none
}
table.log tr td, tr th {
}
h2 {
font-weight:bold;
font-size:140%;
margin-bottom: 5;
}
h3 {
font-size:100%;
font-weight:bold;
background: #525D76;
color: white;
text-decoration: none;
padding: 5px;
margin-right: 2px;
margin-left: 2px;
margin-bottom: 0;
}
</style>
</head>
<body>
<a name="top"></a>
<!-- jakarta logo -->
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td class="bannercell" rowspan="2">
<!--a href="http://jakarta.apache.org/">
<img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/>
</a-->
</td>
<td class="text-align:right"><h2>CheckStyle Audit</h2></td>
</tr>
<tr>
<td class="text-align:right">Designed for use with <a href='http://checkstyle.sourceforge.net/'>CheckStyle</a> and <a href='http://jakarta.apache.org'>Ant</a>.</td>
</tr>
</table>
<hr size="1"/>
<!-- Summary part -->
<xsl:apply-templates select="." mode="summary"/>
<hr size="1" width="100%" align="left"/>
<!-- Package List part -->
<xsl:apply-templates select="." mode="filelist"/>
<hr size="1" width="100%" align="left"/>
<!-- For each package create its part -->
<xsl:apply-templates select="file[@name and generate-id(.) = generate-id(key('files', @name))]" />
<hr size="1" width="100%" align="left"/>
</body>
</html>
</xsl:template>
<xsl:template match="checkstyle" mode="filelist">
<h3>Files</h3>
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Name</th>
<th>Errors</th>
</tr>
<xsl:for-each select="file[@name and generate-id(.) = generate-id(key('files', @name))]">
<xsl:sort data-type="number" order="descending" select="count(key('files', @name)/error)"/>
<xsl:variable name="currentName" select="@name" />
<xsl:variable name="errorCount" select="count(key('files', @name)/error)"/>
<tr>
<xsl:call-template name="alternated-row"/>
<td><a href="#f-{@name}"><xsl:value-of select="@name"/></a></td>
<td><xsl:value-of select="$errorCount"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="file">
<a name="f-{@name}"></a>
<h3>File <xsl:value-of select="@name"/></h3>
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Error Description</th>
<th>Line</th>
</tr>
<xsl:for-each select="key('files', @name)/error">
<xsl:sort data-type="number" order="ascending" select="@line"/>
<tr>
<xsl:call-template name="alternated-row"/>
<td><xsl:value-of select="@message"/></td>
<td><xsl:value-of select="@line"/></td>
</tr>
</xsl:for-each>
</table>
<a href="#top">Back to top</a>
</xsl:template>
<xsl:template match="checkstyle" mode="summary">
<h3>Summary</h3>
<xsl:variable name="fileCount" select="count(file[@name and generate-id(.) = generate-id(key('files', @name))])"/>
<xsl:variable name="errorCount" select="count(file/error)"/>
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Files</th>
<th>Errors</th>
</tr>
<tr>
<xsl:call-template name="alternated-row"/>
<td><xsl:value-of select="$fileCount"/></td>
<td><xsl:value-of select="$errorCount"/></td>
</tr>
</table>
</xsl:template>
<xsl:template name="alternated-row">
<xsl:attribute name="class">
<xsl:if test="position() mod 2 = 1">a</xsl:if>
<xsl:if test="position() mod 2 = 0">b</xsl:if>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>

View File

@ -1,45 +0,0 @@
<?xml version="1.0"?>
<!--
~ Copyright (c) 2008-2016 Haulmont.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<!DOCTYPE suppressions PUBLIC
"-//Puppy Crawl//DTD Suppressions 1.1//EN"
"http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
<!-- Tone down the checking for test code -->
<!--<suppress checks="EmptyBlock" files=".*[\\/]src[\\/]tests[\\/]"/>-->
<!--<suppress checks="ImportControl" files=".*[\\/]src[\\/]tests[\\/]"/>-->
<!--<suppress checks="Javadoc" files=".*[\\/]src[\\/]tests[\\/]"/>-->
<!--<suppress checks="MagicNumber" files=".*[\\/]src[\\/]tests[\\/]"/>-->
<!--<suppress checks="MethodCount" files="[\\/]IndentationCheckTest.java$"/>-->
<!--<suppress checks="EqualsAvoidNull" files="[\\/]Int.*FilterTest.java$"/>-->
<!-- suppressions to remove over time -->
<!--<suppress checks="FinalLocalVariable" files=".*[\\/]src[\\/]tests[\\/]"/>-->
<!--<suppress checks="LineLength" files=".*[\\/]src[\\/]tests[\\/]"/>-->
<!--<suppress checks="Name" files=".*[\\/]src[\\/]tests[\\/]"/> -->
<!--
Turn off all checks for Generated and Test code.
-->
<suppress checks="." files=".*\.tokens"/>
<suppress checks="." files=".*JPALexer\.java"/>
<suppress checks="." files=".*JPAParser\.java"/>
<!--<suppress checks="." files=".*[\\/]grammars[\\/]Generated[a-zA-Z]*\.java"/>-->
<!--<suppress checks="." files=".*[\\/]checkstyle[\\/]gui[\\/]"/>-->
</suppressions>

BIN
gradle/wrapper/gradle-wrapper.jar vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,6 @@
#Fri Dec 09 12:01:27 SAMT 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.1-bin.zip

169
gradlew vendored Normal file
View File

@ -0,0 +1,169 @@
#!/usr/bin/env bash
##############################################################################
##
## 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
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
# 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" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"

84
gradlew.bat vendored Normal file
View 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

View File

@ -16,8 +16,7 @@
*/
package com.haulmont.cuba.core.sys.javacl;
import com.haulmont.bali.util.ReflectionHelper;
import junit.framework.Assert;
import org.junit.Assert;
import org.junit.Test;
import java.io.File;
@ -25,8 +24,6 @@ import java.lang.reflect.Method;
import java.util.Date;
public class JavaClassLoaderTest {
@Test
public void testSimple() throws Exception {
System.out.println(new File(".").getAbsolutePath());
@ -143,7 +140,6 @@ public class JavaClassLoaderTest {
boolean result = file.setLastModified(System.currentTimeMillis());
}
@Test
public void testTwiceCompilation() throws Exception {
JavaClassLoader javaClassLoader = new JavaClassLoader(null, "./test-data/javacl-sources/", "") {
@ -229,4 +225,4 @@ public class JavaClassLoaderTest {
method = class11.getDeclaredMethod("setObject", interface11);
method.invoke(object11, object21);
}
}
}

View File

@ -25,8 +25,7 @@ import org.junit.Ignore;
import java.util.Locale;
@Ignore
public abstract class AbstractDatatypeTest extends CubaClientTestCase {
public class AbstractDatatypeTestCase extends CubaClientTestCase {
protected Locale ruLocale;
protected Locale enGbLocale;

View File

@ -27,7 +27,7 @@ import java.util.Locale;
import static junit.framework.Assert.assertEquals;
public class IntegerDatatypeTest extends AbstractDatatypeTest {
public class IntegerDatatypeTest extends AbstractDatatypeTestCase {
private Datatype<Integer> intDt;

View File

@ -27,7 +27,7 @@ import java.util.Locale;
import static junit.framework.Assert.assertEquals;
public class LongDatatypeTest extends AbstractDatatypeTest {
public class LongDatatypeTest extends AbstractDatatypeTestCase {
private Datatype<Long> longDt;
private Long long10000 = (long) 10000;

View File

@ -20,7 +20,7 @@ package com.haulmont.cuba.gui.autocomplete.impl;
import com.haulmont.cuba.core.sys.jpql.InferredType;
import com.haulmont.cuba.gui.components.autocomplete.impl.AliasRemover;
import com.haulmont.cuba.gui.components.autocomplete.impl.HintRequest;
import junit.framework.Assert;
import org.junit.Assert;
import org.junit.Test;
import java.util.EnumSet;

View File

@ -1,58 +1,58 @@
/*
* Copyright (c) 2008-2016 Haulmont.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package com.haulmont.cuba.gui.components;
import com.haulmont.cuba.client.testsupport.CubaClientTestCase;
import com.haulmont.cuba.core.global.AppBeans;
import com.haulmont.cuba.gui.executors.BackgroundWorker;
import com.haulmont.cuba.gui.xml.layout.ComponentsFactory;
import mockit.Mocked;
import mockit.NonStrictExpectations;
import org.junit.Before;
public abstract class AbstractComponentTest extends CubaClientTestCase {
protected ComponentsFactory factory;
@Mocked
protected BackgroundWorker backgroundWorker;
@Before
public void setUp() throws Exception {
addEntityPackage("com.haulmont.cuba");
setupInfrastructure();
setupGuiInfrastructure();
initExpectations();
messages.init();
}
protected void setupGuiInfrastructure() {
new NonStrictExpectations() {
{
AppBeans.get(BackgroundWorker.NAME); result = backgroundWorker;
AppBeans.get(BackgroundWorker.class); result = backgroundWorker;
AppBeans.get(BackgroundWorker.NAME, BackgroundWorker.class); result = backgroundWorker;
}
};
}
protected void initExpectations() {
}
/*
* Copyright (c) 2008-2016 Haulmont.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package com.haulmont.cuba.gui.components;
import com.haulmont.cuba.client.testsupport.CubaClientTestCase;
import com.haulmont.cuba.core.global.AppBeans;
import com.haulmont.cuba.gui.executors.BackgroundWorker;
import com.haulmont.cuba.gui.xml.layout.ComponentsFactory;
import mockit.Mocked;
import mockit.NonStrictExpectations;
import org.junit.Before;
public class AbstractComponentTestCase extends CubaClientTestCase {
protected ComponentsFactory factory;
@Mocked
protected BackgroundWorker backgroundWorker;
@Before
public void setUp() throws Exception {
addEntityPackage("com.haulmont.cuba");
setupInfrastructure();
setupGuiInfrastructure();
initExpectations();
messages.init();
}
protected void setupGuiInfrastructure() {
new NonStrictExpectations() {
{
AppBeans.get(BackgroundWorker.NAME); result = backgroundWorker;
AppBeans.get(BackgroundWorker.class); result = backgroundWorker;
AppBeans.get(BackgroundWorker.NAME, BackgroundWorker.class); result = backgroundWorker;
}
};
}
protected void initExpectations() {
}
}

View File

@ -33,7 +33,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.*;
@Ignore
public abstract class DateFieldTest extends AbstractComponentTest {
public class DateFieldTest extends AbstractComponentTestCase {
@Test
public void testNew() {

View File

@ -40,7 +40,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.*;
@Ignore
public abstract class LookupFieldTest extends AbstractComponentTest {
public class LookupFieldTest extends AbstractComponentTestCase {
@Mocked PersistenceManagerService persistenceManagerService;

View File

@ -40,7 +40,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.*;
@Ignore
public abstract class OptionsGroupTest extends AbstractComponentTest{
public class OptionsGroupTest extends AbstractComponentTestCase {
@Mocked
PersistenceManagerService persistenceManagerService;

View File

@ -40,7 +40,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.*;
@Ignore
public abstract class OptionsListTest extends AbstractComponentTest {
public class OptionsListTest extends AbstractComponentTestCase {
@Mocked
PersistenceManagerService persistenceManagerService;

View File

@ -32,7 +32,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.*;
@Ignore
public abstract class PickerFieldTest extends AbstractComponentTest {
public class PickerFieldTest extends AbstractComponentTestCase {
@Override
protected void initExpectations() {

View File

@ -31,7 +31,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.*;
@Ignore
public abstract class TextFieldTest extends AbstractComponentTest {
public class TextFieldTest extends AbstractComponentTestCase {
@Test
public void testNew() {

View File

@ -27,7 +27,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@Ignore
public class CheckBoxDsTest extends DsApiConsistencyTest {
public class CheckBoxDsTest extends DsApiConsistencyTestCase {
@Test
public void testUnsubscribeComponentListener() {
@ -197,4 +197,4 @@ public class CheckBoxDsTest extends DsApiConsistencyTest {
checkBox.setValue(false);
assertEquals(true, userDs1.getItem().getActive());
}
}
}

View File

@ -29,7 +29,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@Ignore
public class DateFieldDsTest extends DsApiConsistencyTest {
public class DateFieldDsTest extends DsApiConsistencyTestCase {
@Test
public void testUnsubscribeComponentListener() {

View File

@ -29,7 +29,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@Ignore
public class DatePickerDsTest extends DsApiConsistencyTest {
public class DatePickerDsTest extends DsApiConsistencyTestCase {
@Test
public void testUnsubscribeComponentListener() {
@ -208,4 +208,4 @@ public class DatePickerDsTest extends DsApiConsistencyTest {
datePicker.setValue(new Date());
assertEquals(updateTs, userDs1.getItem().getUpdateTs());
}
}
}

View File

@ -20,7 +20,7 @@ import com.haulmont.cuba.client.sys.PersistenceManagerClient;
import com.haulmont.cuba.core.app.PersistenceManagerService;
import com.haulmont.cuba.core.global.AppBeans;
import com.haulmont.cuba.core.global.View;
import com.haulmont.cuba.gui.components.AbstractComponentTest;
import com.haulmont.cuba.gui.components.AbstractComponentTestCase;
import com.haulmont.cuba.gui.data.CollectionDatasource;
import com.haulmont.cuba.gui.data.Datasource;
import com.haulmont.cuba.gui.data.DsBuilder;
@ -35,8 +35,7 @@ import org.junit.Ignore;
import java.util.UUID;
@Ignore
public abstract class DsApiConsistencyTest extends AbstractComponentTest {
public class DsApiConsistencyTestCase extends AbstractComponentTestCase {
@Mocked
PersistenceManagerService persistenceManagerService;
@ -113,4 +112,4 @@ public abstract class DsApiConsistencyTest extends AbstractComponentTest {
return collectionDatasource;
}
}
}

View File

@ -26,7 +26,7 @@ import org.junit.Test;
import static org.junit.Assert.*;
@Ignore
public class LabelDsTest extends DsApiConsistencyTest {
public class LabelDsTest extends DsApiConsistencyTestCase {
@Test
public void testUnsubscribeComponentListener() {

View File

@ -33,7 +33,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@Ignore
public abstract class LookupFieldDsTest extends DsApiConsistencyTest {
public class LookupFieldDsTest extends DsApiConsistencyTestCase {
@Test
public void testUnsubscribeComponentListener() {

View File

@ -34,7 +34,7 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@Ignore
public class LookupPickerFieldDsTest extends DsApiConsistencyTest {
public class LookupPickerFieldDsTest extends DsApiConsistencyTestCase {
@Test
public void testUnsubscribeComponentListener() {

View File

@ -17,7 +17,7 @@ import org.junit.Test;
import static org.junit.Assert.*;
@Ignore
public class OptionsGroupDsTest extends DsApiConsistencyTest {
public class OptionsGroupDsTest extends DsApiConsistencyTestCase {
@Test
public void testUnsubscribeComponentListener() {

View File

@ -18,7 +18,7 @@ import static junit.framework.TestCase.assertEquals;
import static org.junit.Assert.assertTrue;
@Ignore
public class OptionsListDsTest extends DsApiConsistencyTest {
public class OptionsListDsTest extends DsApiConsistencyTestCase {
@Test
public void testUnsubscribeComponentListener() {

View File

@ -29,7 +29,7 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@Ignore
public class PickerFieldDsTest extends DsApiConsistencyTest {
public class PickerFieldDsTest extends DsApiConsistencyTestCase {
@Test
public void testUnsubscribeWithComponentListener() {

View File

@ -22,7 +22,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@Ignore
public class SearchFieldDsTest extends DsApiConsistencyTest {
public class SearchFieldDsTest extends DsApiConsistencyTestCase {
@Test
public void testUnsubscribeComponentListener() {

View File

@ -27,7 +27,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@Ignore
public class TextFieldDsTest extends DsApiConsistencyTest {
public class TextFieldDsTest extends DsApiConsistencyTestCase {
@Test
public void testUnsubscribeComponentListener() {