diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/quality.gradle | 17 | ||||
-rw-r--r-- | config/quality/checkstyle/checkstyle.xml | 30 | ||||
-rw-r--r-- | config/quality/checkstyle/suppressions.xml | 23 | ||||
-rw-r--r-- | config/translations.gradle | 83 |
4 files changed, 153 insertions, 0 deletions
diff --git a/config/quality.gradle b/config/quality.gradle new file mode 100644 index 0000000..2df9dcb --- /dev/null +++ b/config/quality.gradle @@ -0,0 +1,17 @@ +apply plugin: 'checkstyle' + +check.dependsOn 'checkstyle' + +task checkstyle(type: Checkstyle) { + configFile file("${project.rootDir}/config/quality/checkstyle/checkstyle.xml") + configProperties.checkstyleSuppressionsPath = file("${project.rootDir}/config/quality/checkstyle/suppressions.xml").absolutePath + + source 'src/main/java' + include 'org/connectbot/**/*.java' + exclude '**/gen/**' + + def configProps = ['proj.module.dir': projectDir.absolutePath] + configProperties configProps + + classpath = files() +} diff --git a/config/quality/checkstyle/checkstyle.xml b/config/quality/checkstyle/checkstyle.xml new file mode 100644 index 0000000..105f707 --- /dev/null +++ b/config/quality/checkstyle/checkstyle.xml @@ -0,0 +1,30 @@ +<?xml version="1.0"?> +<!DOCTYPE module PUBLIC + "-//Puppy Crawl//DTD Check Configuration 1.3//EN" + "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> +<module name="Checker"> + <module name="TreeWalker"> + <property name="fileExtensions" value="java"/> + <module name="RegexpSinglelineJava"> + <property name="format" value="^\t* +\t*\S"/> + <property name="message" + value="Line has leading space characters; indentation should be performed with tabs only."/> + <property name="ignoreComments" value="true"/> + </module> + + <module name="AvoidStarImport" /> + <module name="IllegalImport" /> + <module name="RedundantImport" /> + <module name="UnusedImports" /> + <module name="NoWhitespaceAfter"> + <property name="tokens" value="BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS" /> + </module> + <module name="NoWhitespaceBefore" /> + <module name="ParenPad" /> + <module name="TypecastParenPad" /> + <module name="WhitespaceAfter" /> + <module name="WhitespaceAround"> + <property name="allowEmptyMethods" value="true" /> + </module> + </module> +</module> diff --git a/config/quality/checkstyle/suppressions.xml b/config/quality/checkstyle/suppressions.xml new file mode 100644 index 0000000..e36b8a9 --- /dev/null +++ b/config/quality/checkstyle/suppressions.xml @@ -0,0 +1,23 @@ +<?xml version="1.0"?> +<!-- + ~ ConnectBot: simple, powerful, open-source SSH client for Android + ~ Copyright 2015 Kenny Root, Jeffrey Sharkey + ~ + ~ 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> +</suppressions>
\ No newline at end of file diff --git a/config/translations.gradle b/config/translations.gradle new file mode 100644 index 0000000..14a2f12 --- /dev/null +++ b/config/translations.gradle @@ -0,0 +1,83 @@ +/* + * ConnectBot: simple, powerful, open-source SSH client for Android + * Copyright 2015 Kenny Root, Jeffrey Sharkey + * + * 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. + */ + +def localeDir = file('locale') +def launchpadImportBasename = 'launchpad-import' +def launchpadExportFile = getRootProject().file('launchpad-export.tar.gz') + +def android2poExec = 'a2po' +def android2poArgs = ['--groups', 'strings', + '--android', getProjectDir().getPath() + '/src/main/res', + '--gettext', localeDir, + '--template', 'fortune/fortune.pot', + '--layout', 'fortune/fortune-%(locale)s.po'] + +task ensureLocalDirExists { + localeDir.mkdirs() +} + +task untarTranslations(type: Copy) { + from tarTree(resources.gzip(launchpadExportFile)) + into localeDir +} + +task translationsImport(type: Exec, dependsOn: 'untarTranslations') { + description "Import translations into ConnectBot from Launchpad's export function" + executable = android2poExec + args = ['import'] + android2poArgs + + // Save the output to print out. + standardOutput = new ByteArrayOutputStream() + errorOutput = new ByteArrayOutputStream() + ext.output = { + return standardOutput.toString() + } + ext.errs = { + return errorOutput.toString() + } + + doLast { + println() + println("Translations import output:") + println("${translationsImport.output}") + println("${translationsImport.errs}") + } +} + +task exportFromAndroid(type: Exec) { + executable = android2poExec + args = ['export'] + android2poArgs + + // Save the output to print out. + standardOutput = new ByteArrayOutputStream() + ext.output = { + return standardOutput.toString() + } +} + +task translationsExport(type: Tar, dependsOn: 'exportFromAndroid') { + description "Export translations from ConnectBot in a format suitable to import into Launchpad" + baseName = launchpadImportBasename + from localeDir + compression = Compression.GZIP + doLast { + println() + println('Import file into Launchpad:') + println(getArchivePath()) + println() + } +} |