apply plugin: 'com.android.tools.java-library'
apply plugin: 'sdk-java-lib'

group = 'com.android.tools'
archivesBaseName = 'archquery'
version = rootProject.ext.baseVersion

// configure the manifest of the sdkJar task.
sdkJar.manifest.attributes('Main-Class': 'com.android.archquery.Main')

task archQueryStartScripts(type: CreateStartScripts) {
    classpath = project.getTasks().getAt(JavaPlugin.JAR_TASK_NAME).getOutputs().getFiles().plus(
            project.getConfigurations().getByName('runtimeClasspath'))
    outputDir new File(project.getBuildDir(), 'scripts')

    description 'Creates OS specific scripts to start archQuery'
    mainClass.set('com.android.archquery.Main')
    applicationName = 'archquery'
}


sdk {
    common(mac, linux) {
        item(new File(buildDir, 'scripts/archquery')) {
            into 'bin'
            builtBy 'archQueryStartScripts'
        }
    }
    windows {
        item(new File(buildDir, 'scripts/archquery.bat')) {
            into 'bin'
            builtBy 'archQueryStartScripts'
        }
    }
}

jar {
    from 'NOTICE'
}
