Merge remote-tracking branch 'origin/eclipse-integration'
This commit is contained in:
commit
1e860374e2
3 changed files with 123 additions and 2 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -27,6 +27,10 @@ pom.xml.*
|
||||||
.settings
|
.settings
|
||||||
.metadata
|
.metadata
|
||||||
|
|
||||||
|
#Eclipse/Gradle integration
|
||||||
|
libs
|
||||||
|
project.properties
|
||||||
|
|
||||||
#IntelliJ IDEA
|
#IntelliJ IDEA
|
||||||
.idea
|
.idea
|
||||||
*.iml
|
*.iml
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
apply from: 'copyLibs.gradle' // enable 'copyLibs.gradle' script plugin
|
||||||
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 19
|
compileSdkVersion 19
|
||||||
buildToolsVersion "19.1.0"
|
buildToolsVersion "19.1.0"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.zeapo.pwdstore"
|
applicationId "com.zeapo.pwdstore"
|
||||||
minSdkVersion 15
|
minSdkVersion 15
|
||||||
|
@ -23,7 +24,7 @@ repositories {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
//compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
compile project(':libraries:openpgp-api-lib')
|
compile project(':libraries:openpgp-api-lib')
|
||||||
compile 'org.eclipse.jgit:org.eclipse.jgit:3.4.1.+'
|
compile 'org.eclipse.jgit:org.eclipse.jgit:3.4.1.+'
|
||||||
compile 'org.apache.commons:commons-io:1.3.2'
|
compile 'org.apache.commons:commons-io:1.3.2'
|
||||||
|
@ -31,3 +32,8 @@ dependencies {
|
||||||
transitive = true
|
transitive = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
tasks.findAll { // make all tasks whose name starts with 'assemble'...
|
||||||
|
it.name.startsWith 'assemble'
|
||||||
|
}.each { // ... depending on 'copyDependenciesIntoLibs' task from 'copyLibs.gradle' script plugin
|
||||||
|
it.dependsOn copyDependenciesIntoLibs
|
||||||
|
}
|
||||||
|
|
111
app/copyLibs.gradle
Normal file
111
app/copyLibs.gradle
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
class CopyJars extends DefaultTask {
|
||||||
|
|
||||||
|
@InputFiles
|
||||||
|
FileCollection source
|
||||||
|
|
||||||
|
@OutputDirectory
|
||||||
|
File destination
|
||||||
|
|
||||||
|
@TaskAction
|
||||||
|
void apply() {
|
||||||
|
project.copy {
|
||||||
|
from source
|
||||||
|
into destination
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ExtractAars extends DefaultTask {
|
||||||
|
|
||||||
|
@Input
|
||||||
|
boolean extractJarsOnly = false
|
||||||
|
|
||||||
|
@InputFiles
|
||||||
|
FileCollection source
|
||||||
|
|
||||||
|
@OutputDirectory
|
||||||
|
File destination
|
||||||
|
|
||||||
|
@TaskAction
|
||||||
|
void apply() {
|
||||||
|
source.each { File file ->
|
||||||
|
def baseFilename = file.name.lastIndexOf('.').with {
|
||||||
|
it != -1 ? file.name[0..< it] : file.name
|
||||||
|
}
|
||||||
|
|
||||||
|
if (extractJarsOnly) {
|
||||||
|
project.copy {
|
||||||
|
from project.zipTree(file)
|
||||||
|
include 'classes.jar'
|
||||||
|
into destination.name
|
||||||
|
rename {
|
||||||
|
String fileName -> fileName.replace('classes.jar', baseFilename + '.jar')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
project.copy {
|
||||||
|
from project.zipTree(file)
|
||||||
|
exclude 'classes.jar'
|
||||||
|
into destination.absolutePath + File.separator + baseFilename
|
||||||
|
}
|
||||||
|
|
||||||
|
project.copy {
|
||||||
|
from project.zipTree(file)
|
||||||
|
include 'classes.jar'
|
||||||
|
into destination.absolutePath + File.separator + baseFilename +
|
||||||
|
File.separator + destination.name
|
||||||
|
rename {
|
||||||
|
String fileName -> fileName.replace('classes.jar', baseFilename + '.jar')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task ('copyJarDependenciesIntoLibs', type: CopyJars) {
|
||||||
|
|
||||||
|
description = 'Used for Eclipse. Copies JAR dependencies to the libs directory.'
|
||||||
|
|
||||||
|
destination = file(project.projectDir.canonicalPath + File.separator + 'libs')
|
||||||
|
|
||||||
|
afterEvaluate {
|
||||||
|
source = files(
|
||||||
|
project.configurations.matching {
|
||||||
|
it.name.endsWith 'Compile' or it.name == 'compile'
|
||||||
|
}.each {
|
||||||
|
logger.info "Adding dependencies from ${it.name} configuration."
|
||||||
|
}
|
||||||
|
).filter {
|
||||||
|
it.name.endsWith 'jar'
|
||||||
|
}
|
||||||
|
logger.info source.files.toString()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task ('extractAarDependenciesIntoLibs', type: ExtractAars) {
|
||||||
|
|
||||||
|
description = 'Used for Eclipse. Extracts AAR dependencies into the libs directory.'
|
||||||
|
|
||||||
|
destination = file(project.projectDir.canonicalPath + File.separator + 'libs')
|
||||||
|
|
||||||
|
afterEvaluate {
|
||||||
|
source = files(
|
||||||
|
project.configurations.matching {
|
||||||
|
it.name.endsWith 'Compile' or it.name == 'compile'
|
||||||
|
}.each {
|
||||||
|
logger.info "Adding dependencies from ${it.name} configuration."
|
||||||
|
}
|
||||||
|
).filter {
|
||||||
|
it.name.endsWith 'aar'
|
||||||
|
}
|
||||||
|
logger.info source.files.toString()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task copyDependenciesIntoLibs {
|
||||||
|
dependsOn copyJarDependenciesIntoLibs, extractAarDependenciesIntoLibs
|
||||||
|
description = 'Used for Eclipse. Copies JAR and extracts AAR dependencies into the libs ' +
|
||||||
|
'directory.'
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue