aboutsummaryrefslogtreecommitdiffstats
path: root/lint
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2012-10-19 14:48:42 -0700
committerXavier Ducrohet <xav@android.com>2012-10-19 16:14:05 -0700
commit677ccee3ffa11c71942f3e2bf59e0981aeaac5ea (patch)
treefe586f8e94efa9f583d6a1e362d22d1e3f53e006 /lint
parent7a359895f07d5e6e508bb8b8502f5fd52d69e979 (diff)
downloadsdk-677ccee3ffa11c71942f3e2bf59e0981aeaac5ea.zip
sdk-677ccee3ffa11c71942f3e2bf59e0981aeaac5ea.tar.gz
sdk-677ccee3ffa11c71942f3e2bf59e0981aeaac5ea.tar.bz2
Update maven artifacts and add lint.
Updated the groupId of most artifacts to be more reflective of their sub-projects status in the SDK tools. Added lint artifacts. Change-Id: I900a165647a9b7d3c55b473f63c4ca4469762d7b
Diffstat (limited to 'lint')
-rw-r--r--lint/.gitignore3
-rw-r--r--lint/cli/build.gradle85
-rw-r--r--lint/libs/lint_api/build.gradle76
-rw-r--r--lint/libs/lint_checks/build.gradle82
-rw-r--r--lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/AbstractCheckTest.java72
5 files changed, 289 insertions, 29 deletions
diff --git a/lint/.gitignore b/lint/.gitignore
index 99d9ac8..247246d 100644
--- a/lint/.gitignore
+++ b/lint/.gitignore
@@ -1,4 +1,7 @@
cli/bin
+cli/build
libs/lint_api/bin
+libs/lint_api/build
libs/lint_checks/bin
+libs/lint_checks/build
libs/lint_checks/tests/bin
diff --git a/lint/cli/build.gradle b/lint/cli/build.gradle
new file mode 100644
index 0000000..7cd02dc
--- /dev/null
+++ b/lint/cli/build.gradle
@@ -0,0 +1,85 @@
+dependencies {
+ compile project(':lint_api')
+ compile project(':lint_checks')
+
+ testCompile 'org.easymock:easymock:3.1'
+ testCompile 'junit:junit:3.8.1'
+}
+
+def getVersion() {
+ if (project.has("release")) {
+ return project.ext.baseVersion
+ }
+
+ return project.ext.baseVersion + '-SNAPSHOT'
+}
+
+version = getVersion()
+group = 'com.android.tools.lint'
+archivesBaseName = 'lint'
+
+sourceSets {
+ main {
+ java {
+ srcDir 'src'
+ }
+ resources {
+ srcDir 'src'
+ }
+ }
+ test {
+ java {
+ srcDir 'tests/src'
+ }
+ resources {
+ srcDir 'tests/src'
+ }
+ }
+}
+
+jar {
+ manifest { attributes 'Main-Class': 'com.android.tools.lint.Main' }
+}
+
+uploadArchives {
+ repositories {
+ mavenDeployer {
+ beforeDeployment { MavenDeployment deployment ->
+ if (!project.has("release")) {
+ throw new StopExecutionException("uploadArchives must be called with the release.gradle init script")
+ }
+
+ signing.signPom(deployment)
+ }
+
+ repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
+ authentication(userName: sonatypeUsername, password: sonatypePassword)
+ }
+
+ pom.project {
+ name 'Android Lint Tool'
+ description 'Lint tools. Both a Command line tool and a library to add lint features to other tools'
+ url 'http://tools.android.com'
+ inceptionYear '2007'
+
+ licenses {
+ license {
+ name 'The Apache Software License, Version 2.0'
+ url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ distribution 'repo'
+ }
+ }
+
+ scm {
+ url "https://android.googlesource.com/platform/sdk"
+ connection "git://android.googlesource.com/platform/sdk.git"
+ }
+ developers {
+ developer {
+ name 'The Android Open Source Project'
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/lint/libs/lint_api/build.gradle b/lint/libs/lint_api/build.gradle
new file mode 100644
index 0000000..315c2bb
--- /dev/null
+++ b/lint/libs/lint_api/build.gradle
@@ -0,0 +1,76 @@
+dependencies {
+ compile project(':common')
+ compile project(':sdklib')
+ compile project(':layoutlib_api')
+
+ compile 'com.google.guava:guava:13.0.1'
+ compile 'org.projectlombok:lombok.ast:0.2'
+ compile 'org.ow2.asm:asm:4.0'
+ compile 'org.ow2.asm:asm-tree:4.0'
+}
+
+def getVersion() {
+ if (project.has("release")) {
+ return project.ext.baseVersion
+ }
+
+ return project.ext.baseVersion + '-SNAPSHOT'
+}
+
+version = getVersion()
+group = 'com.android.tools.lint'
+archivesBaseName = 'lint-api'
+
+sourceSets {
+ main {
+ java {
+ srcDir 'src'
+ }
+ resources {
+ srcDir 'src'
+ }
+ }
+}
+
+uploadArchives {
+ repositories {
+ mavenDeployer {
+ beforeDeployment { MavenDeployment deployment ->
+ if (!project.has("release")) {
+ throw new StopExecutionException("uploadArchives must be called with the release.gradle init script")
+ }
+
+ signing.signPom(deployment)
+ }
+
+ repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
+ authentication(userName: sonatypeUsername, password: sonatypePassword)
+ }
+
+ pom.project {
+ name 'Android Tools Lint API'
+ description 'API to build lint checks'
+ url 'http://tools.android.com'
+ inceptionYear '2007'
+
+ licenses {
+ license {
+ name 'The Apache Software License, Version 2.0'
+ url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ distribution 'repo'
+ }
+ }
+
+ scm {
+ url "https://android.googlesource.com/platform/sdk"
+ connection "git://android.googlesource.com/platform/sdk.git"
+ }
+ developers {
+ developer {
+ name 'The Android Open Source Project'
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/lint/libs/lint_checks/build.gradle b/lint/libs/lint_checks/build.gradle
new file mode 100644
index 0000000..53a3cf8
--- /dev/null
+++ b/lint/libs/lint_checks/build.gradle
@@ -0,0 +1,82 @@
+dependencies {
+ compile project(':lint_api')
+ compile 'org.ow2.asm:asm-analysis:4.0'
+
+ testCompile 'org.easymock:easymock:3.1'
+ testCompile 'junit:junit:3.8.1'
+ testCompile project(':lint')
+}
+
+def getVersion() {
+ if (project.has("release")) {
+ return project.ext.baseVersion
+ }
+
+ return project.ext.baseVersion + '-SNAPSHOT'
+}
+
+version = getVersion()
+group = 'com.android.tools.lint'
+archivesBaseName = 'lint-checks'
+
+sourceSets {
+ main {
+ java {
+ srcDir 'src'
+ }
+ resources {
+ srcDir 'src'
+ }
+ }
+ test {
+ java {
+ srcDir 'tests/src'
+ }
+ resources {
+ srcDir 'tests/src'
+ }
+ }
+}
+
+uploadArchives {
+ repositories {
+ mavenDeployer {
+ beforeDeployment { MavenDeployment deployment ->
+ if (!project.has("release")) {
+ throw new StopExecutionException("uploadArchives must be called with the release.gradle init script")
+ }
+
+ signing.signPom(deployment)
+ }
+
+ repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
+ authentication(userName: sonatypeUsername, password: sonatypePassword)
+ }
+
+ pom.project {
+ name 'Android Lint Checks'
+ description 'Checks for Android Lint'
+ url 'http://tools.android.com'
+ inceptionYear '2007'
+
+ licenses {
+ license {
+ name 'The Apache Software License, Version 2.0'
+ url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ distribution 'repo'
+ }
+ }
+
+ scm {
+ url "https://android.googlesource.com/platform/sdk"
+ connection "git://android.googlesource.com/platform/sdk.git"
+ }
+ developers {
+ developer {
+ name 'The Android Open Source Project'
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/AbstractCheckTest.java b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/AbstractCheckTest.java
index 9826398..e7774f5 100644
--- a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/AbstractCheckTest.java
+++ b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/AbstractCheckTest.java
@@ -245,6 +245,7 @@ public abstract class AbstractCheckTest extends TestCase {
}
Files.copy(new InputSupplier<InputStream>() {
+ @Override
public InputStream getInput() throws IOException {
return contents;
}
@@ -436,38 +437,20 @@ public abstract class AbstractCheckTest extends TestCase {
@Override
public File findResource(String relativePath) {
if (relativePath.equals("platform-tools/api/api-versions.xml")) {
- CodeSource source = getClass().getProtectionDomain().getCodeSource();
- if (source != null) {
- URL location = source.getLocation();
- try {
- File dir = new File(location.toURI());
- assertTrue(dir.getPath(), dir.exists());
- File sdkDir = dir.getParentFile().getParentFile().getParentFile()
- .getParentFile().getParentFile().getParentFile();
- File file = new File(sdkDir, "development" + File.separator + "sdk"
- + File.separator + "api-versions.xml");
- return file;
- } catch (URISyntaxException e) {
- fail(e.getLocalizedMessage());
- }
+ File rootDir = getRootDir();
+ if (rootDir != null) {
+ File file = new File(rootDir, "development" + File.separator + "sdk"
+ + File.separator + "api-versions.xml");
+ return file;
}
} else if (relativePath.startsWith("tools/support/")) {
String base = relativePath.substring("tools/support/".length());
- CodeSource source = getClass().getProtectionDomain().getCodeSource();
- if (source != null) {
- URL location = source.getLocation();
- try {
- File dir = new File(location.toURI());
- assertTrue(dir.getPath(), dir.exists());
- File sdkDir = dir.getParentFile().getParentFile().getParentFile()
- .getParentFile().getParentFile().getParentFile();
- File file = new File(sdkDir, "sdk" + File.separator + "files"
- + File.separator + "typos"
- + File.separator + base);
- return file;
- } catch (URISyntaxException e) {
- fail(e.getLocalizedMessage());
- }
+ File rootDir = getRootDir();
+ if (rootDir != null) {
+ File file = new File(rootDir, "sdk" + File.separator + "files"
+ + File.separator + "typos"
+ + File.separator + base);
+ return file;
}
} else {
fail("Unit tests don't support arbitrary resource lookup yet.");
@@ -477,6 +460,37 @@ public abstract class AbstractCheckTest extends TestCase {
}
}
+ /**
+ * Returns the Android source tree root dir.
+ * @return the root dir or null if it couldn't be computed.
+ */
+ private File getRootDir() {
+ CodeSource source = getClass().getProtectionDomain().getCodeSource();
+ if (source != null) {
+ URL location = source.getLocation();
+ try {
+ File dir = new File(location.toURI());
+ assertTrue(dir.getPath(), dir.exists());
+ File rootDir = dir.getParentFile().getParentFile().getParentFile()
+ .getParentFile().getParentFile().getParentFile();
+
+ // check if "settings.gradle" is there. This will let us know if we need
+ // to go up one extra level, which is the case when running the tests
+ // from gradle.
+ File settingsGradle = new File(rootDir, "settings.gradle"); //$NON-NLS-1$
+ if (settingsGradle.isFile()) {
+ rootDir = rootDir.getParentFile();
+ }
+
+ return rootDir;
+ } catch (URISyntaxException e) {
+ fail(e.getLocalizedMessage());
+ }
+ }
+
+ return null;
+ }
+
public class TestConfiguration extends Configuration {
@Override
public boolean isEnabled(Issue issue) {