我正在评估新的基于gradle的构建系统重现我们当前基于ant的构建过程的能力,并且作为一个初学者,我没有使用android gradle插件运行checkstyle.
环境:
gradle 1.6在标准java项目上正常运行(包括checkstyle检查目标)
最新的Android SDK(带平台工具和构建工具的22.0.1)
没有日食,没有安卓工作室,只有我可爱的终端
症状:
目标项目是https://github.com/nibua-r/LigoTextDemo,我成功使用gradle构建它,但如果我天真地添加apply plugin: checkstyle到我的build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.2'
}
}
apply plugin: 'android'
apply plugin: 'checkstyle'
android {
buildToolsVersion '17'
compileSdkVersion 15
testBuildType 'debug'
defaultConfig {
versionCode = 1
versionName = '1.0'
minSdkVersion 12
targetSdkVersion 15
}
buildTypes {
debug {
packageNameSuffix = '.debug'
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后gradle check甚至没有抱怨找不到checkstyle.xml文件(在默认config/checkstyle位置)并返回:
:check UP-TO-DATE
BUILD SUCCESSFUL
Run Code Online (Sandbox Code Playgroud)
需要什么: …
免责声明:这是Java和IntelliJ的大师那天的天真问题!
首先,我的观点是不要启动尚未重新审视的IDE或编辑的战争.作为一名程序员,有时候我只想享受一些乐趣,我对这个时期感到好奇.准备?
我们在这里,我每天都使用GNU/Emacs,我非常满意.作为Java开发人员,我非常了解IDE的代码完成功能.有些项目已尝试将此类完成传播到Vim或Emacs:请参阅eclim项目,派生的emacs-eclim项目,或者使用完全相反的方法:最近的(ATTOW)ideavim插件.话虽这么说,我现在想知道eclim方法是否可以应用于IntelliJ/Emacs情侣利用或不是yasnippet和/或自动完成.第一个问题是,乍一看,似乎不可能像使用Eclipse那样将IntelliJ作为无头过程运行.
因此,我认为第一步是使IntelliJ的代码完成组件无头运行.我已经浏览了完成代码,但我对Java的熟练程度不足以确定是否可行.
让我知道你的想法.
来自评论的更新:
从Tom的评论中,我同意主要问题不是运行无头IntelliJ而是隔离代码完成组件并开发代码完成服务器插件.不过,没有一个完整的IntelliJ的UI运行会很好.我将尝试看看如何链接Emacs和IntelliJ插件.
有趣(......或不)引用:
我在GNU/Linux Debian机器上使用GNU/Emacs HEAD和附带的cc-mode(c-version 5.32.2).
我正在尝试定义一个自定义样式来管理Java编程语言的代码约定,Android的贡献者代码样式指南和一些自定义规则.
作为一个lisp初学者,从头开始似乎并不明智.因此,我使用google-c-style作为起点,我设法获得最缩进规则的预期行为,嵌套条件有例外(请参阅下面的代码片段).
从那篇文章中,我已经定义(arglist-cont-nonempty . ++)了我的自定义样式(完整代码:custom-java-style.el).不幸的是,虽然大多数情况按预期缩进:
if ((condition1 && condition2)
|| (condition3 && condition4)
||!(condition5 && condition6)) {
doSomethingAboutIt();
someMethod(longExpression1, longExpression2, longExpression3,
longExpression4, longExpression5);
}
Run Code Online (Sandbox Code Playgroud)
嵌套条件错误地缩进:
if (!(deviceRegistred.getAddress().equalsIgnoreCase(deviceAdress)
&& deviceRegistred.getName().equalsIgnoreCase(deviceName))) {
doSomethingAboutIt();
}
Run Code Online (Sandbox Code Playgroud)
Ctrl-c Ctrl+s报告Syntactic analysis: ((arglist-cont-nonempty 2447 2450) (arglist-cont-nonempty 2447 2452))第二行,我显然有16个空格(2次++)缩进而不是8(++).
我想得到以下缩进:
if (!(deviceRegistred.getAddress().equalsIgnoreCase(deviceAdress)
&& deviceRegistred.getName().equalsIgnoreCase(deviceName))) {
doSomethingAboutIt();
}
Run Code Online (Sandbox Code Playgroud)
我试图定义一个(,(when (fboundp …)))像用于 …
在用主机名“ server1”和“ server2”设置Apache虚拟主机后,由于无法在iOS或Android中修改/ etc / hosts文件,我将如何用我的iPhone(或任何移动设备)访问它们?
我的理解是,您必须按名称引用虚拟主机(假设您的物理服务器上只有1个IP地址),但是无法将这些虚拟主机名映射到我的物理服务器上的单个IP地址。
我正在使用MAMP在笔记本电脑上运行服务器,而我的Vonage路由器/ Apple Airport不支持DNS。我需要设置本地DNS服务器吗?有什么简单的方法可以在笔记本电脑上运行它吗?谢谢。
我已经在我开发的应用程序上使用 Cordova(带有 iOS)一段时间了。我过去能够很好地访问文件系统。
我通过命令行界面安装了带有 Node 的 cordova 3.3.0 并添加了我需要的所有插件(几乎所有插件 - 当然包括文件)
当我列出插件时,我得到: Michaels-MacBook-Pro:hello michael$ cordova plugin ls
[ 'org.apache.cordova.battery-status',
'org.apache.cordova.console',
'org.apache.cordova.device-motion',
'org.apache.cordova.device-orientation',
'org.apache.cordova.dialogs',
'org.apache.cordova.file',
etc....']
Run Code Online (Sandbox Code Playgroud)
但是,我尝试运行以下测试代码:请注意,该代码位于index.js文件内,该文件在index.html中被正确引用
Index.html参考:
script type="text/javascript" src="cordova.js"
script type="text/javascript" src="js/index.js"
Run Code Online (Sandbox Code Playgroud)
索引.js:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
alert("ready");
window.requestFileSystem(LocalFileSystem.PERSISTENT, 5*1024*1024, gotFS, fail);
}
function gotFS(fileSystem) {
alert("got fs");
alert(fileSystem.root.fullPath);
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试警报(window.requestFileSystem),我得到的只是“准备好”;我变得不确定。
请有人帮我解决这个问题吗?我认为没有理由它不起作用。
任何帮助将非常感激!
亲切的问候,
迈克尔·麦克唐纳德