diff options
author | Xavier Ducrohet <xav@android.com> | 2012-10-19 14:48:42 -0700 |
---|---|---|
committer | Xavier Ducrohet <xav@android.com> | 2012-10-19 16:14:05 -0700 |
commit | 677ccee3ffa11c71942f3e2bf59e0981aeaac5ea (patch) | |
tree | fe586f8e94efa9f583d6a1e362d22d1e3f53e006 /lint | |
parent | 7a359895f07d5e6e508bb8b8502f5fd52d69e979 (diff) | |
download | sdk-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/.gitignore | 3 | ||||
-rw-r--r-- | lint/cli/build.gradle | 85 | ||||
-rw-r--r-- | lint/libs/lint_api/build.gradle | 76 | ||||
-rw-r--r-- | lint/libs/lint_checks/build.gradle | 82 | ||||
-rw-r--r-- | lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/AbstractCheckTest.java | 72 |
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) { |